Re: [xsl] numbering/count()

Subject: Re: [xsl] numbering/count()
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 20 May 2005 13:43:21 -0400
Bruce,

At 01:28 PM 5/20/2005, I wrote:
At 01:07 PM 5/20/2005, you wrote:
Well I'm obviously not understanding something about context switching
here then, because this yields the same result as my previous example:

  <xsl:function name="bib:footcite" as="xs:string">
    <xsl:param name="footciteable" as="element()"/>
    <xsl:for-each select="$footciteable">
      <xsl:number level="any" select="."/>
    </xsl:for-each>
  </xsl:function>

But there's no "count" attribute on that xsl:number instruction to tell it to number footnotes and citations together. Accordingly, by default it's only counting elements of the same type as the context node. :-)


In XSLT 2.0 the select="." should let to skip the for-each (as you had it before) but you still need count="footnote|citation[not(ancestor::footnote)]".

But actually I think you may need select="$footnoteciteable" (but haven't tried it).


So

<xsl:function name="bib:footcite" as="xs:string">
    <xsl:param name="footciteable" as="element()"/>
    <xsl:number level="any" select="$footciteable"
       count="db:footnote|db:citation[not(ancestor::db:footnote)]"/>
</xsl:function>

...worth a try.

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================

Current Thread