[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: An xsl:number problem

Subject: Re: An xsl:number problem
From: XemonerdX <xemonerdx@xxxxxxxxx>
Date: Thu, 10 Jul 2008 11:40:23 +0200
Re:  An xsl:number problem
Xalan 1.9 returns the following:
<?xml version="1.0" encoding="UTF-8"?>
<doc nr="0">
 <a mark="true" nr="0"/>
 <a nr="2"/>
 <a nr="3"/>
 <a nr="4"/>
 <a mark="true" nr="0"/>
 <a nr="6"/>
 <a nr="7"/>
 <a nr="8"/>
</doc>

Edwin

On Thu, Jul 10, 2008 at 10:57 AM, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> I've raised a bug report against the spec on this one, but I would be
> interested to know how various processors handle it. Please try it and
> report the results. The bug report is at
>
> http://www.w3.org/Bugs/Public/show_bug.cgi?id=5849
>
> Source document:
>
> <?xml version="1.0"?>
> <doc>
>  <a mark="true"/>
>  <a/>
>  <a/>
>  <a/>
>  <a mark="true"/>
>  <a/>
>  <a/>
>  <a/>
> </doc>
>
> Stylesheet:
>
> <?xml version="1.0"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="2.0">
> <xsl:output indent="yes"/>
>
> <xsl:template match="*">
>  <xsl:copy>
>    <xsl:copy-of select="@*"/>
>    <xsl:attribute name="nr">
>      <xsl:number from="a[@mark='true']" count="a" level="any"/>
>    </xsl:attribute>
>    <xsl:apply-templates/>
>  </xsl:copy>
> </xsl:template>
>
> </xsl:stylesheet>
>
> The output of Saxon 9.1 and other recent releases is clearly wrong, and is
> being fixed by a patch. After correction, the output is still strange, but I
> believe it is correct according to the spec:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <doc nr="">
>  <a mark="true" nr=""/>
>  <a nr="2"/>
>  <a nr="3"/>
>  <a nr="4"/>
>  <a mark="true" nr="5"/>
>  <a nr="2"/>
>  <a nr="3"/>
>  <a nr="4"/>
> </doc>
>
> This is the Saxon 6.5.5 output:
>
> <?xml version="1.0" encoding="utf-8"?>
> <doc nr="">
>   <a mark="true" nr="1"/>
>   <a nr="1"/>
>   <a nr="2"/>
>   <a nr="3"/
>   <a mark="true" nr="4"/>
>   <a nr="1"/>
>   <a nr="2"/>
>   <a nr="3"/>
> </doc>
>
> The 1.0 spec is so terse that it's quite hard to decide whether this is
> correct or not, but it's certainly not intuitive.
>
> I would be interested to know what other XSLT 1.0 or 2.0 processors do with
> this one.
>
> I think the intuitively correct result is:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <doc nr="">
>  <a mark="true" nr="1"/>
>  <a nr="2"/>
>  <a nr="3"/>
>  <a nr="4"/>
>  <a mark="true" nr="1"/>
>  <a nr="2"/>
>  <a nr="3"/>
>  <a nr="4"/>
> </doc>
>
> Do you agree?
>
> Michael Kay
> http://www.saxonica.com/
>
>



-- 
Edwin
PoeticTerror.Com

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.