[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Question about the key() function
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|