[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: recursivly applying a transform to a result tree
> This works with processors which support XSLT1.1, for example with > Saxon 6.2.2. NB, XSLT 1.1 is not a recommendation yet. For other > processors you may be able to use the extension function node-set(). > > Is this of any help? > > Regards, > Trevor Nash Thanks, This does help. At least I can get my example to work with: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="a"> <b><c> <xsl:apply-templates /> </c></b> </xsl:template> <xsl:template match="modifyA> <xsl:variable name="tree"> <xsl:apply-templates/> </xsl:variable> <xsl:apply-templates select="$tree" /> </xsl:template> <xsl:template match="b/c"> <d> <xsl:apply-templates /> </d> </xsl:template> </xsl:stylesheet> So that <a/> gives <b><c/><b>, and <modifyA><a/></modifyA> gives <d /> But this gives the next problem that if the input already has b/c it also will be transformed to <d />. This I solved by using mode="tree" in the <xml:apply templates select="$tree" /> and the <xsl:templates match="b/c">. It works, but I'm not really charmed about the solution. I also read something in the XSLT1.1 spec that the result tree fragments were going to be removed ? But I'm not sure (I'm not getting any response from w3c.org so I can't look it up). If they remove this feature, I hope they will add a slightly more elegant way to apply templates to result tree fragment. Regards, Marco Voetberg XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|