xsl/common: unify copy-id and magic string conversion into auto-id

This commit is contained in:
Astro 2015-10-26 00:10:17 +01:00
parent cfc0cd4432
commit 1d33257057
1 changed files with 27 additions and 34 deletions

View File

@ -10,7 +10,7 @@
<xsl:template match="pre">
<pre>
<xsl:call-template name="copy-id"/>
<xsl:call-template name="auto-id"/>
<xsl:apply-templates/>
</pre>
</xsl:template>
@ -18,13 +18,7 @@
<xsl:template match="p">
<xsl:if test="@title">
<h3>
<xsl:call-template name="copy-id"/>
<xsl:attribute name="id">
<xsl:call-template name="string-to-lower">
<xsl:with-param name="string" select="@title"/>
<xsl:with-param name="forspace">-</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="auto-id"/>
<xsl:value-of select="@title"/>
</h3>
</xsl:if>
@ -45,7 +39,7 @@
</xsl:if>
<xsl:if test="not(@title)">
<xsl:call-template name="copy-id"/>
<xsl:call-template name="auto-id"/>
</xsl:if>
<xsl:apply-templates/>
</p>
@ -54,13 +48,7 @@
<xsl:template match="div">
<xsl:if test="@title">
<h3>
<xsl:call-template name="copy-id"/>
<xsl:attribute name="id">
<xsl:call-template name="string-to-lower">
<xsl:with-param name="string" select="@title"/>
<xsl:with-param name="forspace">-</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="auto-id"/>
<xsl:value-of select="@title"/>
</h3>
</xsl:if>
@ -80,7 +68,7 @@
<xsl:attribute name="class"><xsl:value-of select="@class"/></xsl:attribute>
</xsl:if>
<xsl:if test="not(@title)">
<xsl:call-template name="copy-id"/>
<xsl:call-template name="auto-id"/>
</xsl:if>
<xsl:apply-templates/>
@ -142,26 +130,26 @@
<xsl:template match="dl">
<dl class="{@class}">
<xsl:call-template name="copy-id"/>
<xsl:call-template name="auto-id"/>
<xsl:apply-templates/>
</dl>
</xsl:template>
<xsl:template match="dh">
<dt class="main"><xsl:call-template name="copy-id"/><xsl:apply-templates/></dt>
<dt class="main"><xsl:call-template name="auto-id"/><xsl:apply-templates/></dt>
</xsl:template>
<xsl:template match="dt">
<dt><xsl:call-template name="copy-id"/><xsl:apply-templates/></dt>
<dt><xsl:call-template name="auto-id"/><xsl:apply-templates/></dt>
</xsl:template>
<xsl:template match="dd">
<dd><xsl:call-template name="copy-id"/><xsl:apply-templates/></dd>
<dd><xsl:call-template name="auto-id"/><xsl:apply-templates/></dd>
</xsl:template>
<xsl:template match="ul">
<ul>
<xsl:call-template name="copy-id"/>
<xsl:call-template name="auto-id"/>
<xsl:if test="@itemprop">
<xsl:attribute name="itemprop"><xsl:value-of select="@itemprop"/></xsl:attribute>
</xsl:if>
@ -180,7 +168,7 @@
</xsl:template>
<xsl:template match="ol">
<ol><xsl:call-template name="copy-id"/><xsl:apply-templates/></ol>
<ol><xsl:call-template name="auto-id"/><xsl:apply-templates/></ol>
</xsl:template>
<xsl:template match="li">
@ -188,7 +176,7 @@
</xsl:template>
<xsl:template match="blockquote">
<blockquote><xsl:call-template name="copy-id"/><xsl:apply-templates/></blockquote>
<blockquote><xsl:call-template name="auto-id"/><xsl:apply-templates/></blockquote>
</xsl:template>
<!-- Bilder in News-Einträgen haben Pfad immer relativ zu /images/news/ -->
@ -565,12 +553,7 @@
<xsl:template name="video-resource">
<section class="video-resource">
<h4>
<xsl:attribute name="id">
<xsl:call-template name="string-to-lower">
<xsl:with-param name="string" select="@title"/>
<xsl:with-param name="forspace">-</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
<xsl:call-template name="auto-id"/>
<xsl:choose>
<xsl:when test="@details-link">
<a href="{@details-link}">
@ -649,10 +632,20 @@
<!-- Helpers -->
<xsl:template name="copy-id">
<xsl:if test="@id">
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:if>
<xsl:template name="auto-id">
<xsl:choose>
<xsl:when test="@id">
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
</xsl:when>
<xsl:when test="@title">
<xsl:attribute name="id">
<xsl:call-template name="string-to-lower">
<xsl:with-param name="string" select="@title"/>
<xsl:with-param name="forspace">-</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template name="format-filesize">