Subject: [xsl] Question about the key() function From: aspsa <aspsa@xxxxxxxxxxxxx> Date: Fri, 13 May 2005 17:13:56 -0400 |
Hi, folks. Given this document... <?xml version="1.0" encoding="UTF-8"?> <addressbook> <address> <name> <title>Mr.</title> <first-name>Chester Hasbrouck</first-name> <last-name>Frisby</last-name> </name> <street>1234 Main Street</street> <city>Sheboygan</city> <state>WI</state> <zip>48392</zip> <id>1</id> </address> <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> <address> <name> <title>Ms.</title> <first-name>Natalie</first-name> <last-name>Attired</last-name> </name> <street>707 Breitling Way</street> <city>Winter Harbor</city> <state>ME</state> <zip>00218</zip> <id>2</id> </address> <address> <name> <first-name>Harry</first-name> <last-name>Backstayge</last-name> </name> <street>283 First Avenue</street> <city>Skunk Haven</city> <state>MA</state> <zip>02718</zip> <id>20</id> </address> <address> <name> <first-name>Mary</first-name> <last-name>McGoon</last-name> </name> <street>103 Bryant Street</street> <city>Boylston</city> <state>VA</state> <zip>27318</zip> <id>300</id> </address> <address> <name> <title>Ms.</title> <first-name>Amanda</first-name> <last-name>Reckonwith</last-name> </name> <street>930-A Chestnut Street</street> <city>Lynn</city> <state>MA</state> <zip>02930</zip> <id>31</id> </address> </addressbook> ...and this XSLT document... <?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="/"> <keyNode> <xsl:apply-templates select="key('x',addressbook/address/zip)" /> </keyNode> </xsl:template> <xsl:template match="address"> <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> ...why does the output repeat nodes containing id values 10 and 20? <?xml version="1.0" encoding="UTF-8"?> <keyNode> <Name>1, Frisby, 48392</Name> <Name>10, Backstayge, 02718</Name> <Name>10, Backstayge, 02718</Name> <Name>2, Attired, 00218</Name> <Name>20, Backstayge, 02718</Name> <Name>20, Backstayge, 02718</Name> <Name>300, McGoon, 27318</Name> <Name>31, Reckonwith, 02930</Name> </keyNode> Respectfully, ASP
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] A parameter current conte, Michael Kay | Thread | RE: [xsl] Question about the key() , Michael Kay |
RE: [xsl] A parameter current conte, Michael Kay | Date | RE: [xsl] Using <xsl:for-each> and , David Gadd |
Month |