RE: [xsl] Calculating cumulative values - Abel's solution

Subject: RE: [xsl] Calculating cumulative values - Abel's solution
From: "Simon Shutter" <simon@xxxxxxxxxxx>
Date: Fri, 31 Aug 2007 13:47:22 -0700
Wendell,

Thank you for the carefully worded clarification.  I did experiment with

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

And

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

But the output is unaffected.  Is this because Abel's solution includes a
template for the root element and the identity template is ignored?

Simon 



-----Original Message-----
From: Wendell Piez [mailto:wapiez@xxxxxxxxxxxxxxxx] 
Sent: August 31, 2007 1:23 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] Calculating cumulative values - Abel's solution

At 02:14 PM 8/31/2007, you wrote:
>One day I'll understand the lingo!  What I meant was that I was hoping 
>the output would be identical to the input except for the addition of 
>the new cumulative attributes y2 and y3.  Is this called an "identity 
>transformation"?

Simon,

An identity transformation is one in which the output is identical to the
input, with allowances made for changes that aren't supposed to count, such
as the order of attributes. In other words, "tag fidelity" is not required,
but as far as the XML document-as-tree is concerned, you get out just what
you put in.

While pure identity transforms are sometimes useful (for example, you may
want to transcode character sets), it is much more common to want your
output to be nearly identical, not perfectly identical, to your input, and
indeed such transformations are very common in XSLT. This describes your
case exactly.

These transformations commonly use the "identity template" -- which is one
or another variant of a template that copies a node into the output, and
then applies templates to its children (those who haven't memorized it can
find it easily on the web) -- plus one or two other templates to introduce
just the changes wanted. For this reason, these transforms are often called
"identity transforms" although strictly speaking, they might be better
described as "near-identity transforms" or "modified copying transforms".

Cheers,
Wendell



======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

Current Thread