Subject: Re: [xsl] Recursive apply-templates From: "James A. Robinson" <jimr@xxxxxxxxxxxxxxxxxxxxx> Date: Wed, 05 May 2004 08:40:57 -0700 |
> How do I write a template match so that all the output > XML looks exactly like the input XML. I do not know > how to recursively use apply-templates. Can someone help? A template which I've often found useful is: <?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'> <xsl:output encoding='UTF-8' method='xml'/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:copy-of select="@*" /> <xsl:apply-templates select="node()" /> </xsl:copy> </xsl:template> <!-- ... --> </xsl:stylesheet> This recursively copies the input XML to the output, but also allows you to add new xsl:template matches to override certain copies. Basically, as long as you make sure to use xsl:apply-templates instead of xsl:copy-of, you know you can override handling of select elements at will. Jim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - James A. Robinson jim.robinson@xxxxxxxxxxxx Stanford University HighWire Press http://highwire.stanford.edu/ 650-723-7294 (W) 650-725-9335 (F)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Recursive apply-templates, Mukul Gandhi | Thread | [xsl] Compute sum of a computed nod, vsubramanian |
Re: [xsl] Recursive apply-templates, Mukul Gandhi | Date | Re: [xsl] [solved]Generating a tree, Wendell Piez |
Month |