..
/
download
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:attribute-set name="verbatim">
<xsl:attribute name="font-family">Courier</xsl:attribute>
<xsl:attribute name="white-space-treatment">preserve</xsl:attribute>
<xsl:attribute name="white-space">pre</xsl:attribute>
<xsl:attribute name="white-space-collapse">false</xsl:attribute>
<xsl:attribute name="linefeed-treatment">preserve</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="centerhead1">
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="font-size">14pt</xsl:attribute>
<xsl:attribute name="text-align">center</xsl:attribute>
<xsl:attribute name="padding-top">16pt</xsl:attribute>
<xsl:attribute name="start-indent">0pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="centerhead2">
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="font-style">italic</xsl:attribute>
<xsl:attribute name="font-size">14pt</xsl:attribute>
<xsl:attribute name="text-align">center</xsl:attribute>
<xsl:attribute name="padding-top">16pt</xsl:attribute>
<xsl:attribute name="start-indent">0pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="sidehead0">
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="font-size">14pt</xsl:attribute>
<xsl:attribute name="padding-top">16pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="sidehead1">
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="font-size">14pt</xsl:attribute>
<xsl:attribute name="padding-top">16pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="sidehead2">
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="font-size">12pt</xsl:attribute>
<xsl:attribute name="padding-top">14pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="sidehead3">
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="font-size">10pt</xsl:attribute>
<xsl:attribute name="padding-top">11pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="sidehead4">
<xsl:attribute name="font-size">10pt</xsl:attribute>
<xsl:attribute name="padding-top">11pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="sidehead5">
<xsl:attribute name="font-style">italic</xsl:attribute>
<xsl:attribute name="font-size">10pt</xsl:attribute>
<xsl:attribute name="padding-top">11pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="table">
<xsl:attribute name="table-layout">fixed</xsl:attribute>
<xsl:attribute name="width">100%</xsl:attribute>
<xsl:attribute name="border-top-color">black</xsl:attribute>
<xsl:attribute name="border-top-width">0.5pt</xsl:attribute>
<xsl:attribute name="border-bottom-color">black</xsl:attribute>
<xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="header-cell">
<xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
<xsl:attribute name="border-bottom-color">black</xsl:attribute>
</xsl:attribute-set>
<xsl:param name="page-height">297mm</xsl:param>
<xsl:param name="page-width">210mm</xsl:param>
<xsl:param name="page-margin-top">11mm</xsl:param>
<xsl:param name="page-margin-bottom">12mm</xsl:param>
<xsl:param name="page-margin-left">25mm</xsl:param>
<xsl:param name="page-margin-right">15mm</xsl:param>
<xsl:param name="standard-leading">8pt</xsl:param>
<xsl:param name="inner-type-limit">20mm</xsl:param>
<xsl:param name="font-family">Helvetica</xsl:param>
<xsl:param name="warning-caution-boxes" select="false()"/>
<xsl:attribute-set name="warning-caution-box">
<xsl:attribute name="border-top-width">
<xsl:choose>
<xsl:when test="$warning-caution-boxes">5pt</xsl:when>
<xsl:otherwise>0pt</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="border-top-color">
<xsl:choose>
<xsl:when test="self::warning">red</xsl:when>
<xsl:when test="self::caution">yellow</xsl:when>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="border-bottom-width">
<xsl:choose>
<xsl:when test="$warning-caution-boxes">5pt</xsl:when>
<xsl:otherwise>0pt</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="border-bottom-color">
<xsl:choose>
<xsl:when test="self::warning">red</xsl:when>
<xsl:when test="self::caution">yellow</xsl:when>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="border-left-width">
<xsl:choose>
<xsl:when test="$warning-caution-boxes">5pt</xsl:when>
<xsl:otherwise>0pt</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="border-left-color">
<xsl:choose>
<xsl:when test="self::warning">red</xsl:when>
<xsl:when test="self::caution">yellow</xsl:when>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="border-right-width">
<xsl:choose>
<xsl:when test="$warning-caution-boxes">5pt</xsl:when>
<xsl:otherwise>0pt</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="border-right-color">
<xsl:choose>
<xsl:when test="self::warning">red</xsl:when>
<xsl:when test="self::caution">yellow</xsl:when>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
<xsl:template match="/">
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="page" page-height="{$page-height}" page-width="{$page-width}">
<fo:region-body margin-left="{$page-margin-left}" margin-right="{$page-margin-right}" margin-top="{$page-margin-top}" margin-bottom="{$page-margin-bottom}"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="page">
<fo:flow flow-name="xsl-region-body" font-size="10pt" font-family="{$font-family}">
<fo:block>
<xsl:apply-templates select="*"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<xsl:template match="dmodule">
<xsl:call-template name="header"/>
<fo:block border-top-width="0.5pt" border-top-color="black" border-bottom-width="0.5pt" border-bottom-color="black" padding-bottom="20mm">
<xsl:apply-templates select="identAndStatusSection/dmAddress/dmAddressItems/dmTitle"/>
<xsl:apply-templates select="content"/>
</fo:block>
<xsl:call-template name="footer"/>
</xsl:template>
<xsl:template match="identAndStatusSection">
<xsl:apply-templates select="dmAddress/dmAddressItems/dmTitle"/>
</xsl:template>
<xsl:template name="header">
<fo:block font-weight="bold" text-align="center" padding-bottom="5mm">Unclassified</fo:block>
</xsl:template>
<xsl:template name="footer">
<fo:block>
<fo:table table-layout="fixed" table-width="100%">
<fo:table-column column-width="proportional-column-width(2)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(2)"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell text-align="left" number-rows-spanned="2">
<fo:block>
<xsl:text>Applicable to: </xsl:text>
<xsl:apply-templates select="identAndStatusSection/dmStatus/applic/displayText"/>
</fo:block>
</fo:table-cell>
<fo:table-cell text-align="center" font-weight="bold">
<fo:block>End of data module</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right" font-weight="bold">
<fo:block>
<xsl:apply-templates select="identAndStatusSection/dmAddress/dmIdent/dmCode"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell text-align="center" font-weight="bold">
<fo:block>Unclassified</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right" font-weight="bold">
<xsl:apply-templates select="identAndStatusSection/dmAddress/dmAddressItems/issueDate"/>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:template>
<xsl:template match="issueDate">
<xsl:value-of select="@year"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@month"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@day"/>
</xsl:template>
<xsl:template match="simplePara">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="dmCode">
<xsl:value-of select="@modelIdentCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@systemDiffCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@systemCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@subSystemCode"/>
<xsl:value-of select="@subSubSystemCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@assyCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@disassyCode"/>
<xsl:value-of select="@disassyCodeVariant"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@infoCode"/>
<xsl:value-of select="@infoCodeVariant"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="@itemLocationCode"/>
<xsl:if test="@learnCode and @learnEventCode">
<xsl:text>-</xsl:text>
<xsl:value-of select="@learnCode"/>
<xsl:value-of select="@learnEventCode"/>
</xsl:if>
</xsl:template>
<xsl:template match="dmTitle">
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="techName">
<fo:block xsl:use-attribute-sets="centerhead1">
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="infoName">
<fo:block xsl:use-attribute-sets="centerhead2">
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="content">
<xsl:call-template name="table-of-contents"/>
<xsl:call-template name="list-of-tables"/>
<xsl:call-template name="list-of-figures"/>
<xsl:call-template name="references"/>
<xsl:apply-templates select="description|procedure"/>
</xsl:template>
<xsl:template name="references">
<fo:block>
<fo:block xsl:use-attribute-sets="centerhead2">References</fo:block>
<fo:block padding-top="{$standard-leading}">
<fo:block text-align="center" font-style="italic">Table 1 References</fo:block>
<fo:table table-layout="fixed" width="100%" border-top-width="0.5pt" border-top-color="black" border-bottom-width="0.5pt" border-bottom-color="black">
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-header font-weight="bold">
<fo:table-row>
<fo:table-cell border-bottom-color="black" border-bottom-width="0.5pt">
<fo:block>Data module/Technical publication</fo:block>
</fo:table-cell>
<fo:table-cell border-bottom-color="black" border-bottom-width="0.5pt">
<fo:block>Title</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<xsl:choose>
<xsl:when test="refs">
<xsl:apply-templates select="refs/*" mode="refs"/>
</xsl:when>
<xsl:otherwise>
<fo:table-row>
<fo:table-cell>
<fo:block>None</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:otherwise>
</xsl:choose>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="dmRef" mode="refs">
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:apply-templates select="."/>
</fo:block>
</fo:table-cell>
<xsl:if test="dmRefAddressItems/dmTitle">
<fo:table-cell>
<fo:block>
<xsl:apply-templates select="dmRefAddressItems/dmTitle" mode="refs"/>
</fo:block>
</fo:table-cell>
</xsl:if>
</fo:table-row>
</xsl:template>
<xsl:template match="dmTitle" mode="refs">
<xsl:apply-templates select="techName" mode="refs"/>
<xsl:if test="infoName">
<xsl:text> - </xsl:text>
<xsl:apply-templates select="infoName" mode="refs"/>
</xsl:if>
</xsl:template>
<xsl:template match="techName" mode="refs">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="infoName" mode="refs">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template name="table-of-contents">
<fo:block>
<fo:block xsl:use-attribute-sets="sidehead0">Table of contents</fo:block>
<fo:table table-layout="fixed" width="100%" start-indent="{$inner-type-limit}">
<fo:table-column column-width="15mm"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell text-align="left" number-columns-spanned="2">
<fo:block>
<xsl:choose>
<xsl:when test="/dmodule/identAndStatusSection/dmAddress/dmAddressItems/dmTitle/infoName">
<xsl:value-of select="/dmodule/identAndStatusSection/dmAddress/dmAddressItems/dmTitle/infoName"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/dmodule/identAndStatusSection/dmAddress/dmAddressItems/dmTitle/techName"/>
</xsl:otherwise>
</xsl:choose>
</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell text-align="left" number-columns-spanned="2">
<fo:block>References</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:apply-templates select="*" mode="toc"/>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:template>
<xsl:template name="list-of-figures">
<xsl:variable name="figures" select=".//figure"/>
<xsl:if test="$figures">
<fo:block>
<fo:block xsl:use-attribute-sets="sidehead0">List of figures</fo:block>
<fo:table table-layout="fixed" width="100%" start-indent="{$inner-type-limit}">
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-body>
<xsl:apply-templates select="$figures" mode="lof"/>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:if>
</xsl:template>
<xsl:template name="list-of-tables">
<fo:block>
<fo:block xsl:use-attribute-sets="sidehead0">List of tables</fo:block>
<fo:table table-layout="fixed" width="100%" start-indent="{$inner-type-limit}">
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-column column-width="proportional-column-width(1)"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell text-align="left">
<fo:block>References</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:apply-templates select=".//table|.//reqCondGroup|.//reqSupportEquips|.//reqSupplies|.//reqSpares" mode="lotbl"/>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:template>
<xsl:template match="refs" mode="lotbl">
<fo:table-row>
<fo:table-cell text-align="left">
<fo:block>References</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
<xsl:template match="table" mode="lotbl">
<fo:table-row>
<fo:table-cell text-align="left">
<fo:block>
<xsl:value-of select="title"/>
</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
<xsl:template match="reqCondGroup|reqSupportEquips|reqSupplies|reqSpares" mode="lotbl">
<fo:table-row>
<fo:table-cell text-align="left">
<fo:block>
<xsl:apply-templates select="." mode="title"/>
</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
<xsl:template match="figure" mode="lof">
<fo:table-row>
<fo:table-cell text-align="left">
<fo:block>
<xsl:apply-templates select="." mode="title"/>
</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
<xsl:template name="toc-centerhead">
<fo:table-row>
<fo:table-cell text-align="left" number-columns-spanned="2">
<fo:block>
<xsl:choose>
<xsl:when test="self::description">Description</xsl:when>
<xsl:when test="self::preliminaryRqmts">Preliminary requirements</xsl:when>
<xsl:when test="self::closeRqmts">Requirements after job completion</xsl:when>
<xsl:when test="self::mainProcedure">Procedure</xsl:when>
<xsl:when test="self::commonInfo">Common information</xsl:when>
</xsl:choose>
</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
<xsl:template match="*" mode="toc"/>
<xsl:template match="description" mode="toc">
<xsl:call-template name="toc-centerhead"/>
<xsl:apply-templates select="*" mode="toc"/>
</xsl:template>
<xsl:template match="procedure" mode="toc">
<xsl:apply-templates select="*" mode="toc"/>
</xsl:template>
<xsl:template match="preliminaryRqmts" mode="toc">
<xsl:call-template name="toc-centerhead"/>
</xsl:template>
<xsl:template match="mainProcedure" mode="toc">
<xsl:call-template name="toc-centerhead"/>
<xsl:apply-templates select="*" mode="toc"/>
</xsl:template>
<xsl:template match="preliminaryRqmts">
<fo:block xsl:use-attribute-sets="centerhead2">Preliminary requirements</fo:block>
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="mainProcedure">
<fo:block xsl:use-attribute-sets="centerhead2">Procedure</fo:block>
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="levelledPara[title]|proceduralStep[title]" mode="toc">
<fo:table-row>
<fo:table-cell text-align="left">
<fo:block>
<xsl:apply-templates select="." mode="number"/>
</fo:block>
</fo:table-cell>
<fo:table-cell text-align="left">
<fo:block>
<xsl:value-of select="title"/>
</fo:block>
</fo:table-cell>
<fo:table-cell text-align="right">
<fo:block>1</fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:apply-templates select="*" mode="toc"/>
</xsl:template>
<xsl:template match="description">
<fo:block xsl:use-attribute-sets="centerhead2">Description</fo:block>
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="levelledPara[title]|proceduralStep[title]">
<fo:block>
<xsl:apply-templates select="*"/>
</fo:block>
</xsl:template>
<xsl:template match="levelledPara|proceduralStep">
<fo:block padding-top="{$standard-leading}">
<fo:list-block provisional-distance-between-starts="{$inner-type-limit}">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>
<xsl:apply-templates select="." mode="number"/>
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<xsl:apply-templates select="*[1]"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
<xsl:apply-templates select="*[position() != 1]"/>
</fo:block>
</xsl:template>
<xsl:template match="levelledPara" mode="number">
<xsl:number count="levelledPara" level="multiple" from="dmodule"/>
</xsl:template>
<xsl:template match="proceduralStep" mode="number">
<xsl:number count="proceduralStep" level="multiple" from="dmodule"/>
</xsl:template>
<xsl:template match="levelledPara" mode="label">
<xsl:text>Para </xsl:text>
<xsl:apply-templates select="." mode="number"/>
</xsl:template>
<xsl:template match="proceduralStep" mode="label">
<xsl:text>Step </xsl:text>
<xsl:apply-templates select="." mode="number"/>
</xsl:template>
<xsl:template match="levelledPara/title|proceduralStep/title">
<xsl:variable name="content">
<fo:list-block provisional-distance-between-starts="{$inner-type-limit}">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>
<xsl:apply-templates select="parent::*" mode="number"/>
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<xsl:apply-templates/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</fo:list-block>
</xsl:variable>
<xsl:variable name="level" select="count(ancestor::levelledPara|ancestor::proceduralStep)"/>
<xsl:choose>
<xsl:when test="$level = 1">
<fo:block xsl:use-attribute-sets="sidehead1">
<xsl:copy-of select="$content"/>
</fo:block>
</xsl:when>
<xsl:when test="$level = 2">
<fo:block xsl:use-attribute-sets="sidehead2">
<xsl:copy-of select="$content"/>
</fo:block>
</xsl:when>
<xsl:when test="$level = 3">
<fo:block xsl:use-attribute-sets="sidehead3">
<xsl:copy-of select="$content"/>
</fo:block>
</xsl:when>
<xsl:when test="$level = 4">
<fo:block xsl:use-attribute-sets="sidehead4">
<xsl:copy-of select="$content"/>
</fo:block>
</xsl:when>
<xsl:when test="$level = 5">
<fo:block xsl:use-attribute-sets="sidehead5">
<xsl:copy-of select="$content"/>
</fo:block>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="para">
<fo:block>
<xsl:if test="not(parent::entry|parent::listItem)">
<xsl:attribute name="start-indent">
<xsl:value-of select="$inner-type-limit"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="preceding-sibling::*[not(self::title)]">
<xsl:attribute name="padding-top">
<xsl:value-of select="$standard-leading"/>
</xsl:attribute>
</xsl:if>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="verbatimText">
<fo:inline xsl:use-attribute-sets="verbatim">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="verbatimText[@verbatimStyle = 'vs11' or
@verbatimStyle = 'vs23' or
@verbatimStyle = 'vs24']">
<fo:block xsl:use-attribute-sets="verbatim">
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="figure">
<fo:block>
<xsl:apply-templates select="graphic"/>
</fo:block>
</xsl:template>
<xsl:template match="figure" mode="number">
<xsl:number count="figure" level="any" from="dmodule"/>
</xsl:template>
<xsl:template match="figure" mode="title">
<xsl:apply-templates select="title" mode="title"/>
</xsl:template>
<xsl:template match="figure" mode="label">
<xsl:text>Fig </xsl:text>
<xsl:apply-templates select="." mode="number"/>
</xsl:template>
<xsl:template match="title" mode="title">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="graphic">
<fo:block text-align="center" padding-top="{$standard-leading}">
<fo:external-graphic src="unparsed-entity-uri(@infoEntityIdent)"/>
<fo:block text-align="right">
<xsl:value-of select="@infoEntityIdent"/>
</fo:block>
<fo:block font-style="italic">
<xsl:text>Fig </xsl:text>
<xsl:apply-templates select="parent::figure" mode="number"/>
<xsl:text> </xsl:text>
<fo:inline>
<xsl:apply-templates select="parent::figure" mode="title"/>
</fo:inline>
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="emphasis">
<fo:inline font-weight="bold">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="emphasis[@emphasisType = 'em02']">
<fo:inline font-style="italic">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="emphasis[@emphasisType = 'em03']">
<fo:inline text-decoration="underline">
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="inlineSignificantData">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="acronym">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="acronymTerm">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="acronymDefinition">
<fo:inline>
<xsl:text> (</xsl:text>
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
<xsl:text>)</xsl:text>
</fo:inline>
</xsl:template>
<xsl:template match="warning">
<fo:block padding-top="14pt" start-indent="{$inner-type-limit}">
<fo:block xsl:use-attribute-sets="warning-caution-box">
<fo:block text-align="center" font-weight="bold" font-size="12pt" text-decoration="underline">WARNING</fo:block>
<xsl:apply-templates select="*"/>
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="warningAndCautionPara">
<fo:block padding-top="{$standard-leading}" start-indent="{$inner-type-limit}" font-weight="bold">
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="caution">
<fo:block padding-top="14pt" start-indent="{$inner-type-limit}">
<fo:block xsl:use-attribute-sets="warning-caution-box">
<fo:block text-align="center" font-weight="bold" font-size="12pt">CAUTION</fo:block>
<xsl:apply-templates select="*"/>
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="dmRef">
<xsl:apply-templates select="dmRefIdent/dmCode"/>
</xsl:template>
<xsl:template match="pmRef">
<xsl:apply-templates select="pmRefIdent/pmCode"/>
</xsl:template>
<xsl:template match="pmCode">
<xsl:value-of select="modelIdentCode"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="pmIssuer"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="pmNumber"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="pmVolume"/>
</xsl:template>
<xsl:template match="table">
<fo:block padding-top="{$standard-leading}">
<fo:block border-top-color="black" border-top-width="0.5pt" border-bottom-color="black" border-bottom-width="0.5pt">
<xsl:attribute name="start-indent">
<xsl:choose>
<xsl:when test="@pgwide and @pgwide != 0">0pt</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$inner-type-limit"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:apply-templates select="*"/>
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="table|reqCondGroup|reqSupportEquips|reqSupplies|reqSpares" mode="number">
<xsl:number count="content|reqCondGroup|reqSupportEquips|reqSupplies|reqSpares|table" level="any" from="dmodule"/>
</xsl:template>
<xsl:template match="table|reqCondGroup|reqSupportEquips|reqSupplies|reqSpares" mode="label">
<xsl:text>Table </xsl:text>
<xsl:apply-templates select="." mode="number"/>
</xsl:template>
<xsl:template match="tgroup">
<fo:table table-layout="fixed" width="100%">
<xsl:apply-templates select="*"/>
</fo:table>
</xsl:template>
<xsl:template match="colspec">
<fo:table-column>
<xsl:apply-templates select="@colwidth"/>
</fo:table-column>
</xsl:template>
<xsl:template match="@colwidth">
<xsl:attribute name="column-width">
<xsl:choose>
<xsl:when test="contains(., '*')">
<xsl:value-of select="concat('proportional-column-width(', substring-before(., '*'), ')')"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>
<xsl:template match="thead">
<fo:table-header font-weight="bold">
<xsl:apply-templates select="*"/>
</fo:table-header>
</xsl:template>
<xsl:template match="tbody">
<fo:table-body>
<xsl:apply-templates select="*"/>
</fo:table-body>
</xsl:template>
<xsl:template match="row">
<fo:table-row>
<xsl:apply-templates select="*"/>
</fo:table-row>
</xsl:template>
<xsl:template match="entry"/>
<xsl:template match="entry[*]">
<fo:table-cell>
<xsl:if test="parent::row/parent::thead">
<xsl:attribute name="border-bottom-color">black</xsl:attribute>
<xsl:attribute name="border-bottom-width">0.5pt</xsl:attribute>
</xsl:if>
<xsl:apply-templates select="*"/>
</fo:table-cell>
</xsl:template>
<xsl:template match="internalRef">
<xsl:variable name="target-id" select="@internalRefId"/>
<fo:inline color="blue" text-decoration="underline">
<xsl:apply-templates select="//*[@id = $target-id]" mode="label"/>
</fo:inline>
</xsl:template>
<xsl:template match="reqCondGroup">
<fo:block>
<fo:block xsl:use-attribute-sets="sidehead0">Required conditions</fo:block>
<fo:block padding-top="{$standard-leading}">
<fo:block font-style="italic" text-align="center">
<xsl:apply-templates select="." mode="label"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="." mode="title"/>
</fo:block>
<fo:table xsl:use-attribute-sets="table">
<fo:table-header font-weight="bold">
<fo:table-row>
<fo:table-cell xsl:use-attribute-sets="header-cell">
<fo:block>Action/Condition</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="header-cell">
<fo:block>Data module</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<xsl:apply-templates select="*"/>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="reqCondGroup|reqSupportEquips|reqSupplies|reqSpares" mode="title">
<xsl:choose>
<xsl:when test="self::reqCondGroup">Required conditions</xsl:when>
<xsl:when test="self::reqSupportEquips">Support equipment</xsl:when>
<xsl:when test="self::reqSupplies">Consumables, materials and expendables</xsl:when>
<xsl:when test="self::reqSpares">Spares</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="reqSupportEquips|reqSupplies|reqSpares">
<fo:block>
<fo:block xsl:use-attribute-sets="sidehead0">
<xsl:apply-templates select="." mode="title"/>
</fo:block>
<fo:block padding-top="{$standard-leading}">
<fo:block font-style="italic" text-align="center">
<xsl:apply-templates select="." mode="label"/>
<xsl:text> </xsl:text>
<xsl:apply-templates select="." mode="title"/>
</fo:block>
<fo:table xsl:use-attribute-sets="table">
<fo:table-header font-weight="bold">
<fo:table-row>
<fo:table-cell xsl:use-attribute-sets="header-cell">
<fo:block>Name</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="header-cell">
<fo:block>Identification/Reference</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="header-cell">
<fo:block>Quantity</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="header-cell">
<fo:block>Remark</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<xsl:apply-templates select="*"/>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="noSupportEquips|noSupplies|noSpares|noConds">
<fo:table-row>
<fo:table-cell>
<fo:block>None</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
<xsl:template match="supportEquipDescrGroup|supplyDescrGroup|spareDescrGroup">
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="supportEquipDescr|supplyDescr|spareDescr">
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:apply-templates select="name"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<xsl:apply-templates select="identNumber"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>
<xsl:apply-templates select="reqQuantity"/>
</fo:block>
</fo:table-cell>
<xsl:if test="remarks">
<fo:table-cell>
<fo:block>
<xsl:apply-templates select="remarks"/>
</fo:block>
</fo:table-cell>
</xsl:if>
</fo:table-row>
</xsl:template>
<xsl:template match="name">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="identNumber">
<xsl:apply-templates select="manufacturerCode"/>
<xsl:text>/</xsl:text>
<xsl:apply-templates select="partAndSerialNumber/partNumber"/>
</xsl:template>
<xsl:template match="manufacturerCode">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="partNumber">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="reqQuantity">
<fo:inline>
<xsl:apply-templates/>
</fo:inline>
</xsl:template>
<xsl:template match="reqCondNoRef">
<fo:table-row>
<fo:table-cell>
<fo:block>
<xsl:apply-templates select="reqCond"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:template>
<xsl:template match="reqCond">
<fo:block>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="reqSafety">
<fo:block>
<fo:block xsl:use-attribute-sets="sidehead0">Safety conditions</fo:block>
<xsl:apply-templates select="*"/>
</fo:block>
</xsl:template>
<xsl:template match="noSafety">
<fo:block start-indent="{$inner-type-limit}" padding-top="{$standard-leading}">None</fo:block>
</xsl:template>
<xsl:template match="closeRqmts">
<fo:block>
<fo:block xsl:use-attribute-sets="centerhead2">Requirements after job completion</fo:block>
<xsl:apply-templates select="*"/>
</fo:block>
</xsl:template>
<xsl:template match="closeRqmts" mode="toc">
<xsl:call-template name="toc-centerhead"/>
</xsl:template>
<xsl:template match="supportEquipDescr|supplyDescr|spareDescr" mode="label">
<xsl:choose>
<xsl:when test="shortName">
<xsl:apply-templates select="shortName"/>
</xsl:when>
<xsl:when test="name">
<xsl:apply-templates select="name"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="identNumber"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="randomList|sequentialList">
<fo:block>
<xsl:apply-templates select="title"/>
<fo:list-block provisional-distance-between-starts="7mm">
<xsl:apply-templates select="listItem"/>
</fo:list-block>
</fo:block>
</xsl:template>
<xsl:template match="randomList/title|sequentialList/title">
<fo:block font-weight="bold">
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="listItem">
<fo:list-item>
<fo:list-item-label end-indent="label-end()">
<fo:block>
<xsl:apply-templates select="." mode="label"/>
</fo:block>
</fo:list-item-label>
<fo:list-item-body start-indent="body-start()">
<fo:block>
<xsl:apply-templates select="para"/>
</fo:block>
</fo:list-item-body>
</fo:list-item>
</xsl:template>
<xsl:template match="randomList/listItem" mode="label">
<xsl:text>-</xsl:text>
</xsl:template>
<xsl:template match="sequentialList/listItem" mode="label">
<xsl:apply-templates select="." mode="number"/>
</xsl:template>
<xsl:template match="listItem" mode="number">
<xsl:number count="listItem" level="multiple"/>
</xsl:template>
<xsl:template match="note">
<fo:block padding-top="{$standard-leading}" start-indent="{$inner-type-limit}">
<fo:block font-weight="bold">Note</fo:block>
<xsl:apply-templates select="notePara"/>
</fo:block>
</xsl:template>
<xsl:template match="notePara">
<fo:block start-indent="27mm">
<xsl:if test="preceding-sibling::*">
<xsl:attribute name="padding-top">
<xsl:value-of select="$standard-leading"/>
</xsl:attribute>
</xsl:if>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="commonInfo">
<fo:block xsl:use-attribute-sets="centerhead2">Common information</fo:block>
<xsl:apply-templates select="*"/>
</xsl:template>
<xsl:template match="commonInfo" mode="toc">
<xsl:call-template name="toc-centerhead"/>
<xsl:apply-templates select="*" mode="toc"/>
</xsl:template>
</xsl:stylesheet>
gopher://khzae.net/0/s1000d/serna/src/s1000d.xsl