using the template named id.attribute.
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="$admon.style != ''">
<xsl:attribute name="style">
<xsl:value-of select="$admon.style"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="$admon.style">
<xsl:attribute name="style">
<xsl:value-of select="$admon.style"/>
<dt>
<xsl:for-each select="$refs/primary">
<xsl:if test="@id or @xml:id">
- <a name="{(@id|@xml:id)[1]}"/>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <a name="{(@id|@xml:id)[1]}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <span>
+ <xsl:call-template name="id.attribute"/>
+ </span>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:if>
</xsl:for-each>
<xsl:value-of select="primary"/>
<dt>
<xsl:for-each select="$refs/secondary">
<xsl:if test="@id or @xml:id">
- <a name="{(@id|@xml:id)[1]}"/>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <a name="{(@id|@xml:id)[1]}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <span>
+ <xsl:call-template name="id.attribute"/>
+ </span>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:if>
</xsl:for-each>
<xsl:value-of select="secondary"/>
<dt>
<xsl:for-each select="$refs/tertiary">
<xsl:if test="@id or @xml:id">
- <a name="{(@id|@xml:id)[1]}"/>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <a name="{(@id|@xml:id)[1]}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <span>
+ <xsl:call-template name="id.attribute"/>
+ </span>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:if>
</xsl:for-each>
<xsl:value-of select="tertiary"/>
<xsl:otherwise>
<a>
<xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:variable name="title">
<xsl:choose>
<xsl:when test="§ion;/titleabbrev and $index.prefer.titleabbrev != 0">
<a>
<xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$target[1]"/>
<a>
<xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$target[1]"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="bibliography.titlepage"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="0"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="0"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:if test="blockinfo/title|info/title|title">
<xsl:call-template name="formal.object.heading"/>
</xsl:message>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<p>
<xsl:copy-of select="$label"/>
<xsl:otherwise>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
</xsl:message>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<p>
<xsl:copy-of select="$label"/>
<xsl:otherwise>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:template match="address" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="affiliation" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="shortaffil" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="jobtitle" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="artheader|articleinfo|info" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="artpagenums" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="author" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:choose>
<xsl:when test="orgname">
<xsl:apply-templates select="orgname" mode="bibliography.mode"/>
<xsl:template match="authorgroup" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="person.name.list"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="authorinitials" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="bibliomisc" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="bibliomset" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="biblioset" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
</span>
</xsl:template>
<!-- ================================================== -->
-<xsl:template match="bookbiblio" mode="bibliography.mode">
- <span>
- <xsl:call-template name="common.html.attributes"/>
- <xsl:apply-templates mode="bibliography.mode"/>
- <xsl:copy-of select="$biblioentry.item.separator"/>
- </span>
-</xsl:template>
-
<xsl:template match="citetitle" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:choose>
<xsl:when test="@pubwork = 'article'">
<xsl:call-template name="gentext.startquote"/>
<xsl:template match="collab" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="collabname" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="confgroup" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="confdates" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="conftitle" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="confnum" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="confsponsor" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="contractnum" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="contractsponsor" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="contrib" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="copyright" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="'Copyright'"/>
</xsl:call-template>
<xsl:template match="corpauthor" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="corpcredit" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="corpname" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="date" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="edition" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="editor" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="person.name"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="firstname" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="honorific" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="indexterm" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="invpartnumber" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="isbn" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="issn" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="issuenum" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="lineage" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="orgname" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="orgdiv" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="othercredit" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="othername" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="pagenums" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="productname" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="productnumber" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="pubdate" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="publisher" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
</span>
</xsl:template>
<xsl:template match="publishername" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="pubsnumber" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="releaseinfo" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="seriesinfo" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
</span>
</xsl:template>
<xsl:template match="seriesvolnums" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="subtitle" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="surname" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="title" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<i><xsl:apply-templates mode="bibliography.mode"/></i>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="titleabbrev" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
<xsl:template match="volumenum" mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliography.mode"/>
<xsl:copy-of select="$biblioentry.item.separator"/>
</span>
mode="bibliography.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<a href="{concat('http://dx.doi.org/', .)}">doi:<xsl:value-of select="."/></a>
</span>
</xsl:template>
<xsl:template match="abstract" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="address" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="affiliation" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="shortaffil" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="jobtitle" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="artpagenums" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="author" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:choose>
<xsl:when test="orgname">
<xsl:apply-templates select="orgname" mode="bibliomixed.mode"/>
<xsl:template match="authorblurb|personblurb" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="authorgroup" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="authorinitials" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="bibliomisc" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="bibliomset" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="biblioset" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="citetitle" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:choose>
<xsl:when test="@pubwork = 'article'">
<xsl:call-template name="gentext.startquote"/>
<xsl:template match="collab" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="confgroup" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="contractnum" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="contractsponsor" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="contrib" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="copyright" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="corpauthor" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="corpcredit" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="corpname" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="date" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="edition" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="editor" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="firstname" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="honorific" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="indexterm" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="invpartnumber" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="isbn" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="issn" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="issuenum" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="lineage" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="orgname" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="othercredit" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="othername" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="pagenums" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="printhistory" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="productname" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="productnumber" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="pubdate" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="publisher" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="publishername" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="pubsnumber" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="releaseinfo" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="seriesvolnums" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="subtitle" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="surname" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="title" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="titleabbrev" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
<xsl:template match="volumenum" mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="bibliomixed.mode"/>
</span>
</xsl:template>
mode="bibliomixed.mode">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<a href="{concat('http://dx.doi.org/', .)}">doi:<xsl:value-of select="."/></a>
</span>
</xsl:template>
<xsl:template name="block.object">
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates/>
</div>
<xsl:variable name="p">
<p>
+ <xsl:call-template name="id.attribute"/>
<xsl:choose>
<xsl:when test="$class != ''">
<xsl:call-template name="common.html.attributes">
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
+
+ <!-- need to capture the id of the listitem -->
+ <xsl:if test="position() = 1 and
+ (parent::listitem/@id or parent::listitem/@xml:id)">
+ <span>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="node" select="parent::listitem"/>
+ </xsl:call-template>
+ </span>
+ </xsl:if>
+
<xsl:copy-of select="$content"/>
</p>
</xsl:variable>
<xsl:template match="simpara">
<!-- see also listitem/simpara in lists.xsl -->
<p>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="locale.html.attributes"/>
<xsl:if test="@role and $para.propagates.style != 0">
<xsl:apply-templates select="." mode="class.attribute">
<xsl:template match="blockquote">
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:choose>
<xsl:template match="epigraph">
<div>
<xsl:call-template name="common.html.attributes"/>
- <xsl:apply-templates select="para|simpara|formalpara|literallayout"/>
- <xsl:if test="attribution">
- <div class="attribution">
- <span>—<xsl:apply-templates select="attribution"/></span>
- </div>
- </xsl:if>
+ <xsl:call-template name="id.attribute"/>
+ <xsl:apply-templates select="para|simpara|formalpara|literallayout"/>
+ <xsl:if test="attribution">
+ <div class="attribution">
+ <span>—<xsl:apply-templates select="attribution"/></span>
+ </div>
+ </xsl:if>
</div>
</xsl:template>
<xsl:template match="attribution">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="abstract|sidebar">
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:call-template name="sidebar.titlepage"/>
<xsl:apply-templates/>
<xsl:template match="revhistory">
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<table border="0" width="100%" summary="Revision history">
<tr>
<th align="{$direction.align.start}" valign="top" colspan="3">
and $linenumbering.extension != '0'">
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="number.rtf.lines">
<xsl:with-param name="rtf" select="$rtf-with-callouts"/>
<xsl:with-param name="pi.context"
<xsl:otherwise>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$rtf-with-callouts"/>
<xsl:apply-templates select="calloutlist"/>
</div>
<xsl:otherwise>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</div>
</xsl:otherwise>
<xsl:when test="$target">
<a>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="@id or @xml:id">
- <xsl:attribute name="name">
- <xsl:value-of select="(@id|@xml:id)[1]"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <xsl:if test="@id or @xml:id">
+ <xsl:attribute name="name">
+ <xsl:value-of select="(@id|@xml:id)[1]"/>
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="id.attribute"/>
+ </xsl:otherwise>
+ </xsl:choose>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$target"/>
</a>
</xsl:when>
<xsl:otherwise>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates select="." mode="callout-bug"/>
</xsl:otherwise>
<xsl:element name="h{$level+1}">
<xsl:attribute name="class">title</xsl:attribute>
- <xsl:if test="$generate.id.attributes = 0">
- <xsl:call-template name="anchor">
- <xsl:with-param name="node" select="$node"/>
- <xsl:with-param name="conditional" select="0"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:apply-templates select="$node" mode="object.title.markup">
+ <xsl:call-template name="id.attribute"/>
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="node" select="$node"/>
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
</xsl:element>
<xsl:if test="$subtitle">
<h3 class="subtitle">
+ <xsl:call-template name="id.attribute"/>
<i>
<xsl:apply-templates select="$node" mode="object.subtitle.markup"/>
</i>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="dedication.titlepage"/>
<xsl:apply-templates/>
<xsl:call-template name="process.footnotes"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="acknowledgements.titlepage"/>
<xsl:apply-templates/>
<xsl:call-template name="process.footnotes"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="component.separator"/>
<xsl:call-template name="component.title"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="component.separator"/>
<xsl:call-template name="preface.titlepage"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="component.separator"/>
<xsl:call-template name="chapter.titlepage"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:choose>
<xsl:when test="parent::article and $ischunk = 0">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="article.titlepage"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="topic.titlepage"/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="dir">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="book.titlepage"/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="part.titlepage"/>
<div>
<xsl:call-template name="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="partintro.titlepage"/>
<xsl:apply-templates/>
<h1>
<xsl:attribute name="class">title</xsl:attribute>
- <xsl:if test="$generate.id.attributes = 0">
- <xsl:call-template name="anchor">
- <xsl:with-param name="node" select="$node"/>
- <xsl:with-param name="conditional" select="0"/>
- </xsl:call-template>
- </xsl:if>
- <xsl:apply-templates select="$node" mode="object.title.markup">
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="node" select="$node"/>
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="node" select="$node"/>
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
+ <xsl:apply-templates select="$node" mode="object.title.markup">
<xsl:with-param name="allow-anchors" select="1"/>
</xsl:apply-templates>
</h1>
</a>
</xsl:when>
<xsl:otherwise>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates select="lhs"/>
</xsl:otherwise>
<xsl:template match="constraintdef">
<div>
<xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates/>
</div>
******************************************************************** -->
+<!-- This template generates just the footnote marker inline.
+The footnote text is handled in name="process.footnote".
+The footnote marker gets an id of @id, while the
+footnote text gets an id of #ftn.@id. They cross link to each other. -->
<xsl:template match="footnote">
- <xsl:variable name="name">
- <xsl:call-template name="object.id"/>
- </xsl:variable>
<xsl:variable name="href">
<xsl:text>#ftn.</xsl:text>
- <xsl:call-template name="object.id"/>
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
</xsl:variable>
- <xsl:choose>
- <xsl:when test="ancestor::table or ancestor::informaltable">
- <a name="{$name}" href="{$href}">
- <xsl:apply-templates select="." mode="class.attribute"/>
- <sup>
- <xsl:text>[</xsl:text>
- <xsl:apply-templates select="." mode="footnote.number"/>
- <xsl:text>]</xsl:text>
- </sup>
- </a>
- </xsl:when>
- <xsl:otherwise>
- <a name="{$name}" href="{$href}">
- <xsl:apply-templates select="." mode="class.attribute"/>
- <sup>
- <xsl:text>[</xsl:text>
- <xsl:apply-templates select="." mode="footnote.number"/>
- <xsl:text>]</xsl:text>
- </sup>
- </a>
- </xsl:otherwise>
- </xsl:choose>
+ <a href="{$href}">
+ <xsl:apply-templates select="." mode="class.attribute"/>
+ <sup>
+ <xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="id.attribute"/>
+ <xsl:call-template name="anchor"/>
+ <xsl:text>[</xsl:text>
+ <xsl:apply-templates select="." mode="footnote.number"/>
+ <xsl:text>]</xsl:text>
+ </sup>
+ </a>
</xsl:template>
<xsl:template match="footnoteref">
<a href="{$href}">
<xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="id.attribute"/>
<sup>
+ <xsl:apply-templates select="." mode="class.attribute"/>
<xsl:text>[</xsl:text>
<xsl:apply-templates select="$footnote" mode="footnote.number"/>
<xsl:text>]</xsl:text>
<xsl:template match="footnote/para[1]|footnote/simpara[1]" priority="2">
<!-- this only works if the first thing in a footnote is a para, -->
<!-- which is ok, because it usually is. -->
- <xsl:variable name="name">
- <xsl:text>ftn.</xsl:text>
- <xsl:call-template name="object.id">
- <xsl:with-param name="object" select="ancestor::footnote"/>
- </xsl:call-template>
- </xsl:variable>
<xsl:variable name="href">
<xsl:text>#</xsl:text>
<xsl:call-template name="object.id">
</xsl:if>
</xsl:with-param>
<xsl:with-param name="content">
- <a id="{$name}" href="{$href}">
+ <a href="{$href}">
<xsl:apply-templates select="." mode="class.attribute"/>
<sup>
+ <xsl:apply-templates select="." mode="class.attribute"/>
<xsl:text>[</xsl:text>
<xsl:apply-templates select="ancestor::footnote" mode="footnote.number"/>
<xsl:text>] </xsl:text>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="footnote.mark">
- <a name="{$name}" href="{$href}">
+ <a href="{$href}">
<xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <xsl:if test="@id or @xml:id">
+ <xsl:attribute name="name">
+ <xsl:value-of select="@id|@xml:id"/>
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="id.attribute"/>
+ </xsl:otherwise>
+ </xsl:choose>
<sup>
<xsl:text>[</xsl:text>
<xsl:apply-templates select="ancestor::footnote"
</xsl:template>
<xsl:template match="footnote" name="process.footnote" mode="process.footnote.mode">
+ <xsl:variable name="id">
+ <xsl:text>#ftn.</xsl:text>
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
+ </xsl:variable>
+
<xsl:choose>
<xsl:when test="local-name(*[1]) = 'para' or local-name(*[1]) = 'simpara'">
- <div>
+ <div id="{$id}">
<xsl:call-template name="common.html.attributes"/>
<xsl:apply-templates/>
</div>
<xsl:when test="$html.cleanup != 0 and
$exsl.node.set.available != 0">
- <div>
+ <div id="{$id}">
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates select="*[1]" mode="footnote.body.number"/>
<xsl:apply-templates select="*[position() > 1]"/>
</div>
<xsl:value-of select="local-name(*[1])"/>
<xsl:text> unexpected as first child of footnote.</xsl:text>
</xsl:message>
- <div>
+ <div id="{$id}">
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</div>
</xsl:otherwise>
<xsl:variable name="content">
<div class="{$class}">
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:variable name="content">
<div class="{$class}">
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="$spacing.paras != 0"><p/></xsl:if>
<xsl:call-template name="anchor"/>
<xsl:apply-templates/>
<xsl:variable name="content">
<div class="{$class}">
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="glossary.titlepage"/>
&setup-language-variable;
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:if test="blockinfo/title|info/title|title">
<xsl:call-template name="formal.object.heading"/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
<dl>
<xsl:choose>
<xsl:when test="$glossentry.show.acronym = 'primary'">
<dt>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional">
+ <xsl:choose>
+ <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional">
<xsl:choose>
</xsl:when>
<xsl:when test="$glossentry.show.acronym = 'yes'">
<dt>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional">
+ <xsl:choose>
+ <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional">
<xsl:choose>
</xsl:when>
<xsl:otherwise>
<dt>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional">
+ <xsl:choose>
+ <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional">
<xsl:choose>
<xsl:when test="$target">
<a>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$target"/>
<xsl:when test="$target">
<a>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$target"/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="glossary.titlepage"/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
<dl>
<xsl:template match="screenshot">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="graphic">
<xsl:choose>
<xsl:when test="parent::inlineequation">
- <xsl:call-template name="anchor"/>
- <xsl:call-template name="process.image"/>
+ <span>
+ <xsl:call-template name="id.attribute"/>
+ <xsl:call-template name="anchor"/>
+ <xsl:call-template name="process.image"/>
+ </span>
</xsl:when>
<xsl:otherwise>
<div>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="@align">
<xsl:attribute name="align">
<xsl:value-of select="@align"/>
<xsl:value-of select="$align"/>
</xsl:attribute>
</xsl:if>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates select="$object"/>
<xsl:template match="inlinemediaobject">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:call-template name="select.mediaobject"/>
</span>
<xsl:template match="caption">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="@align = 'right' or @align = 'left' or @align='center'">
<xsl:attribute name="align"><xsl:value-of
select="@align"/></xsl:attribute>
<xsl:template name="anchor">
<xsl:param name="node" select="."/>
<xsl:param name="conditional" select="1"/>
- <xsl:variable name="id">
- <xsl:call-template name="object.id">
- <xsl:with-param name="object" select="$node"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:if test="$conditional = 0 or $node/@id or $node/@xml:id">
- <a name="{$id}"/>
- </xsl:if>
+
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes != 0">
+ <!-- No named anchors output when this param is set -->
+ </xsl:when>
+ <xsl:when test="$conditional = 0 or $node/@id or $node/@xml:id">
+ <a>
+ <xsl:attribute name="name">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$node"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </a>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="id.attribute">
+ <xsl:param name="node" select="."/>
+ <xsl:param name="conditional" select="1"/>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <!-- No id attributes when this param is zero -->
+ </xsl:when>
+ <xsl:when test="$conditional = 0 or $node/@id or $node/@xml:id">
+ <xsl:attribute name="id">
+ <xsl:call-template name="object.id">
+ <xsl:with-param name="object" select="$node"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
</xsl:template>
<xsl:template name="href.target.uri">
<xsl:if test="count(*)>0 or $generate.index != '0'">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="index.titlepage"/>
<xsl:choose>
<xsl:if test="count(*)>0 or $generate.index != '0'">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="setindex.titlepage"/>
<xsl:apply-templates/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
-
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates select="*[not(self::indexentry)]"/>
<dl>
<xsl:template match="corpauthor">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:template match="jobtitle">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</span>
</xsl:template>
<xsl:otherwise>
<a>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:otherwise>
<a>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:attribute name="href">
<xsl:value-of select="$xhref"/>
</xsl:attribute>
<a>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:attribute name="href">
<xsl:call-template name="href.target">
<xsl:with-param name="object" select="$target"/>
<xsl:attribute name="class">
<xsl:value-of select="local-name(.)"/>
</xsl:attribute>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="dir"/>
<xsl:call-template name="generate.html.title"/>
<xsl:copy-of select="$content"/>
</xsl:param>
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
<xsl:call-template name="apply-annotations"/>
</code>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<!-- don't put <strong> inside figure, example, or table titles -->
<xsl:choose>
</xsl:param>
<em>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
<xsl:call-template name="apply-annotations"/>
</em>
or local-name(../..) = 'formalpara')">
<code>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
<xsl:call-template name="apply-annotations"/>
</code>
<xsl:otherwise>
<strong>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<code>
<xsl:call-template name="generate.html.title"/>
<xsl:call-template name="dir"/>
</xsl:param>
<em>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<code>
<xsl:call-template name="generate.html.title"/>
<xsl:call-template name="dir"/>
</xsl:param>
<sup>
<xsl:call-template name="generate.html.title"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="dir"/>
<xsl:copy-of select="$content"/>
<xsl:call-template name="apply-annotations"/>
</xsl:param>
<sub>
<xsl:call-template name="generate.html.title"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="dir"/>
<xsl:copy-of select="$content"/>
<xsl:call-template name="apply-annotations"/>
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
</span>
</xsl:template>
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
</span>
</xsl:template>
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
</span>
</xsl:template>
<xsl:template match="emphasis">
<span>
+ <xsl:call-template name="id.attribute"/>
<xsl:choose>
<!-- We don't want empty @class values, so do not propagate empty @roles -->
<xsl:when test="@role and
<xsl:template match="phrase">
<span>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="locale.html.attributes"/>
<!-- We don't want empty @class values, so do not propagate empty @roles -->
<xsl:choose>
</xsl:if>
<a>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:attribute name="href">
<xsl:text>mailto:</xsl:text>
<xsl:value-of select="."/>
<xsl:choose>
<xsl:when test="$bibliography.numbered != 0">
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates select="$target" mode="citation"/>
</xsl:when>
<xsl:otherwise>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
</span>
</xsl:template>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
</span>
</xsl:template>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
</span>
</xsl:template>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
</span>
</xsl:template>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$content"/>
</span>
</xsl:template>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:if test="title">
<xsl:call-template name="formal.object.heading"/>
<li>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="$css.decoration = '1' and $cssmark != ''">
<xsl:attribute name="style">
<xsl:text>list-style-type: </xsl:text>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:if test="title">
</xsl:call-template>
<colgroup>
<col align="{$direction.align.start}" valign="top"/>
+ <col/>
</colgroup>
<tbody>
<xsl:apply-templates
<xsl:template match="orderedlist/listitem">
<li>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="@override">
<xsl:attribute name="value">
<xsl:value-of select="@override"/>
</td>
<td>
<xsl:if test="local-name(child::*[1]) != 'para'">
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
</xsl:if>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:if test="title">
<xsl:call-template name="formal.object.heading"/>
</xsl:attribute>
</xsl:if>
</col>
+ <col/>
</colgroup>
<tbody>
<xsl:apply-templates mode="varlist-table"
</xsl:when>
<xsl:otherwise>
<p>
+ <xsl:call-template name="id.attribute"/>
<xsl:choose>
<xsl:when test="@role and $para.propagates.style != 0">
<xsl:call-template name="common.html.attributes">
<xsl:template match="varlistentry">
<dt>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates select="term"/>
</dt>
</xsl:call-template>
<td>
+ <xsl:call-template name="id.attribute"/>
<p>
<xsl:call-template name="anchor"/>
<xsl:choose>
<xsl:template match="varlistentry/term">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:call-template name="simple.xlink">
<xsl:with-param name="content">
<xsl:call-template name="anchor"/>
<table border="0" summary="Simple list">
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="simplelist.vert">
<xsl:with-param name="cols">
<xsl:choose>
<xsl:template match="simplelist[@type='inline']">
<span>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<!-- if dbchoice PI exists, use that to determine the choice separator -->
<!-- (that is, equivalent of "and" or "or" in current locale), or literal -->
<!-- value of "choice" otherwise -->
<xsl:call-template name="anchor"/>
<table border="0" summary="Simple list">
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="simplelist.horiz">
<xsl:with-param name="cols">
<xsl:choose>
<xsl:call-template name="anchor"/>
<table border="0" summary="Simple list">
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="simplelist.vert">
<xsl:with-param name="cols">
<xsl:choose>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional">
+ <xsl:choose>
+ <xsl:when test="title">0</xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional">
<xsl:choose>
<ol type="{$numeration}">
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</ol>
</xsl:template>
<xsl:template match="step">
<li>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates/>
</li>
<xsl:call-template name="anchor"/>
<ul>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</ul>
</xsl:template>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:choose>
<xsl:template match="seglistitem">
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:apply-templates/>
</div>
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<strong>
<span class="segtitle">
<xsl:apply-templates select="$segtitles[$segnum=position()]"
<tr>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="tr.attributes">
<xsl:with-param name="rownum" select="$seglinum + 1"/>
</xsl:call-template>
<xsl:template match="seg" mode="seglist-table">
<td>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</td>
</xsl:template>
<xsl:template match="seg[1]" mode="seglist-table">
<td>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="ancestor::seglistitem"/>
</xsl:call-template>
<xsl:template match="calloutlist">
<div>
<xsl:call-template name="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:if test="title|info/title">
<xsl:call-template name="formal.object.heading"/>
</xsl:call-template>
<td width="5%" valign="top" align="{$direction.align.start}">
+ <xsl:call-template name="id.attribute"/>
<p>
<xsl:call-template name="anchor"/>
<xsl:call-template name="callout.arearefs">
</xsl:when>
<xsl:otherwise>
<dt>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:call-template name="callout.arearefs">
<xsl:with-param name="arearefs" select="@arearefs"/>
</xsl:when>
<xsl:otherwise>
<p>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="@role and $para.propagates.style != 0">
<xsl:choose>
<xsl:when test="@role and $para.propagates.style != 0">
<xsl:template match="mathphrase">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</span>
</xsl:template>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:apply-templates select="$title"/>
<xsl:if test="not($title)">
- <!-- id is output on title if there is one -->
+ <!-- andhor is output on title if there is one -->
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:element name="h{string(number($qalevel)+1)}">
<xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="node" select=".."/>
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="node" select=".."/>
<xsl:with-param name="conditional" select="0"/>
<tr>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <!-- capture the id of the quandaentry -->
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="node" select=".."/>
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<td align="{$direction.align.start}" valign="top">
+ <!-- and the id of the question too -->
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="node" select=".."/>
<xsl:with-param name="conditional" select="0"/>
<tr>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<td align="{$direction.align.start}" valign="top">
<xsl:call-template name="anchor"/>
<xsl:variable name="answer.label">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
- <xsl:if test="$generate.id.attributes != 0">
- <xsl:attribute name="id">
- <xsl:call-template name="object.id"/>
- </xsl:attribute>
- </xsl:if>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="reference.titlepage"/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:if test="$refentry.separator != 0 and preceding-sibling::refentry">
<div class="refentry.separator">
<hr/>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:choose>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<h2>
<xsl:choose>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="section.titlepage"/>
<xsl:variable name="toc.params">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:choose>
<xsl:when test="@renderas = 'sect2'">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:choose>
<xsl:when test="@renderas = 'sect1'">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:choose>
<xsl:when test="@renderas = 'sect1'">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:choose>
<xsl:when test="@renderas = 'sect1'">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:choose>
<xsl:when test="@renderas = 'sect1'">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="simplesect.titlepage"/>
<xsl:apply-templates/>
<xsl:attribute name="style">clear: both</xsl:attribute>
</xsl:if>
</xsl:if>
- <xsl:if test="$allow-anchors != 0 and $generate.id.attributes = 0">
+ <xsl:if test="$allow-anchors != 0">
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="node" select="$section"/>
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="node" select="$section"/>
<xsl:with-param name="conditional" select="0"/>
</xsl:variable>
<xsl:element name="h{$hlevel}">
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
<p>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:if test="..//processing-instruction('dbcmdlist')">
<!-- * Placing a dbcmdlist PI as a child of a particular element -->
<!-- * creates a hyperlinked list of all cmdsynopsis instances -->
<!-- * a descendant of an element containing a dbfunclist PI, we need -->
<!-- * to output an a@id instance so that we will have something to -->
<!-- * link to -->
+ <span>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
+ </span>
<xsl:call-template name="anchor">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:template match="funcsynopsisinfo">
<pre>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates/>
</pre>
</xsl:template>
<xsl:template match="funcdef" mode="kr-nontabular">
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="kr-nontabular"/>
<xsl:text>(</xsl:text>
</code>
<xsl:template match="funcdef" mode="kr-tabular">
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="kr-tabular"/>
<xsl:text>(</xsl:text>
</code>
<xsl:template match="funcdef" mode="ansi-nontabular">
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="ansi-nontabular"/>
<xsl:text>(</xsl:text>
</code>
<xsl:template match="funcdef" mode="ansi-tabular">
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="ansi-tabular"/>
<xsl:text>(</xsl:text>
</code>
<xsl:template match="classsynopsis" mode="java">
<pre>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates select="ooclass[1]" mode="java"/>
<xsl:if test="ooclass[preceding-sibling::*]">
<xsl:text> extends</xsl:text>
</xsl:choose>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
</span>
</xsl:template>
<xsl:template match="modifier|package" mode="java">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
<xsl:if test="following-sibling::*">
<xsl:text> </xsl:text>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
</span>
</xsl:template>
<xsl:template match="fieldsynopsis" mode="java">
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="parent::classsynopsis">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:template match="type" mode="java">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
<xsl:text> </xsl:text>
</span>
<xsl:template match="varname" mode="java">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
<xsl:text> </xsl:text>
</span>
<xsl:template match="initializer" mode="java">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>= </xsl:text>
<xsl:apply-templates mode="java"/>
</span>
<xsl:template match="void" mode="java">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>void </xsl:text>
</span>
</xsl:template>
<xsl:template match="methodname" mode="java">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
</span>
</xsl:template>
<xsl:template match="parameter" mode="java">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="java"/>
</span>
</xsl:template>
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$decl"/>
<xsl:text>(</xsl:text>
<xsl:apply-templates select="methodparam" mode="java">
<xsl:template match="classsynopsis" mode="cpp">
<pre>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates select="ooclass[1]" mode="cpp"/>
<xsl:if test="ooclass[preceding-sibling::*]">
<xsl:text>: </xsl:text>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
</span>
</xsl:template>
<xsl:template match="modifier|package" mode="cpp">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
<xsl:if test="following-sibling::*">
<xsl:text> </xsl:text>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
</span>
</xsl:template>
<xsl:template match="fieldsynopsis" mode="cpp">
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="parent::classsynopsis">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:template match="type" mode="cpp">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
<xsl:text> </xsl:text>
</span>
<xsl:template match="varname" mode="cpp">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
<xsl:text> </xsl:text>
</span>
<xsl:template match="initializer" mode="cpp">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>= </xsl:text>
<xsl:apply-templates mode="cpp"/>
</span>
<xsl:template match="void" mode="cpp">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>void </xsl:text>
</span>
</xsl:template>
<xsl:template match="methodname" mode="cpp">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
</span>
</xsl:template>
<xsl:template match="parameter" mode="cpp">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="cpp"/>
</span>
</xsl:template>
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="parent::classsynopsis">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:template match="classsynopsis" mode="idl">
<pre>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>interface </xsl:text>
<xsl:apply-templates select="ooclass[1]" mode="idl"/>
<xsl:if test="ooclass[preceding-sibling::*]">
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
</span>
</xsl:template>
<xsl:template match="modifier|package" mode="idl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
<xsl:if test="following-sibling::*">
<xsl:text> </xsl:text>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
</span>
</xsl:template>
<xsl:template match="fieldsynopsis" mode="idl">
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="parent::classsynopsis">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:template match="type" mode="idl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
<xsl:text> </xsl:text>
</span>
<xsl:template match="varname" mode="idl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
<xsl:text> </xsl:text>
</span>
<xsl:template match="initializer" mode="idl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>= </xsl:text>
<xsl:apply-templates mode="idl"/>
</span>
<xsl:template match="void" mode="idl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>void </xsl:text>
</span>
</xsl:template>
<xsl:template match="methodname" mode="idl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
</span>
</xsl:template>
<xsl:template match="parameter" mode="idl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="idl"/>
</span>
</xsl:template>
<xsl:variable name="end-modifiers" select="modifier[preceding-sibling::*[local-name(.) != 'modifier']]"/>
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="parent::classsynopsis">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:template match="classsynopsis" mode="perl">
<pre>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>package </xsl:text>
<xsl:apply-templates select="ooclass[1]" mode="perl"/>
<xsl:text>;</xsl:text>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
</span>
</xsl:template>
<xsl:template match="modifier|package" mode="perl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
<xsl:if test="following-sibling::*">
<xsl:text> </xsl:text>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
</span>
</xsl:template>
<xsl:template match="fieldsynopsis" mode="perl">
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="parent::classsynopsis">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:template match="type" mode="perl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
<xsl:text> </xsl:text>
</span>
<xsl:template match="varname" mode="perl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
<xsl:text> </xsl:text>
</span>
<xsl:template match="initializer" mode="perl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>= </xsl:text>
<xsl:apply-templates mode="perl"/>
</span>
<xsl:template match="void" mode="perl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>void </xsl:text>
</span>
</xsl:template>
<xsl:template match="methodname" mode="perl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
</span>
</xsl:template>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
</span>
</xsl:template>
<xsl:template match="parameter" mode="perl">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="perl"/>
</span>
</xsl:template>
<code>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>sub </xsl:text>
<xsl:apply-templates select="methodname" mode="perl"/>
</xsl:variable>
<tr>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="tr.attributes">
<xsl:with-param name="rownum">
<xsl:number from="tgroup" count="row"/>
</xsl:variable>
<xsl:element name="{$cellgi}">
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="$bgcolor != ''">
<xsl:attribute name="bgcolor">
<xsl:value-of select="$bgcolor"/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:if test="title and $placement = 'before'">
<xsl:template match="abbrev" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="abstract" mode="titlepage.mode">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="anchor"/>
<xsl:if test="$abstract.notitle.enabled = 0">
<xsl:call-template name="formal.object.heading">
<xsl:template match="affiliation" mode="titlepage.mode">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
</div>
</xsl:template>
<xsl:template match="artpagenums" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template name="credits.div">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="self::editor[position()=1] and not($editedby.enabled = 0)">
<h4 class="editedby"><xsl:call-template name="gentext.edited.by"/></h4>
</xsl:if>
<xsl:template match="authorblurb|personblurb" mode="titlepage.mode">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
</div>
</xsl:template>
<xsl:template match="authorgroup" mode="titlepage.mode">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="parent::refentryinfo">
<h2>Authors</h2>
</xsl:if>
<xsl:template match="authorinitials" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="collab" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="collabname" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
</span>
</xsl:template>
<xsl:template match="confgroup" mode="titlepage.mode">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
</div>
</xsl:template>
<xsl:template match="confdates" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="confsponsor" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="conftitle" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="contractnum" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="contractsponsor" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:when test="not($contrib.inline.enabled = 0)">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
</span><xsl:text> </xsl:text>
</xsl:when>
<xsl:otherwise>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<p><xsl:apply-templates mode="titlepage.mode"/></p>
</div>
</xsl:otherwise>
<p>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="gentext">
<xsl:with-param name="key" select="'Copyright'"/>
</xsl:call-template>
<xsl:template match="corpauthor" mode="titlepage.mode">
<h3>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
</h3>
</xsl:template>
<xsl:template match="corpcredit" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="corpname" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="date" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="edition" mode="titlepage.mode">
<p>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<xsl:call-template name="gentext.space"/>
<xsl:call-template name="gentext">
<xsl:template match="firstname" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="honorific" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="isbn" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="issn" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="biblioid" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="invpartnumber" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="issuenum" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="jobtitle" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:call-template name="body.attributes"/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:apply-templates mode="titlepage.mode"/>
</div>
</body>
<xsl:otherwise>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <a name="{$id}"/>
+ <xsl:call-template name="id.attribute">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
+ <xsl:call-template name="anchor">
+ <xsl:with-param name="conditional" select="0"/>
+ </xsl:call-template>
<xsl:apply-templates mode="titlepage.mode"/>
</div>
</xsl:otherwise>
<xsl:template match="lineage" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
</xsl:if>
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="orgname" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="othername" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="pagenums" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="printhistory" mode="titlepage.mode">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
</div>
</xsl:template>
<xsl:template match="productname" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="productnumber" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="publishername" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="pubsnumber" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:variable name="contents">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<table border="1" width="100%" summary="Revision history">
<tr>
<th align="{$direction.align.start}" valign="top" colspan="{$numcols}">
<xsl:template match="seriesvolnums" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="shortaffil" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:template match="subtitle" mode="titlepage.mode">
<h2>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
</h2>
</xsl:template>
<xsl:template match="surname" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<h1>
<xsl:apply-templates select="." mode="common.html.attributes"/>
- <xsl:if test="$generate.id.attributes = 0">
- <a name="{$id}"/>
- </xsl:if>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <a name="{$id}"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="id">
+ <xsl:value-of select="$id"/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
<xsl:choose>
<xsl:when test="$show.revisionflag != 0 and @revisionflag">
<span class="{@revisionflag}">
<xsl:template match="volumenum" mode="titlepage.mode">
<span>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates mode="titlepage.mode"/>
<br/>
</span>
<xsl:when test="* and $process.source.toc != 0">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates select="title"/>
<dl>
<xsl:apply-templates select="." mode="common.html.attributes"/>
<xsl:when test="* and $process.source.toc != 0">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates select="title"/>
<dl>
<xsl:apply-templates select="." mode="common.html.attributes"/>
<xsl:template match="programlisting|screen|synopsis">
<xsl:param name="suppress-numbers" select="'0'"/>
- <xsl:variable name="id">
- <xsl:call-template name="object.id"/>
- </xsl:variable>
<xsl:call-template name="anchor"/>
</xsl:variable>
<xsl:element name="{$div.element}">
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="@width != ''">
<xsl:attribute name="width">
<xsl:value-of select="@width"/>
<xsl:otherwise>
<xsl:element name="{$div.element}">
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:if test="@width != ''">
<xsl:attribute name="width">
<xsl:value-of select="@width"/>
<xsl:when test="@class='monospaced'">
<pre>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="number.rtf.lines">
<xsl:with-param name="rtf" select="$rtf"/>
</xsl:call-template>
<xsl:otherwise>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<p>
<xsl:call-template name="number.rtf.lines">
<xsl:with-param name="rtf" select="$rtf"/>
<xsl:when test="@class='monospaced'">
<pre>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$rtf"/>
</pre>
</xsl:when>
<xsl:otherwise>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<p>
<xsl:call-template name="make-verbatim">
<xsl:with-param name="rtf" select="$rtf"/>
and $linenumbering.extension != '0'">
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<p>
<xsl:call-template name="number.rtf.lines">
<xsl:with-param name="rtf" select="$rtf"/>
<xsl:otherwise>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<p>
<xsl:call-template name="make-verbatim">
<xsl:with-param name="rtf" select="$rtf"/>
<!-- ==================================================================== -->
<xsl:template match="anchor">
- <xsl:call-template name="anchor"/>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <xsl:call-template name="anchor"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <span>
+ <xsl:call-template name="id.attribute"/>
+ </span>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
<!-- ==================================================================== -->
</xsl:message>
<a href="{$href}">
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:text>???</xsl:text>
</a>
</xsl:when>
<xsl:otherwise>
<a href="{$href}">
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:apply-templates select="$etarget" mode="endterm"/>
</a>
</xsl:otherwise>
<a>
<xsl:apply-templates select="." mode="common.html.attributes"/>
<xsl:if test="@id or @xml:id">
- <xsl:attribute name="name">
- <xsl:value-of select="(@id|@xml:id)[1]"/>
- </xsl:attribute>
+ <xsl:choose>
+ <xsl:when test="$generate.id.attributes = 0">
+ <xsl:attribute name="name">
+ <xsl:value-of select="(@id|@xml:id)[1]"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="id">
+ <xsl:value-of select="(@id|@xml:id)[1]"/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:if>
<xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute>
<xsl:if test="$ulink.target != ''">
<xsl:when test="$href != ''">
<a href="{$href}">
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:copy-of select="$hottext"/>
</a>
<xsl:copy-of select="$olink.page.citation"/>
<xsl:copy-of select="$olink.docname.citation"/>
</xsl:when>
<xsl:otherwise>
- <span class="olink"><xsl:copy-of select="$hottext"/></span>
+ <span class="olink">
+ <xsl:call-template name="id.attribute"/>
+ <xsl:copy-of select="$hottext"/>
+ </span>
<xsl:copy-of select="$olink.page.citation"/>
<xsl:copy-of select="$olink.docname.citation"/>
</xsl:otherwise>
<xsl:when test="$href != ''">
<a href="{$href}">
<xsl:apply-templates select="." mode="common.html.attributes"/>
+ <xsl:call-template name="id.attribute"/>
<xsl:call-template name="olink.hottext"/>
</a>
</xsl:when>