Subject: Re: [xsl] The identity transform and attributes From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Mon, 21 Jan 2008 06:11:58 -0800 |
> ...and we should perhaps re-learn the identity transform for 2.0 as: > > > <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> > > ...which might make attribute processing more intuitive for future xslt'ers. > Of course, if someone needs to process namespace nodes, the code above would not help. In this case we need use: <xsl:element> <!-- then <xsl:copy-of> only selected namespace-nodes --> <!-- then (probably) placing other namespace nodes --> <!-- then do the rest of the processing --> </xsl:element> -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play On Jan 21, 2008 6:01 AM, Andrew Welch <andrew.j.welch@xxxxxxxxx> wrote: > > On 21/01/2008, Abel Braaksma <abel.online@xxxxxxxxx> wrote: > > My intuition is the same as yours ;) I understand the reasoning behind > > the decisions, but I find myself doing a lot of extra work when I am > > dealing with attributes. > > That describes it nicely. Although I've been working with this for > years now, I still rarely get it right the first time around when > comes to attributes. > > So for a bit of a summary - 2.0 makes things much simpler (as usual ): > > To process all attributes except one: > > @* except @foo > > To check if the current attribute is a particular one: > > test="self::attribute(foo)" > > ...and we should perhaps re-learn the identity transform for 2.0 as: > > > <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> > > ...which might make attribute processing more intuitive for future xslt'ers. > > > > -- > Andrew Welch > http://andrewjwelch.com > Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] The identity transform an, Andrew Welch | Thread | Re: [xsl] The identity transform an, Jesper Tverskov |
Re: [xsl] The identity transform an, Andrew Welch | Date | Re: [xsl] The identity transform an, Jesper Tverskov |
Month |