[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: xsl:number on attribute nodes..
This is a bug in Saxon 6.x Oddly, Saxon 6.5.4 fixed a bug relating to the use of <xsl:number level="any"/> when numbering attributes, but didn't fix the much simpler case of <xsl:number level="single"/>. For level="single" (without any from or count attribute, or in the case where the count pattern matches the context node) the answer should always be 1, because an attribute has no preceding siblings. I suspect that I originally implemented the restriction in the code because I felt that the specification was unclear, but reading it again I can't see any cause for doubt as to what the results should be. I can't imagine any circumstance in which numbering attributes with level="single" gives a useful result, but the result is well-defined and Saxon is wrong to disallow it. With level="any", I think the XSLT 1.0 spec is slighly ambiguous: does the phrase: "the set containing the current node and all nodes ... that are before the current node ... excluding any namespace and attribute nodes" mean (a) "the set containing the current node and (all nodes ... that are before the current node ... excluding any namespace and attribute nodes)" or does it mean (b) "(the set containing the current node and all nodes ... that are before the current node ...) excluding any namespace and attribute nodes" The XSLT 2.0 spec selects interpretation (a). I will publish details of this bug in http://saxon.sourceforge.net/saxon6.5.4/limitations.html Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Jack Matheson [mailto:jack@xxxxxxxxxxxxxx] > Sent: 09 August 2005 16:35 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: xsl:number on attribute nodes.. > > Can anyone tell me the correct action to take when xsl:number is > executed and the current node is an attribute? > > I have a quick example: > > <?xml version='1.0'?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > <xsl:template match="/"> > <xsl:apply-templates select="//@* | //*"/> > </xsl:template> > > <xsl:template match="@* | *"> > <xsl:number count="@* | *"/> > </xsl:template> > </xsl:stylesheet> > > Saxon 6.5.4 gives me the following error: > Error at xsl:number on line 8 of file:test.xsl: > Attribute nodes cannot be numbered > Transformation failed: Run-time errors were reported > > Xalan 2.7 produces the following output: > <?xml version="1.0" encoding="UTF-8"?>11 > > Is this an "up-to-the-implementer" case? > > Any help would be appreciated! > > -Jack
|
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
|