Tempore 21:48:36, die 09/13/2005 AD, hinc in
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com scripsit Joris Gillis
<roac(_at_)pandora(_dot_)be>:
Given these possible variations and based on some processing elsewhere
in the document, I would like to make sure that <node> always has
<item>B</item> in its list...possibly adding <list> if it is not
present.
If there are no comments or processing-instruction in your xml, than you might
write that even more concise:
<xsl:stylesheet version="1.0" xmlns:var="myvar"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<var:root>
<list>
<item>B</item>
</list>
</var:root>
<xsl:variable name="var" select="document('')/xsl:stylesheet/var:root/*"/>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:copy-of select="@*" />
<xsl:apply-templates select="
$var[current()/self::node][not(current()/list)]|
$var[current()/self::list]/item[not(.=current()/item)]|
node()" />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
--
Joris Gillis (http://users.telenet.be/root-jg/me.html)
«Et ipsa scientia potestas est» - Francis Bacon , Meditationes sacrae
--~------------------------------------------------------------------
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>
--~--