Subject: Re: [xsl] Understanding Identity Transformations From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Sat, 12 Feb 2005 17:05:50 +1100 |
Read a good book and also these examples from Dave Pawson's XSL-FAQ: http://www.dpawson.co.uk/xsl/sect2/identity.html http://www.dpawson.co.uk/xsl/sect2/N1930.html Cheers, Dimitre Novatchev On Fri, 11 Feb 2005 15:56:58 -0700, Karl Stubsjoen <kstubs@xxxxxxxxx> wrote: > Seems like this is pretty standard: > > SAMPLE_001: > <xsl:template match="node()|@*"> > <xsl:copy> > <xsl:apply-templates select="@*"/> > <xsl:apply-templates/> > </xsl:copy> > </xsl:template> > > But then I've also seen this: > > SAMPLE_002: > <xsl:template match="/ | @* | node()"> > <xsl:copy> > <xsl:apply-templates select="@* | node()"/> > </xsl:copy> > </xsl:template> > > How do they compare? I make not of the SAMPLE_001 within the xsl:copy > there are 2 apply templates, what does each do? > > Then, understanding what is happening, is the following sample true > that this will strip an XML doc of all attribute elements? > > SAMPLE_003: > <xsl:template match="*"> > <xsl:copy> > <xsl:apply-templates select="*"/> > </xsl:copy> > </xsl:template> > > And finally, when I identity transform the following my document i > quadrupled in size, but I though I was following standard practices > from previous example. > > SAMPLE_004: > <xsl:template match="*"> > <xsl:copy> > <xsl:apply-templates select="*"/> > <xsl:apply-templates /> > </xsl:copy> > </xsl:template> > > Ahh, I think I understand what is going on in SAMPLE_004 (please > confirm) I am basically applying templates for all nodes twice and in > the case of lets say SAMPLE_001 the first apply-templates simply gets > all attributes, the 2nd then gets all nodes. We'd call this a > recursive call on the node set? > > Karl
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Understanding Identity Transf, Karl Stubsjoen | Thread | Re: [xsl] Understanding Identity Tr, Joris Gillis |
[xsl] Summing grouped elements, Marcos Hercules dos | Date | [xsl] Introduction of Mine, Dhiraviyam K. |
Month |