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