xsl-list
[Top] [All Lists]

RE: apply templates to all attributes except for one

2006-01-08 07:16:24

Or of course you can write 

<xsl:template match="@foo"/>

with xsl:apply-templates select="@*"

I'm not sure whether that applies to my case, here's the XSLT:

You can use the technique, but you'll need to use different modes for the
two apply-templates calls.

Michael Kay
http://www.saxonica.com/


  <xsl:transform version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
    <xsl:template match="node()|@*">
      <xsl:copy>
        <xsl:apply-templates select="node()|@*"/>
      </xsl:copy>
    </xsl:template>
    <xsl:template match="para[(_at_)foo]">
      <para>
        <xsl:apply-templates
        select="@*[not(local-name()='foo')]"/>
        <bar>
          <xsl:apply-templates select="@foo"/>
        </bar>
        <xsl:apply-templates select="node()"/>
      </para>
    </xsl:template>
    <xsl:template match="para/@foo">
      <xsl:value-of select="."/>
    </xsl:template>
  </xsl:transform>

Tobi

-----Original Message-----
[...]
Hi

In an XSLT I have the following:

  <xsl:apply-templates select="@*[not(local-name()='foo')]"/>

It works. But is there a more elegant (or at least shorter)
way to write this?

Tobi

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





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



<Prev in Thread] Current Thread [Next in Thread>