[xsl] Identity and Modified identity transforms

Subject: [xsl] Identity and Modified identity transforms
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Mon, 3 Dec 2007 10:18:41 +0000
On 02/12/2007, Florent Georges <lists@xxxxxxxxxxxx> wrote:
> you can use the Modified Identity pattern as following.  Take
> care to correctly handle the namespace bindings.
[snip]
>    <xsl:template match="node()">
>       <xsl:copy>
>          <xsl:copy-of select="@*"/>
>          <xsl:apply-templates select="node()"/>
>       </xsl:copy>
>    </xsl:template>

Hi Florent,

I've aways considered the "Modified Identity" pattern to be the
identity template that walks the following sibling axis:

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

(see http://biglist.com/lists/xsl-list/archives/200612/msg00373.html)

These are two definite patterns - what is the concencus of the list is
for the names of the two types?

I know them as "identity" and "modified identity"... (the latter not
being great if a third type comes along, but acceptable if it's
already gained widespread acceptance)


cheers
-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread