Subject: RE: [xsl] The identity transform and attributes From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 21 Jan 2008 11:03:06 -0000 |
I wouldn't expect any measurable performance difference, but if you feel it adds clarity (or reusability) then go ahead. Perhaps even more logical would be: <xsl:template match="element()"> <xsl:copy> <xsl:apply-templates select="@*,node()"/> </xsl:copy> </xsl:template> <xsl:template match="attribute()|text()|comment()|processing-instruction()"> <xsl:copy/> </xsl:template> (The "," in place of "|" is a minor optimization that recent Saxon releases do anyway - it avoids an unnecessary merge/deduplication of the sequence of attributes with the sequence of children.) Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx] > Sent: 21 January 2008 10:29 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] The identity transform and attributes > > I'm wondering if the default identity transform should be this: > > <xsl:template match="@*|node()"> > <xsl:copy> > <xsl:apply-templates select="@*|node()"/> > </xsl:copy> > </xsl:template> > > Or this: > > <xsl:template match="node()"> > <xsl:copy> > <xsl:apply-templates select="@*|node()"/> > </xsl:copy> > </xsl:template> > > <xsl:template match="@*"> > <xsl:copy/> > </xsl:template> > > The former is nice and compact, but when the node is an > attribute node does the apply-templates call have any effect > - even if it's a few clock cycles wasted? It's a pointless > instruction at that point. I guess it is too for non-element > node()'s such as whitespace? > > Also, the shallow copy copies the entire attribute, so there > is no opportunity to override the text() of the attribute. > The only way is to add a separate matching template for the > attribute - the latter perhaps makes this a little clearer. > > A useful distinction or a waste of time? :) > > cheers > -- > Andrew Welch > http://andrewjwelch.com > Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] The identity transform and at, Andrew Welch | Thread | Re: [xsl] The identity transform an, Abel Braaksma |
[xsl] The identity transform and at, Andrew Welch | Date | Re: [xsl] The identity transform an, Abel Braaksma |
Month |