Subject: [xsl] simple XPath question From: "Chris Nolte" <nolte@xxxxxxxxxxxxxxx> Date: Mon, 2 Jul 2001 13:47:29 -0700 |
I am trying to work through an example in Khun Yee Fung's XSLT book. It is not giving me the solution he claims it should, but I do not understand why not. Here is the sample XML: <?xml version='1.0'?> <warehouse> <item> <name>orange</name> <country>US</country> </item> <item> <name>ice wine</name> <country>Canada</country> </item> </warehouse> And here is the stylesheet: <?xml version='1.0'?> <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:output method='xml' indent='yes'/> <xsl:template match='/'> <xsl:apply-templates/> </xsl:template> <xsl:template match='warehouse'> <storage> <xsl:apply-templates select='item/country'/> </storage> </xsl:template> <xsl:template match='country'> <xsl:copy-of select='.'/> </xsl:template> <xsl:template match='country[1]'> <first-country> <xsl:copy-of select='.'/> </first-country> </xsl:template> </xsl:stylesheet> The output I am getting [using Saxon] is: <?xml version="1.0" encoding="utf-8"?> <storage> <first-country> <country>US</country> </first-country> <first-country> <country>Canada</country> </first-country> </storage> i.e., the first-country template is getting matched both times, even though the XPath expression uses country[1]. What seems strange to me is that when I include the line <xsl:copy-of select='position()'/> at the beginning of the template matching country[1], I get a 1 and a 2. I believe I am supposed to get: <storage> <first-country> <country>US</country> </first-country> <country>Canada</country> </storage> Am I doing something wrong, or is the example in Fung's book (Chapter 6, p. 149) wrong? How should the stylesheet be structured to get the intended output? Chris XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] given @id="1.2.3" .... -1, Jeni Tennison | Thread | Re: [xsl] simple XPath question, Wendell Piez |
Re: [xsl] given @id="1.2.3" .... -1, Anthony E. | Date | RE: [xsl] given @id="1.2.3" .... -1, Chris Bayes |
Month |