Stylesheet
gentext.xsl
Template
* object.title.template
Template
d:chapter object.title.template
Template
d:appendix object.title.template
Template
d:part object.title.template
Template
d:section|d:sect1|d:sect2|d:sect3|d:sect4|d:sect5|d:simplesect |d:bridgehead object.title.template
Template
d:procedure object.title.template
Template
* object.subtitle.template
Template
* is.autonumber
Template
d:section|d:sect1|d:sect2|d:sect3|d:sect4|d:sect5 is.autonumber
Template
d:figure|d:example|d:table|d:equation is.autonumber
Template
d:appendix is.autonumber
Template
d:chapter is.autonumber
Template
d:part is.autonumber
Template
d:preface is.autonumber
Template
d:question|d:answer is.autonumber
Template
d:qandadiv is.autonumber
Template
d:bridgehead is.autonumber
Template
d:procedure is.autonumber
Template
* object.xref.template
Template
* object.title.markup
Template
* object.title.markup.textonly
Template
* object.titleabbrev.markup
Template
* object.subtitle.markup
Template
* object.xref.markup
Template
d:listitem object.xref.markup
Template
d:question object.xref.markup
Template
substitute-markup
Template
make.gentext.template
Documentation
Description ============================================================
Namespace
No namespace
Used by
References
Parameters
QName
Namespace
Select
lang
No namespace
purpose
No namespace
referrer
No namespace
target.elem
No namespace
local-name(.)
xrefstyle
No namespace
''
Import precedence
0
Source
<xsl:template name= "make.gentext.template" >
<xsl:param name= "xrefstyle" select= "''" />
<xsl:param name= "purpose" />
<xsl:param name= "referrer" />
<xsl:param name= "lang" >
<xsl:call-template name= "l10n.language" />
</xsl:param>
<xsl:param name= "target.elem" select= "local-name(.)" />
<!-- parse xrefstyle to get parts -->
<xsl:variable name= "parts" select= "substring-after(normalize-space($xrefstyle), 'select:')" />
<xsl:variable name= "labeltype" >
<xsl:choose >
<xsl:when test= "contains($parts, 'labelnumber')" >
<xsl:text > labelnumber </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'labelname')" >
<xsl:text > labelname </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'label')" >
<xsl:text > label </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name= "titletype" >
<xsl:choose >
<xsl:when test= "contains($parts, 'quotedtitle')" >
<xsl:text > quotedtitle </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'title')" >
<xsl:text > title </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name= "pagetype" >
<xsl:choose >
<xsl:when test= "$insert.olink.page.number = 'no' and local-name($referrer) = 'olink'" >
<!-- suppress page numbers -->
</xsl:when>
<xsl:when test= "$insert.xref.page.number = 'no' and local-name($referrer) != 'olink'" >
<!-- suppress page numbers -->
</xsl:when>
<xsl:when test= "contains($parts, 'nopage')" >
<xsl:text > nopage </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'pagenumber')" >
<xsl:text > pagenumber </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'pageabbrev')" >
<xsl:text > pageabbrev </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'Page')" >
<xsl:text > Page </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'page')" >
<xsl:text > page </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:variable name= "docnametype" >
<xsl:choose >
<xsl:when test= "($olink.doctitle = 0 or $olink.doctitle = 'no') and local-name($referrer) = 'olink'" >
<!-- suppress docname -->
</xsl:when>
<xsl:when test= "contains($parts, 'nodocname')" >
<xsl:text > nodocname </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'docnamelong')" >
<xsl:text > docnamelong </xsl:text>
</xsl:when>
<xsl:when test= "contains($parts, 'docname')" >
<xsl:text > docname </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:if test= "$labeltype != ''" >
<xsl:choose >
<xsl:when test= "$labeltype = 'labelname'" >
<xsl:call-template name= "gentext" >
<xsl:with-param name= "key" >
<xsl:choose >
<xsl:when test= "local-name($referrer) = 'olink'" >
<xsl:value-of select= "$target.elem" />
</xsl:when>
<xsl:otherwise >
<xsl:value-of select= "local-name(.)" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test= "$labeltype = 'labelnumber'" >
<xsl:text > %n </xsl:text>
</xsl:when>
<xsl:when test= "$labeltype = 'label'" >
<xsl:call-template name= "gentext.template" >
<xsl:with-param name= "context" select= "'xref-number'" />
<xsl:with-param name= "name" >
<xsl:choose >
<xsl:when test= "local-name($referrer) = 'olink'" >
<xsl:value-of select= "$target.elem" />
</xsl:when>
<xsl:otherwise >
<xsl:call-template name= "xpath.location" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
<xsl:with-param name= "purpose" select= "$purpose" />
<xsl:with-param name= "xrefstyle" select= "$xrefstyle" />
<xsl:with-param name= "referrer" select= "$referrer" />
</xsl:call-template>
</xsl:when>
</xsl:choose>
<xsl:choose >
<xsl:when test= "$titletype != ''" >
<xsl:value-of select= "$xref.label-title.separator" />
</xsl:when>
<xsl:when test= "$pagetype != '' and $pagetype != 'nopage'" >
<xsl:value-of select= "$xref.label-page.separator" />
</xsl:when>
</xsl:choose>
</xsl:if>
<xsl:if test= "$titletype != ''" >
<xsl:choose >
<xsl:when test= "$titletype = 'title'" >
<xsl:text > %t </xsl:text>
</xsl:when>
<xsl:when test= "$titletype = 'quotedtitle'" >
<xsl:call-template name= "gentext.dingbat" >
<xsl:with-param name= "dingbat" select= "'startquote'" />
</xsl:call-template>
<xsl:text > %t </xsl:text>
<xsl:call-template name= "gentext.dingbat" >
<xsl:with-param name= "dingbat" select= "'endquote'" />
</xsl:call-template>
</xsl:when>
</xsl:choose>
<xsl:choose >
<xsl:when test= "$pagetype != '' and $pagetype != 'nopage'" >
<xsl:value-of select= "$xref.title-page.separator" />
</xsl:when>
</xsl:choose>
</xsl:if>
<!-- special case: use regular xref template if just turning off page -->
<xsl:if test= "($pagetype = 'nopage' or $docnametype = 'nodocname') and local-name($referrer) != 'olink' and $labeltype = '' and $titletype = ''" >
<xsl:apply-templates select= "." mode= "object.xref.template" >
<xsl:with-param name= "purpose" select= "$purpose" />
<xsl:with-param name= "xrefstyle" select= "$xrefstyle" />
<xsl:with-param name= "referrer" select= "$referrer" />
</xsl:apply-templates>
</xsl:if>
<xsl:if test= "$pagetype != ''" >
<xsl:choose >
<xsl:when test= "$pagetype = 'page'" >
<xsl:call-template name= "gentext.template" >
<xsl:with-param name= "context" select= "'xref'" />
<xsl:with-param name= "name" select= "'page'" />
</xsl:call-template>
</xsl:when>
<xsl:when test= "$pagetype = 'Page'" >
<xsl:call-template name= "gentext.template" >
<xsl:with-param name= "context" select= "'xref'" />
<xsl:with-param name= "name" select= "'Page'" />
</xsl:call-template>
</xsl:when>
<xsl:when test= "$pagetype = 'pageabbrev'" >
<xsl:call-template name= "gentext.template" >
<xsl:with-param name= "context" select= "'xref'" />
<xsl:with-param name= "name" select= "'pageabbrev'" />
</xsl:call-template>
</xsl:when>
<xsl:when test= "$pagetype = 'pagenumber'" >
<xsl:text > %p </xsl:text>
</xsl:when>
</xsl:choose>
</xsl:if>
<!-- Add reference to other document title -->
<xsl:if test= "$docnametype != '' and local-name($referrer) = 'olink'" >
<!-- Any separator should be in the gentext template -->
<xsl:choose >
<xsl:when test= "$docnametype = 'docnamelong'" >
<xsl:call-template name= "gentext.template" >
<xsl:with-param name= "context" select= "'xref'" />
<xsl:with-param name= "name" select= "'docnamelong'" />
</xsl:call-template>
</xsl:when>
<xsl:when test= "$docnametype = 'docname'" >
<xsl:call-template name= "gentext.template" >
<xsl:with-param name= "context" select= "'xref'" />
<xsl:with-param name= "name" select= "'docname'" />
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:if>
</xsl:template>