[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: misc. confusion on "footnote" handling

Subject: Re: misc. confusion on "footnote" handling
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Wed, 25 Aug 2004 09:56:35 +0100
citation footnote
Hi Bruce,

> 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?

I'm not sure from your description what you're trying to do (what
output you're trying to achieve). It's not clear whether you actually
want a parameter (declared with <xsl:param>, set on the call with
<xsl:with-param>) or you're using the term 'parameter' in a more
descriptive way. Perhaps you want two different templates for the two
different kinds of citation:

<!-- citations appearing in footnotes -->
<xsl:template match="db:footnote/db:citation">
  ...
</xsl:template>

<!-- other citations -->
<xsl:template match="db:citation">
  ...
</xsl:template>

These could both 'call' the same code where they needed the same
processing (whether by actually calling a template by name or by
applying templates to the <citation> element using a different mode).
For example:

<!-- citations appearing in footnotes -->
<xsl:template match="db:footnote/db:citation">
  <xsl:apply-templates select="." mode="citation" />
</xsl:template>

<!-- other citations -->
<xsl:template match="db:citation">
  <footnote>
    <xsl:apply-templates select="." mode="citation" />
  </footnote>
</xsl:template>

<xsl:template match="db:citation" mode="citation">
  ...
</xsl:template>

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.