Subject: Re: [xsl] xsl:number and conditional From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Tue, 31 May 2005 15:41:41 -0400 |
Cheers, Wendell
On 5/31/05, Michael Kay <mike@xxxxxxxxxxxx> wrote: > > If I understand right, this, in the context of a function: > > > > <xsl:number level="any" select="$footcite" > > > > count="db:footnote|db:citation[not($footcite/ancestor::db:foot > > note)]"/> > > > > ... should not be counting db:citation elements which are descendents > > of db:footnote. > > > > Is that right? > > Not quite. There are two cases: > > if $footcite has an ancestor that is a db:footnote, then it counts all > db:footnote elements
.. but not the db:citation descendent?
> otherwise, it counds all db:footnote and db:citation elements
$footcite in this context is a function parameter that is defined as element(), but in practice is either db:footnote or db:citation. So I have:
<xsl:function name="bib:number-footcite" as="xs:string"> <xsl:param name="footcite" as="element()"/> <xsl:choose> <xsl:when test="$chapters/db:chapter"> <xsl:number level="any" select="$footcite"
count="db:footnote|db:citation[not($footcite/ancestor::db:footnote)]" from="db:chapter"/> </xsl:when> <xsl:otherwise> <xsl:number level="any" select="$footcite"
count="db:footnote|db:citation[not($footcite/ancestor::db:footnote)]"/> </xsl:otherwise> </xsl:choose> </xsl:function>
I then call the function in those templates like so:
<xsl:template match="db:citation">
<xsl:choose>
<xsl:when test="$citeclass='note-bib' or $citeclass='note-nobib'">
<xsl:variable name="footnote-number">
<xsl:value-of select="bib:number-footcite(.)"/>
</xsl:variable>
<xsl:text>[</xsl:text>
<a href="#fn{$footnote-number}" name="fnm{$footnote-number}"
class="footnote-mark">
<xsl:value-of select="$footnote-number"/>
</a>
<xsl:text>]</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="bib:format-citation">
<xsl:with-param name="output-format" select="'xhtml'"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
So if I don't specify not to count db:citation elements that are descendents of db:footnote, they get double-counted.
====================================================================== 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xsl:number and conditiona, Bruce D'Arcus | Thread | Re: [xsl] xsl:number and conditiona, Bruce D'Arcus |
[xsl] Extreme 2005 Program Now Avai, B. Tommie Usdin | Date | Re: [xsl] namespace generation in t, David Carlisle |
Month |