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:
parent
60d369e167
commit
d78f9de6c0
55
xep.xsl
55
xep.xsl
@ -4,28 +4,28 @@
|
|||||||
|
|
||||||
Copyright (c) 1999 - 2015 XMPP Standards Foundation
|
Copyright (c) 1999 - 2015 XMPP Standards Foundation
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any
|
Permission is hereby granted, free of charge, to any
|
||||||
person obtaining a copy of this software and
|
person obtaining a copy of this software and
|
||||||
associated documentation files (the "Software"), to
|
associated documentation files (the "Software"), to
|
||||||
deal in the Software without restriction, including
|
deal in the Software without restriction, including
|
||||||
without limitation the rights to use, copy, modify,
|
without limitation the rights to use, copy, modify,
|
||||||
merge, publish, distribute, sublicense, and/or sell
|
merge, publish, distribute, sublicense, and/or sell
|
||||||
copies of the Software, and to permit persons to whom
|
copies of the Software, and to permit persons to whom
|
||||||
the Software is furnished to do so, subject to the
|
the Software is furnished to do so, subject to the
|
||||||
following conditions:
|
following conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice
|
The above copyright notice and this permission notice
|
||||||
shall be included in all copies or substantial portions
|
shall be included in all copies or substantial portions
|
||||||
of the Software.
|
of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||||
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||||
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||||
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||||
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
||||||
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
||||||
OR OTHER DEALINGS IN THE SOFTWARE.
|
OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
-->
|
-->
|
||||||
@ -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 />
|
||||||
@ -442,7 +443,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match='councilnote'>
|
<xsl:template match='councilnote'>
|
||||||
<hr />
|
<hr />
|
||||||
<div>
|
<div>
|
||||||
@ -979,26 +980,20 @@ 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 name='oid'>
|
|
||||||
<xsl:call-template name='object.id'/>
|
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
<xsl:text> [</xsl:text><a href='#nt-{$oid}'>
|
<xsl:text> [</xsl:text><a href='#nt-{$notenum}'>
|
||||||
<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>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<!-- PRESENTATIONAL ELEMENTS -->
|
<!-- PRESENTATIONAL ELEMENTS -->
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user