I've done this in the past by merging the two XML documents - basically
inserting the specification (your attributes node) into the XML document to
be processed as a child of the documentElement (that can be readily
identified by name), then using XPaths to get at the variables.
Post-transform, strip out the spec node (if you need to preserve or further
process the XML document). Don't know the syntax for Xalan-J - but I'm
assuming there's something equivilent to appendChild() and removeChild().
~Duane
----- Original Message -----
From: "Martin Heiden" <martin(_dot_)heiden(_at_)netcologne(_dot_)de>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Saturday, April 28, 2007 10:44 AM
Subject: [xsl] Evaluating condition strings
Hi!
I've got a XML doc which contains a description of a final document. This
XML doc uses tags that handle conditions:
<if condition="var1 = true or var2 < 5 and var3 = 'ok'">
<then>
text
</then>
<else>
another text
</else>
</if>
the variables are available in another XML doc:
<attributes>
<variable name="var1">false</variable>
<variable name="var2">4</variable>
<variable name="var3">ok</variable>
</attributes>
I think I could evaluate the conditions by writing an extension for the
xslt processor (I'm using Xalan-J) or parsing the conditions before the
transformation process (maybe with a dynamic language like groovy because
the variables are not typed.).
Could it be done with pure XSLT? What approach would you recommend?
TIA
Martin
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--