+<!-- ~~~~~~~~~~~~~~~~~ footnotes ~~~~~~~~~~~~~~~~~~~ -->
+
+ <xsl:when test="$document-type='footnotz'">
+ <div class="backmatter">
+ <xsl:value-of select="$newline" />
+ <!-- No particular reason to code title here -->
+ <h2><xsl:apply-templates select="meta/title" /></h2><xsl:value-of select="$newline" />
+ <xsl:value-of select="$newline" />
+ <xsl:value-of select="$newline" />
+
+ <!-- Generate list of footnotes -->
+ <xsl:for-each select="//footnotes/footnote">
+ <div class="footnote">
+ <!-- will the list always contain the closest ancestor first? -->
+ <xsl:variable name="footnote-section"><xsl:value-of select="ancestor::section[position()=1]/@id" /></xsl:variable>
+ <xsl:variable name="footnote-marker"><xsl:number count="footnotes/footnote" from="/" level="any" format="1" /></xsl:variable>
+ <xsl:variable name="footnote-idref"><xsl:value-of select="@idref" /></xsl:variable>
+
+ <xsl:for-each select="*[1]">
+ <p>
+ <xsl:text>[</xsl:text>
+ <a>
+ <xsl:attribute name="href"><xsl:value-of select="$footnote-section" /><xsl:text>.htm#</xsl:text><xsl:value-of select="$footnote-idref" /></xsl:attribute>
+ <xsl:value-of select="$footnote-marker" />
+ </a>
+ <xsl:text>] </xsl:text>
+
+ <xsl:text> (</xsl:text>
+ <xsl:call-template name="section-title-link" />
+ <xsl:text>) </xsl:text>
+
+ <xsl:apply-templates select="child::* | child::text()" />
+ </p>
+ </xsl:for-each>
+
+ <xsl:for-each select="*[position() != 1]">
+ <xsl:apply-templates select="." />
+ </xsl:for-each>
+
+ </div>
+ </xsl:for-each>
+
+ <!-- Backwards compatibility... needed? Probably not. -->
+ <xsl:apply-templates />
+
+ <xsl:value-of select="$newline" />
+
+ <xsl:call-template name="navigation-bar" />
+ <xsl:value-of select="$newline" />
+ </div><xsl:value-of select="$newline" /><xsl:value-of select="$newline" />
+ </xsl:when>
+