#754 xslt2: calloutlist numbers are not reset to 1.

output: HTML
open
Norman Walsh
XSL2 (13)
5
2011-10-23
2006-03-27
Mark Flacy
No

Running the attached file through the Saxon 8.7j
processor and the xsl2 html style sheets should
illustrate the problem. No customization layer was used.

The problem may exist in other output formats, but I
haven't tested them.

Discussion

  • Mark Flacy
    Mark Flacy
    2006-03-27

    A sample file which should make the problem clear.

     
    Attachments
  • Mark Flacy
    Mark Flacy
    2006-04-01

    Logged In: YES
    user_id=1344993

    Changing ...

    <xsl:template match="db:co" mode="m:callout-bug">
    <xsl:call-template name="t:callout-bug">
    <xsl:with-param name="conum">
    <xsl:number count="db:co"
    level="any"
    format="1"/>
    </xsl:with-param>
    </xsl:call-template>
    </xsl:template>

    ...to...

    <xsl:template match="db:co" mode="m:callout-bug">
    <xsl:call-template name="t:callout-bug">
    <xsl:with-param name="conum">
    <xsl:number count="db:co"
    level="single"
    format="1"/>
    </xsl:with-param>
    </xsl:call-template>
    </xsl:template>

    ...in html/callouts.xsl fixed the renumbering problem in my
    document. I haven't analyzed *why* it works and recommend
    that someone who knows XSLT 2.0 double check that change.

     
  • Norman Walsh
    Norman Walsh
    2006-04-19

    • assigned_to: nobody --> nwalsh
     
  • Norman Walsh
    Norman Walsh
    2006-04-19

    Logged In: YES
    user_id=81663

    I think there's a Saxon bug here somewhere. I've sent a
    message off to Michael Kay.

     
  • Mark Flacy
    Mark Flacy
    2006-12-12

    Logged In: YES
    user_id=1344993
    Originator: YES

    BTW, the problem still exists with SaxonB8-8 and the Dec 4, 2006 XSL2 stylesheets.

     
    • summary: calloutlist numbers are not reset to 1. --> xslt2: calloutlist numbers are not reset to 1.
     
  • This bug is still present in the new XSLT 2 stylesheets at http://docbook.github.com/.
    The fix suggested five years ago works for me: change level="any" to level="single" in <xsl:number>.