|
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 |