[xsl] identity transform styles (was "Re [xsl] Change xml:lang ...")

Subject: [xsl] identity transform styles (was "Re [xsl] Change xml:lang ...")
From: Syd Bauman <Syd_Bauman@xxxxxxxxx>
Date: Thu, 15 Oct 2009 13:58:58 -0400
Michael --

So you're saying that you prefer

  <xsl:template match="*">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates select="node()"/>
    </xsl:copy>
  </xsl:template>

to

  <xsl:template match="@*|*">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

for the cases where attribute processing is minimal, right? May I ask
if that is because it's more efficient, more elegant, more XSLT-ish,
or just personal preference?

Thanks!

-- Syd, who always uses:

  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

> Note, I generally use the element-only form of identity template
> rather than the elements-and-attributes form in the common case
> where all existing attributes are to be copied to the output,
> without exception: or, as here, where the exception is easily
> accommodated.

Current Thread