[xsl] misc. confusion on "footnote" handling

Subject: [xsl] misc. confusion on "footnote" handling
From: Bruce D'Arcus <bdarcus@xxxxxxxxxxxxx>
Date: Tue, 24 Aug 2004 19:13:47 -0400
Am not sure how to tackle this.

Simple example:

<para>
  Standard citation: <citation><biblioref linkend="one"/></citation>.
  Citation in a footnote: <footnote><para>And another citation
    <citation><biblioref linkend="two"/></citation></para></footnote>
</para>

So, I have a regular citation, and a citation within a footnote.

The problem:

I want a parameter -- called citation-class -- where one option is author-year (what I've been working on), and another is "footnote."

When the parameter is set to footnote, all citations get treated as if they were a footnote (e.g. they become footnoted on output), unless they are already in a footnote, in which case they just get rendered.

I'm thinking I need to be doing something like this:

<xsl:template match="db:footnote|db:citation">
  <xsl:choose>
    <xsl:when test="$class='footnote'">
      ...
    </xsl:when>
    <xsl:otherwise>
      ...
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

But I'm not sure quite what to do next, or b) if there a better way to do this? Maybe somehow using modes?

Bruce

Current Thread