diff options
Fix footnote links, backlinks for all article outputs
See also ea80a43
-rw-r--r-- | source/99_result/stream.xsl | 20 | ||||
-rw-r--r-- | utility/xhtml.xsl | 21 |
2 files changed, 21 insertions, 20 deletions
diff --git a/source/99_result/stream.xsl b/source/99_result/stream.xsl index 284a4d0..c095088 100644 --- a/source/99_result/stream.xsl +++ b/source/99_result/stream.xsl @@ -52,26 +52,6 @@ </div> </xsl:template> -<xsl:template match="a" mode="xhtml"> - <xsl:choose> - <xsl:when test="(@class = 'footnote') or (@class = 'reversefootnote')"> - <xsl:element name="{local-name()}" namespace="http://www.w3.org/1999/xhtml"> - <xsl:copy-of select="@class"/> - <xsl:attribute name="href"> - <xsl:value-of select="concat('/article/', ancestor::entry/@handle, '/', @href)"/> - </xsl:attribute> - <xsl:apply-templates select="node()" mode="xhtml"/> - </xsl:element> - </xsl:when> - <xsl:otherwise> - <xsl:element name="{local-name()}" namespace="http://www.w3.org/1999/xhtml"> - <xsl:copy-of select="@*"/> - <xsl:apply-templates select="node()" mode="xhtml"/> - </xsl:element> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - <xsl:template match="articles/entry" mode="resolve"> <h2> <xsl:text>ยป </xsl:text> diff --git a/utility/xhtml.xsl b/utility/xhtml.xsl index 00f1ef2..c450175 100644 --- a/utility/xhtml.xsl +++ b/utility/xhtml.xsl @@ -25,4 +25,25 @@ <xsl:copy/> </xsl:template> +<xsl:template match="a[@class = 'footnoteRef']" mode="xhtml"> + <xsl:element name="{local-name()}" namespace="http://www.w3.org/1999/xhtml"> + <xsl:copy-of select="@class"/> + <xsl:copy-of select="@id"/> + <xsl:attribute name="href"> + <xsl:value-of select="concat('/article/', ancestor::entry/@handle, '/', @href)"/> + </xsl:attribute> + <xsl:apply-templates select="node()" mode="xhtml"/> + </xsl:element> +</xsl:template> + +<xsl:template match="div[@class = 'footnotes']/ol/li/p/a[@class = 'more']" mode="xhtml"> + <xsl:element name="{local-name()}" namespace="http://www.w3.org/1999/xhtml"> + <xsl:copy-of select="@class"/> + <xsl:attribute name="href"> + <xsl:value-of select="concat('/article/', ancestor::entry/@handle, '/', @href)"/> + </xsl:attribute> + <xsl:apply-templates select="node()" mode="xhtml"/> + </xsl:element> +</xsl:template> + </xsl:stylesheet> |