..
/
download
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://docbook.org/ns/docbook"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<xsl:template match="dmodule[contains(@xsi:noNamespaceSchemaLocation, 'frontmatter.xsd')]">
<chapter>
<xsl:attribute name="xml:id">
<xsl:text>ID_</xsl:text>
<xsl:call-template name="get.dmcode"/>
</xsl:attribute>
<xsl:variable name="info.code">
<xsl:call-template name="get.infocode"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="$info.code = '001'">
<xsl:apply-templates select="identAndStatusSection">
<xsl:with-param name="show.producedby.blurb">
<xsl:choose>
<xsl:when test="$producedby.blurb.on.titlepage != 0">yes</xsl:when>
<xsl:otherwise>no</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="identAndStatusSection"/>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="content/frontMatter/*"/>
</chapter>
</xsl:template>
<xsl:template match="frontMatterTitlePage">
<xsl:call-template name="title.page"/>
</xsl:template>
<xsl:template match="productIntroName">
<fo:block font-size="18pt">
<xsl:apply-templates select="name"/>
</fo:block>
</xsl:template>
<xsl:template match="productAndModel">
<fo:block font-size="18pt">
<xsl:apply-templates select="productName/name"/>
<xsl:if test="productModel">
<xsl:for-each select="productModel/modelName/name|productModel/natoStockNumber|productModel/identNumber|productModel/endItemCode">
<xsl:text> </xsl:text>
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:if>
</fo:block>
</xsl:template>
<xsl:template match="productIllustration">
<xsl:apply-templates select="graphic">
<xsl:with-param name="show.icn" select="0"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="frontMatterTableOfContent">
<xsl:apply-templates select="reducedPara"/>
<xsl:apply-templates select="tocList"/>
</xsl:template>
<xsl:template match="tocList">
<informaltable pgwide="1" frame="topbot" colsep="0" rowsep="0">
<tgroup cols="5" align="left">
<colspec colname="c1"/>
<colspec colname="c2"/>
<colspec colname="c3" colwidth="7em"/>
<colspec colname="c4" colwidth="4em"/>
<colspec colname="c5" colwidth="8em"/>
<thead rowsep="1">
<row>
<entry>Document title</entry>
<entry>Document identifier</entry>
<entry>Issue date</entry>
<entry>
<xsl:choose>
<xsl:when test="$running.pagination = 0">No. of pages</xsl:when>
<xsl:otherwise>Page</xsl:otherwise>
</xsl:choose>
</entry>
<entry>Applicable to</entry>
</row>
</thead>
<tbody>
<xsl:apply-templates select="tocEntry" mode="TOC"/>
</tbody>
</tgroup>
</informaltable>
</xsl:template>
<xsl:template match="tocEntry" mode="TOC">
<xsl:if test="$hierarchical.table.of.contents = 1">
<xsl:apply-templates select="title" mode="toc"/>
</xsl:if>
<xsl:apply-templates select="tocEntry|dmRef" mode="TOC"/>
</xsl:template>
<xsl:template match="dmRef" mode="TOC">
<xsl:variable name="numberOfPages" select="following-sibling::*[1][self::numberOfPages]"/>
<xsl:variable name="dm.code">
<xsl:apply-templates select="dmRefIdent/dmCode"/>
</xsl:variable>
<xsl:variable name="applicRefId" select="@applicRefId"/>
<row>
<entry>
<xsl:apply-templates select="dmRefAddressItems/dmTitle"/>
</entry>
<entry>
<xsl:apply-templates select="."/>
</entry>
<entry>
<xsl:apply-templates select="dmRefAddressItems/issueDate"/>
</entry>
<entry>
<xsl:choose>
<xsl:when test="$numberOfPages">
<xsl:value-of select="$numberOfPages"/>
</xsl:when>
<xsl:when test="$running.pagination = 0">
<fo:page-number-citation-last ref-id="ID_{$dm.code}-end"/>
</xsl:when>
<xsl:otherwise>
<fo:page-number-citation ref-id="ID_{$dm.code}"/>
</xsl:otherwise>
</xsl:choose>
</entry>
<entry>
<xsl:call-template name="fm.entry.applic">
<xsl:with-param name="applicRefId" select="$applicRefId"/>
</xsl:call-template>
</entry>
</row>
</xsl:template>
<xsl:template match="frontMatterList">
<xsl:apply-templates select="reducedPara"/>
<xsl:choose>
<xsl:when test="@frontMatterType = 'fm03'">
<xsl:apply-templates select="frontMatterSubList" mode="HIGH"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="frontMatterSubList" mode="LOEDM"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="fm.entry.applic">
<xsl:param name="applicRefId" select="@applicRefId"/>
<xsl:choose>
<xsl:when test="$applicRefId">
<xsl:call-template name="get.applicability.string">
<xsl:with-param name="applic" select="ancestor::dmodule//*[@id = $applicRefId]"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="get.applicability.string">
<xsl:with-param name="applic" select="ancestor::dmodule/identAndStatusSection/dmStatus/applic"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="frontMatterSubList" mode="LOEDM">
<informaltable pgwide="1" frame="topbot" colsep="0" rowsep="0">
<tgroup cols="6" align="left">
<colspec colnum="3" colwidth="2em" align="center"/>
<colspec colnum="4" colwidth="6em"/>
<colspec colnum="5" colwidth="4em"/>
<thead rowsep="1">
<row>
<entry>Document title</entry>
<entry>Data module code</entry>
<entry></entry>
<entry>Issue date</entry>
<entry>
<xsl:choose>
<xsl:when test="$running.pagination = 0">No. of pages</xsl:when>
<xsl:otherwise>Page</xsl:otherwise>
</xsl:choose>
</entry>
<entry>Applicable to</entry>
</row>
</thead>
<tbody>
<xsl:apply-templates select="*" mode="LOEDM"/>
</tbody>
</tgroup>
</informaltable>
</xsl:template>
<xsl:template match="frontMatterDmEntry" mode="LOEDM">
<xsl:variable name="dm.code">
<xsl:apply-templates select="dmRef/dmRefIdent/dmCode"/>
</xsl:variable>
<xsl:variable name="applicRefId" select="(@applicRefId|dmRef/@applicRefId)[1]"/>
<row>
<entry>
<xsl:apply-templates select="dmRef/dmRefAddressItems/dmTitle"/>
</entry>
<entry>
<xsl:apply-templates select="dmRef"/>
</entry>
<entry>
<xsl:apply-templates select="@issueType" mode="lodm"/>
</entry>
<entry>
<xsl:apply-templates select="dmRef/dmRefAddressItems/issueDate"/>
</entry>
<entry>
<xsl:choose>
<xsl:when test="numberOfPages">
<xsl:value-of select="numberOfPages"/>
</xsl:when>
<xsl:when test="$running.pagination = 0">
<fo:page-number-citation-last ref-id="ID_{$dm.code}-end"/>
</xsl:when>
<xsl:otherwise>
<fo:page-number-citation ref-id="ID_{$dm.code}"/>
</xsl:otherwise>
</xsl:choose>
</entry>
<entry>
<xsl:call-template name="fm.entry.applic">
<xsl:with-param name="applicRefId" select="$applicRefId"/>
</xsl:call-template>
</entry>
</row>
</xsl:template>
<xsl:template match="frontMatterPmEntry" mode="LOEDM">
<xsl:variable name="applicRefId" select="(@applicRefId|pmRef/@applicRefId)[1]"/>
<row>
<entry>
<xsl:apply-templates select="pmRef/pmRefAddressItems/pmTitle"/>
</entry>
<entry>
<xsl:apply-templates select="pmRef"/>
</entry>
<entry>
<xsl:apply-templates select="@issueType" mode="lodm"/>
</entry>
<entry>
<xsl:apply-templates select="pmRef/pmRefAddressItems/issueDate"/>
</entry>
<entry/>
<entry>
<xsl:call-template name="fm.entry.applic">
<xsl:with-param name="applicRefId" select="$applicRefId"/>
</xsl:call-template>
</entry>
</row>
</xsl:template>
<xsl:template match="frontMatterExternalPubEntry" mode="LOEDM">
<xsl:variable name="applicRefId" select="(@applicRefId|pmRef/@applicRefId)[1]"/>
<row>
<entry>
<xsl:apply-templates select="externalPubRef/externalPubRefIdent/externalPubTitle"/>
</entry>
<entry>
<xsl:apply-templates select="externalPubRef"/>
</entry>
<entry>
<xsl:apply-templates select="@issueType" mode="lodm"/>
</entry>
<entry>
<xsl:apply-templates select="externalPubRef/externalPubRefAddressItems/externalPubIssueDate"/>
</entry>
<entry/>
<entry>
<xsl:call-template name="fm.entry.applic">
<xsl:with-param name="applicRefId" select="$applicRefId"/>
</xsl:call-template>
</entry>
</row>
</xsl:template>
<xsl:template match="frontMatterSubList" mode="HIGH">
<informaltable pgwide="1" frame="topbot" colsep="0" rowsep="0">
<tgroup cols="2" align="left">
<colspec colname="c1"/>
<colspec colname="c2"/>
<thead rowsep="1">
<row>
<entry>Data module</entry>
<entry>Reason for update</entry>
</row>
</thead>
<tbody>
<xsl:apply-templates select="*" mode="HIGH"/>
</tbody>
</tgroup>
</informaltable>
</xsl:template>
<xsl:template match="frontMatterDmEntry" mode="HIGH">
<row>
<entry>
<xsl:apply-templates select="dmRef"/>
</entry>
<entry>
<xsl:apply-templates select="reasonForUpdate/simplePara"/>
</entry>
</row>
</xsl:template>
<xsl:template match="frontMatterPmEntry" mode="HIGH">
<row>
<entry>
<xsl:apply-templates select="pmRef"/>
</entry>
<entry>
<xsl:apply-templates select="reasonForUpdate/simplePara"/>
</entry>
</row>
</xsl:template>
<xsl:template match="frontMatterExternalPubEntry">
<row>
<entry>
<xsl:apply-templates select="externalPubRef"/>
</entry>
<entry>
<xsl:apply-templates select="reasonForUpdate/simplePara"/>
</entry>
</row>
</xsl:template>
</xsl:stylesheet>
gopher://khzae.net/0/s1000d/S1000D-XSL-Stylesheets/src/s1000dtodb/frontmatter.xsl