Conditional actions in XSL?
Richard Light
richard at light.demon.co.uk
Wed Jan 28 14:42:06 GMT 1998
In message <3.0.1.16.19980128075314.31f79096 at pop3.demon.co.uk>, Peter
Murray-Rust <peter at ursus.demon.co.uk> writes
>>>>Can any knowledgeable people help me clarify the followings:
>>>>
>>>>1. Does XSL supports either the above 2 scenarios (i.e. condition in
>>action
>>>>rules or processing descendants in scripts). I may overlook something.
>>>>
>>>>2. If neither of above is available in XSL, what are the good work around?
>>>>Will my 'hacking' work?
I don't know if a knowledgeable person can help, but meanwhile I'll have
a go ...
The conditions for XSL are set by the structure that you specify, e.g.:
<element type="object">
<target-element>
<attribute name="REND" has-value="yes"/>
</target-element>
</element>
defines the target elements for a rule as being those elements which are
children of an "object" element, and which have a value set for their
"REND" attribute. If the condition matches for an element, the rule
fires. This is a pretty powerful mechanism, although it doesn't do the
'else' case you mention - that has to be another rule (perhaps a more
general rule - only the most 'specific' rule (3.2.6) applies to each
element).
I'm not sure about the ability to invoke a bit of script when testing
the attribute value. The XSL spec allows you to invoke ECMAscript when
_setting_ attribute values on (output) flow objects - there is no reason
at all why it couldn't allow the same feature when _testing_ attribute
values on source elements. (Obviously in this case the script would
have to return true/false rather than a string.)
When trying out a bit of code to show how easy this all is, I couldn't
get MSXSL to take any notice of an <attribute> statement inside a
<target-element> as per the above example. But I think it should have
done!
One point is that the spec uses both 'name="XXX"' and 'type="XXX"' to
qualify <attribute> in its examples in 3.2.3. I think, though, that the
'type="XXX"' is an error. (Neither worked with MSXSL.)
Any more knowledgeable people out there?
Richard.
Richard Light
SGML/XML and Museum Information Consultancy
richard at light.demon.co.uk
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list