xsl-list
[Top] [All Lists]

Re: numbering/count()

2005-05-20 09:32:54
On 5/20/05, Wendell Piez <wapiez(_at_)mulberrytech(_dot_)com> wrote:

In a function, I believe this means passing in your context node as a
parameter and changing context to it explicitly before invoking xsl:number.
Apart from that (note this is different from a named template, which keeps
the context from which it's called), I don't see why it shouldn't work. And
it's easy enough to test.

OK, input:

<doc>
  <p>a <citation/> and a <footnote/></p>
</doc>

XSLT:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";   
  xmlns:xs="http://www.w3.org/2001/XMLSchema";
  xmlns:bib="http://purl.org/NET/xbiblio/citeproc"; version="2.0">

  <xsl:template match="doc">
    <result>
      <xsl:apply-templates/>
    </result>
  </xsl:template>

  <xsl:template match="p">
    <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="footnote">
    <number>
      <xsl:value-of select="bib:footcite(.)"/>
    </number>
  </xsl:template>

  <xsl:template match="citation">
    <number>
      <xsl:value-of select="bib:footcite(.)"/>
    </number>
  </xsl:template>

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

</xsl:stylesheet>

expected result:

<result>
  a <number>1</number> and a <number>2</number>
</result>

(unexpected) output:

<result>
  a <number>1</number> and a <number>1</number>
</result>

Any suggestions?

Bruce

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>