1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-24 10:12:19 -05:00

Don't duplicate footnotes in HTML

This commit is contained in:
Sam Whited 2017-01-09 09:56:18 -06:00
parent 60d369e167
commit d78f9de6c0

15
xep.xsl
View File

@ -36,6 +36,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:output doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' method='xml'/> <xsl:output doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN' doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' method='xml'/>
<xsl:key name="unique-notes" match="note" use="text()" />
<xsl:template match='/'> <xsl:template match='/'>
<html> <html>
<head> <head>
@ -397,7 +398,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<a name="appendix-notes"></a> <a name="appendix-notes"></a>
<h3>Appendix G: Notes</h3> <h3>Appendix G: Notes</h3>
<div class='indent'> <div class='indent'>
<xsl:apply-templates select='//note' mode='endlist'/> <xsl:apply-templates select="//note[generate-id(.) = generate-id(key('unique-notes', text())[1])]" mode='endlist'/>
</div> </div>
<!-- REVISION HISTORY --> <!-- REVISION HISTORY -->
<hr /> <hr />
@ -979,22 +980,16 @@ OR OTHER DEALINGS IN THE SOFTWARE.
<xsl:template match='note'> <xsl:template match='note'>
<xsl:variable name='notenum'> <xsl:variable name='notenum'>
<xsl:number level='any' count='note'/> <xsl:number level='any' count="note[generate-id(.) = generate-id(key('unique-notes', text())[1])]"/>
</xsl:variable> </xsl:variable>
<xsl:variable name='oid'> <xsl:text> [</xsl:text><a href='#nt-{$notenum}'>
<xsl:call-template name='object.id'/>
</xsl:variable>
<xsl:text> [</xsl:text><a href='#nt-{$oid}'>
<xsl:value-of select='$notenum'/></a> <xsl:value-of select='$notenum'/></a>
<xsl:text>]</xsl:text> <xsl:text>]</xsl:text>
</xsl:template> </xsl:template>
<xsl:template match='note' mode='endlist'> <xsl:template match='note' mode='endlist'>
<p> <p>
<xsl:variable name='oid'> <a name='nt-{position()}'><xsl:value-of select='position()'/></a>
<xsl:call-template name='object.id'/>
</xsl:variable>
<a name='nt-{$oid}'><xsl:value-of select='position()'/></a>
<xsl:text>. </xsl:text> <xsl:text>. </xsl:text>
<xsl:apply-templates/> <xsl:apply-templates/>
</p> </p>