xsl-list
[Top] [All Lists]

Re: [xsl] The identity transform and attributes

2008-01-21 07:01:39
On 21/01/2008, Abel Braaksma <abel(_dot_)online(_at_)xs4all(_dot_)nl> 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/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--