[xsl] Value of <id> element not returned

Subject: [xsl] Value of <id> element not returned
From: aspsa <aspsa@xxxxxxxxxxxxx>
Date: Sun, 03 Apr 2005 15:52:49 -0400
Hi, folks.

I have the following stylesheet.

============================================================================
===
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
  <xsl:key name="x" match="address" use="zip"/>

  <xsl:template match="/">
    <root>
      <countMethod>
        <xsl:apply-templates mode="item-detail"
select="addressbook/address[count(. | key('x', zip)[1])=1]"/>
      </countMethod>
    </root>
  </xsl:template>

  <xsl:template match="address" mode="item-detail">
    <Name>
      <xsl:value-of select="id"/>
      <xsl:text>, </xsl:text>
      <xsl:value-of select="name/last-name"/>
      <xsl:text>, </xsl:text>
      <xsl:value-of select="zip"/>
    </Name>
  </xsl:template>

</xsl:stylesheet>

Here's a snippet of the XML document to be transformed.

<?xml version="1.0" encoding="UTF-8"?>
<addressbook>
  <address>
    <name>
      <first-name>Mary</first-name>
      <last-name>Backstayge</last-name>
    </name>
    <street>283 First Avenue</street>
    <city>Skunk Haven</city>
    <state>MA</state>
    <zip>02718</zip>
    <id>10</id>
  </address>
... (etc) ...
============================================================================
===

For some reason the value of <id> is not returned. Here's the output, as it
reflects the entire XML source document.

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <countMethod>
    <Name>, Frisby, 48392</Name>
    <Name>, Backstayge, 02718</Name>
    <Name>, Attired, 00218</Name>
    <Name>, McGoon, 27318</Name>
    <Name>, Reckonwith, 02930</Name>
  </countMethod>
</root>

Does anyone know why the <id> element values are not returned?

Thanks.


Respectfully,

ASP

Current Thread