SingleTableDetails PDF
SingleTableDetails PDF
<fo:block text-align="left">
<xsl:for-each select="$XML">
<xsl:for-
each select="n1:Table">
<xsl:for-each select="n1:CompanyName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell font-family="Tahoma" font-
size="6pt" font-weight="normal" padding="2pt" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="right">
<fo:inline>
<xsl:text>Oracle
Data Modeler  |</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell font-
family="Tahoma" font-size="6pt" font-weight="normal" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" padding="2pt" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Page:
</xsl:text>
</fo:inline>
<fo:page-number/>
<fo:inline>
<xsl:text> /
</xsl:text>
</fo:inline>
<fo:page-number-citation ref-
id="SV_RefID_PageTotal"/>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table> </xsl:variable>
<xsl:apply-templates select="$altova:table"
mode="altova:copy-table"/> </fo:block>
</fo:block-container> </fo:static-
content> <fo:static-content flow-name="even-page-
footer"> <fo:block-container height="1.30cm"
overflow="hidden" display-align="after">
<fo:block font-family="Tahoma" font-size="xx-small">
<xsl:variable name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show"
width="25cm" table-layout="fixed">
<fo:table-column column-width="19cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<xsl:variable
name="altova:CurrContextGrid_1" select="."/>
<xsl:variable name="altova:ColumnData"/>
<fo:table-body start-indent="0pt">
<fo:table-row>
<fo:table-cell font-family="Tahoma" font-
size="8pt" padding="2pt" display-align="center">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="$XML">
<xsl:for-
each select="n1:Table">
<xsl:for-each select="n1:CompanyName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell font-family="Tahoma" font-
size="6pt" font-weight="normal" padding="2pt" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="right">
<fo:inline>
<xsl:text>Oracle
Data Modeler  |</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell font-
family="Tahoma" font-size="6pt" font-weight="normal" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" padding="2pt" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Page:
</xsl:text>
</fo:inline>
<fo:page-number/>
<fo:inline>
<xsl:text> /
</xsl:text>
</fo:inline>
<fo:page-number-citation ref-
id="SV_RefID_PageTotal"/>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table> </xsl:variable>
<xsl:apply-templates select="$altova:table"
mode="altova:copy-table"/> </fo:block>
</fo:block-container> </fo:static-
content> <fo:flow flow-name="xsl-region-body">
<fo:block font-family="Tahoma" font-size="xx-small">
<xsl:for-each select="$XML">
<xsl:for-each select="n1:Table">
<xsl:variable name="v_ShortObjectID"
select="n1:EncodedTableName"/>
<xsl:variable name="v_DiagramSuffix" select="n1:DiagramSuffix"/>
<xsl:variable name="v_ObjectName"
select="n1:TableName"/> <fo:block
margin-right="100% - 100%" text-align="center" space-before="0" space-after="0"
margin="0pt"> <xsl:for-
each select="n1:ReportCaption">
<fo:inline-container font-size="medium" text-align="center">
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
<fo:block margin-bottom="0.00in" margin-left="0.00in" margin-
right="0.00in + 100% - 100%" margin-top="0.10in" padding="0" margin="0pt" space-
before="1.12em" space-after="1.12em"/>
<xsl:variable name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show" width="20cm"
table-layout="fixed">
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="16cm"/>
<xsl:variable
name="altova:CurrContextGrid_2" select="."/>
<xsl:variable name="altova:ColumnData"/>
<fo:table-body
start-indent="0pt">
<fo:table-row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Design
Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:DesignName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell> </fo:table-
row> <fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Version
Date</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:VersionDate">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell> </fo:table-
row> <fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Version
Comment</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:VersionComment">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell> </fo:table-
row> <fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Model
Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:ModelName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell> </fo:table-
row> </fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table" mode="altova:copy-table"/>
<altova:line-break/>
<fo:block margin-bottom="0.00in" margin-
left="0.00in" margin-right="0.00in + 100% - 100%" margin-top="0.10in" padding="0"
margin="0pt" space-before="1.12em" space-after="1.12em">
<fo:inline>
<xsl:text> </xsl:text>
</fo:inline>
</fo:block> <xsl:variable
name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show" width="16cm" table-
layout="fixed">
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="12cm"/>
<xsl:variable
name="altova:CurrContextGrid_3" select="."/>
<xsl:variable name="altova:ColumnData"/>
<fo:table-body start-indent="0pt">
<fo:table-row>
<fo:table-cell
background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0.03in"
display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<fo:inline>
<xsl:text>Table Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(217,245,255)" border="0.01cm solid black" font-size="10pt"
padding="0.01in" white-space-collapse="false" linefeed-treatment="preserve" wrap-
option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:choose>
<xsl:when test="$SV_OutputFormat =
'HTML'">
<xsl:choose>
<xsl:element name="a">
<xsl:attribute
name="href">
<xsl:value-of
select="concat('#' , $v_ShortObjectID , $v_DiagramSuffix)"/>
</xsl:attribute>
<xsl:attribute name="id">
<xsl:value-of select="$v_ShortObjectID"/>
</xsl:attribute>
<xsl:value-of
select="$v_ObjectName"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$v_ObjectName"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:choose>
<xsl:when test="n1:DiagramSuffix !=
''">
<altova:hyperlink
href="{concat($v_ShortObjectID,$v_DiagramSuffix)}" text-decoration="underline"
color="blue">
<xsl:value-of
select="$v_ObjectName"/>
</altova:hyperlink>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$v_ObjectName"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:value-of select="$v_ObjectName"/>
</xsl:when>
</xsl:choose>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0.03in" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Functional Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid
black" padding="0.03in" white-space-collapse="false" linefeed-treatment="preserve"
wrap-option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:FunctionalName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0.03in" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Abbreviation</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid black"
padding="0.03in" white-space-collapse="false" linefeed-treatment="preserve" wrap-
option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block
text-align="left">
<xsl:for-each select="n1:Abbreviation">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell> </fo:table-
row> <fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid black"
padding="0.03in" white-space-collapse="false" linefeed-treatment="preserve" wrap-
option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:ClassificationTypeName">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-
container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell
background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0.03in"
display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<fo:inline>
<xsl:text>Object Type
Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:ObjectTypeName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell> </fo:table-
row> <fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>MV
Prebuilt</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:MVPrebuilt">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell> </fo:table-
row> <fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>MV
Query</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:element name="pre">
<xsl:attribute name="style">
<xsl:value-of select="'word-
wrap:break-word; white-space: pre-wrap; white-space: -moz-pre-wrap; '"/>
</xsl:attribute>
<xsl:for-each select="n1:MVQuery">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</xsl:element>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:variable> <xsl:apply-
templates select="$altova:table" mode="altova:copy-table"/>
<xsl:if test="count( n1:DescriptionNotes )">
<fo:block margin-bottom="0.00in" margin-
left="0.00in" margin-right="0.00in + 100% - 100%" margin-top="0.10in" padding="0"
margin="0pt" space-before="1.12em" space-after="1.12em"/>
<xsl:for-each select="n1:DescriptionNotes">
<xsl:variable
name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show" width="16cm" table-
layout="fixed">
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="11.500cm"/>
<fo:block text-align="left">
<fo:inline>
<xsl:text>Description</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:Description">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Notes</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in"
white-space-collapse="false" linefeed-treatment="preserve" wrap-option="wrap"
white-space-treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each select="n1:Notes">
<fo:inline-container>
<xsl:apply-
templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table" mode="altova:copy-table"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="count( n1:QuantitativeInfoCollection )">
<fo:block margin-bottom="0.00in" margin-
left="0.00in" margin-right="0.00in + 100% - 100%" margin-top="0.10in" padding="0"
margin="0pt" space-before="1.12em" space-after="1.12em"/>
<xsl:for-each select="n1:QuantitativeInfoCollection">
<xsl:variable
name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show" width="8cm" table-
layout="fixed">
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="4cm"/>
<xsl:variable
name="altova:CurrContextGrid_5" select="."/>
<xsl:variable name="altova:ColumnData"/>
<fo:table-body
start-indent="0pt">
<fo:table-row>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0.03in" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Number Of Columns</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="right">
<xsl:for-each
select="n1:NumberOfColumns">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-
container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black"
padding="0.03in" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Number Of Rows Min.</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid black"
padding="0.03in" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="right">
<xsl:for-each select="n1:NumberOfRowsMin">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell background-color="rgb(231,249,255)"
border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="right">
<xsl:for-each select="n1:NumberOfRowsMax">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0.03in" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="right">
<xsl:for-each
select="n1:ExpectedNumberOfRows">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Expected Growth</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid black"
padding="0.03in" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="right">
<xsl:for-each select="n1:ExpectedGrowth">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
<fo:table-
row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<fo:inline>
<xsl:text>Growth Interval</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid black"
padding="0.03in" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="right">
<xsl:for-each select="n1:GrowthInterval">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates
select="$altova:table" mode="altova:copy-table"/>
</xsl:for-each>
</xsl:if> <xsl:if
test="count( n1:DiagramsCollection)">
<fo:block margin-bottom="0.00in" margin-left="0.00in" margin-
right="0.00in + 100% - 100%" margin-top="0.10in" padding="0" margin="0pt" space-
before="1.12em" space-after="1.12em"/>
<fo:inline font-size="xx-small" font-style="italic">
<xsl:text>Used In Diagrams</xsl:text>
</fo:inline>
<altova:line-break/>
<xsl:variable name="altova:table">
<fo:table border-
collapse="collapse" empty-cells="show" width="8cm" table-layout="fixed">
<fo:table-column column-
width="8cm"/>
<xsl:variable name="altova:CurrContextGrid_6" select="."/>
<xsl:variable
name="altova:ColumnData"/>
<fo:table-body start-indent="0pt">
<fo:table-row>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Diagram
Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
</fo:table-row>
<xsl:for-each select="n1:DiagramsCollection">
<xsl:for-each
select="n1:Diagram">
<xsl:variable name="v_Suffix" select="n1:Suffix"/>
<fo:table-row>
<fo:table-cell border="0.01cm solid black"
padding="0.03in" white-space-collapse="false" linefeed-treatment="preserve" wrap-
option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:choose>
<xsl:choose>
<xsl:for-each select="n1:Name">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="concat('#' ,
$v_ShortObjectID , $v_Suffix)"/>
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="$v_ObjectName"/>
</xsl:attribute>
<xsl:value-of select="substring-after( .
,'/')"/>
</xsl:element>
</xsl:for-
each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="n1:Name">
</altova:hyperlink>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when
test="$SV_OutputFormat = 'PDF'">
<xsl:choose>
<xsl:when
test="contains( . , '.pdf' )">
<xsl:for-each select="n1:Name">
</altova:hyperlink>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="n1:Name">
<altova:hyperlink
href="{concat($v_ShortObjectID,$v_Suffix)}" text-decoration="underline"
color="blue">
</altova:hyperlink>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when
test="$SV_OutputFormat = 'RTF'">
<xsl:for-each select="n1:Name">
</xsl:for-each>
</xsl:when>
</xsl:choose>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-
each> </fo:table-
body> </fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table"
mode="altova:copy-table"/>
</xsl:if> <xsl:if
test="count( n1:ColumnsCollection )">
<fo:block margin-bottom="0.00in" margin-left="0.00in" margin-
right="0.00in + 100% - 100%" margin-top="0.10in" padding="0" margin="0pt" space-
before="1.12em" space-after="1.12em"/>
<fo:inline font-size="xx-small" font-style="italic">
<xsl:text>Columns</xsl:text>
</fo:inline>
<xsl:variable name="altova:table">
<fo:table border-collapse="collapse"
empty-cells="show" width="25cm" table-layout="fixed">
<fo:table-column column-width="1cm"/>
<fo:table-column column-
width="5cm"/>
<fo:table-column column-width="1cm"/>
<fo:table-column column-width="1cm"/>
<fo:table-column column-
width="1cm"/>
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="1cm"/>
<fo:table-column column-
width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-
width="3cm"/>
<xsl:variable name="altova:CurrContextGrid_7" select="."/>
<xsl:variable
name="altova:ColumnData"/>
<fo:table-header start-indent="0pt">
<fo:table-row>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>No</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:inline>
<xsl:text>Column Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>PK</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>FK</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:inline>
<xsl:text>M</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Data
Type</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>DT </xsl:text>
</fo:inline>
<altova:line-break/>
<fo:inline>
<xsl:text>kind</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Domain
Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Formula</xsl:text>
</fo:inline>
<altova:line-break/>
<fo:inline>
<xsl:text>(Default Value)</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Security</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Abbreviation</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body start-indent="0pt">
<xsl:for-
each select="n1:ColumnsCollection">
<xsl:for-each select="n1:ColumnDetails">
<fo:table-
row>
<fo:table-cell border="0.01cm solid black" padding="0.03in" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="right">
<xsl:for-each
select="n1:Sequence">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each select="n1:ColumnName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<xsl:for-each select="n1:PK">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<xsl:for-each select="n1:FK">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<xsl:for-each select="n1:M">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:DataType">
<fo:inline-container>
<xsl:apply-
templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid
black" padding="0.03in" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<xsl:for-each select="n1:DataTypeKind">
<fo:inline-container>
<xsl:apply-
templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid
black" padding="0.03in" white-space-collapse="false" linefeed-treatment="preserve"
wrap-option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:DomainName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:Security">
<fo:inline-container>
<xsl:apply-
templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid
black" padding="0.03in" white-space-collapse="false" linefeed-treatment="preserve"
wrap-option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:PreferredAbbreviation">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table" mode="altova:copy-table"/>
</xsl:if>
<xsl:if test="count( n1:ColumnsCommentsCollection )">
<fo:block margin-bottom="0.00in" margin-
left="0.00in" margin-right="0.00in + 100% - 100%" margin-top="0.10in" padding="0"
margin="0pt" space-before="1.12em" space-after="1.12em"/>
<fo:inline font-size="xx-small" font-style="italic">
<xsl:text>Columns
Comments</xsl:text>
</fo:inline>
<altova:line-break/>
<xsl:variable name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show"
width="25cm" table-layout="fixed">
<fo:table-column column-width="1cm"/>
<fo:table-column column-width="6cm"/>
<fo:table-column
column-width="9cm"/>
<fo:table-column column-width="9cm"/>
<xsl:variable name="altova:CurrContextGrid_8"
select="."/>
<xsl:variable name="altova:ColumnData"/>
<fo:table-header start-indent="0pt">
<fo:table-row>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>No</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Column
Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Description</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>Notes</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body start-indent="0pt">
<xsl:for-each
select="n1:ColumnsCommentsCollection">
<xsl:for-each
select="n1:ColumnCommentsDetails">
<fo:table-row>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="right">
<xsl:for-each
select="n1:ColumnCommentsSequence">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in" white-
space-collapse="false" linefeed-treatment="preserve" wrap-option="wrap" white-
space-treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each
select="n1:ColumnCommentsName">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in" white-
space-collapse="false" linefeed-treatment="preserve" wrap-option="wrap" white-
space-treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each
select="n1:ColumnDescription">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
<altova:line-break/>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each select="n1:ColumnNotes">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
<altova:line-break/>
</xsl:for-each>
</fo:block>
</fo:block-
container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table" mode="altova:copy-
table"/> </xsl:if>
<xsl:if
test="count( n1:IndexesCollection )">
<fo:block margin-bottom="0.00in" margin-left="0.00in" margin-
right="0.00in + 100% - 100%" margin-top="0.10in" padding="0" margin="0pt" space-
before="1.12em" space-after="1.12em"/>
<fo:inline font-size="xx-small" font-style="italic">
<xsl:text>Indexes</xsl:text>
</fo:inline>
<altova:line-break/>
<xsl:variable name="altova:table">
<fo:table border-collapse="collapse" empty-
cells="show" width="25cm" table-layout="fixed">
<fo:table-column column-width="7cm"/>
<fo:table-column column-
width="1cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="1.500cm"/>
<fo:table-column column-
width="5.500cm"/>
<fo:table-column column-width="7cm"/>
<fo:table-column column-width="1cm"/>
<xsl:variable
name="altova:CurrContextGrid_9" select="."/>
<xsl:variable name="altova:ColumnData"/>
<fo:table-header start-
indent="0pt">
<fo:table-row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Index Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>State</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Functional</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Spatial</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Expression</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Column
Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Sort</xsl:text>
</fo:inline>
<altova:line-break/>
<fo:inline>
<xsl:text>Order</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body start-indent="0pt">
<xsl:for-
each select="n1:IndexesCollection">
<xsl:for-each select="n1:IndexDetails">
<fo:table-
row>
<fo:table-cell border="0.01cm solid black" padding="0.03in" white-
space-collapse="false" linefeed-treatment="preserve" wrap-option="wrap" white-
space-treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each select="n1:IndexName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<xsl:for-each select="n1:IndexState">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell
border="0.01cm solid black" padding="0.03in" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<xsl:for-each
select="n1:IndexFunctional">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="center">
<xsl:for-each
select="n1:IndexSpatial">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each
select="n1:IndexExpression">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each
select="n1:IndexColumnName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="center">
<xsl:for-each
select="n1:IndexSortOrder">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table" mode="altova:copy-table"/>
</xsl:if>
<xsl:if test="count( n1:ConstraintsCollection )">
<fo:block margin-bottom="0.00in" margin-
left="0.00in" margin-right="0.00in + 100% - 100%" margin-top="0.10in" padding="0"
margin="0pt" space-before="1.12em" space-after="1.12em"/>
<fo:inline font-size="xx-small" font-style="italic">
<xsl:text>Constraints</xsl:text>
</fo:inline>
<altova:line-break/>
<xsl:variable name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show"
width="25cm" table-layout="fixed">
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="3cm"/>
<fo:table-column
column-width="19cm"/>
<xsl:variable name="altova:CurrContextGrid_10" select="."/>
<xsl:variable
name="altova:ColumnData"/>
<fo:table-header start-indent="0pt">
<fo:table-row>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Type</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Column /
Constraint Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Details</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body start-indent="0pt">
<xsl:for-each
select="n1:ConstraintsCollection">
<xsl:for-each
select="n1:TableLevelConstraintsCollection">
<xsl:for-each
select="n1:TableLevelConstraintDetails">
<fo:table-row>
<fo:table-cell border="0.01cm solid black" padding="0.03in" white-space-
collapse="false" linefeed-treatment="preserve" wrap-option="wrap" white-space-
treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block
text-align="left">
<xsl:for-each
select="n1:TLConstraintType">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-
container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:TLConstraintName">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-
container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in"
white-space-collapse="false" linefeed-treatment="preserve" wrap-option="wrap"
white-space-treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:TLConstraintRule">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
<xsl:for-each select="n1:ConstraintsCollection">
<xsl:for-each select="n1:ColumnLevelConstraintsCollection">
<xsl:for-each
select="n1:ConstraintDetails">
<fo:table-row>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-
container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:ContstraintType">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-
container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in"
white-space-collapse="false" linefeed-treatment="preserve" wrap-option="wrap"
white-space-treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:ALCConstraintName">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-
container overflow="hidden">
<fo:block text-align="left">
<altova:line-break/>
<xsl:text>Ranges</xsl:text>
</fo:inline>
<xsl:variable
name="altova:table">
<fo:table border-
collapse="collapse" empty-cells="show" table-layout="fixed" width="100%">
<fo:table-column column-width="3cm"/>
<fo:table-column column-
width="3cm"/>
<fo:table-column
column-width="12.800cm"/>
<xsl:variable name="altova:ColumnData"/>
<fo:block-container overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Begin Value</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)"
border="0.01cm solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>End
Value</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Description</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body start-indent="0pt">
<xsl:for-each select="n1:RangesCollection">
<xsl:for-each select="n1:RangeDetails">
<fo:table-row>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:RangeBeginValue">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-
each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:RangeEndValue">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-
container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:RangeShortDescription">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-
each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-
body>
</fo:table>
</xsl:variable>
<xsl:apply-
templates select="$altova:table" mode="altova:copy-table"/>
</xsl:if>
<xsl:if
test="count( n1:ValueListsCollection ) != 0">
<altova:line-break/>
<fo:inline font-
size="xx-small" font-style="italic">
<xsl:text>Values List</xsl:text>
</fo:inline>
<altova:line-break/>
<xsl:variable name="altova:table">
<fo:table-column column-width="3cm"/>
<fo:table-column column-width="15.800cm"/>
<xsl:variable name="altova:CurrContextGrid_12"
select="."/>
<xsl:variable
name="altova:ColumnData"/>
<fo:table-header start-indent="0pt">
<fo:table-row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm solid
black" padding="0" display-align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Value</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Description</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body start-indent="0pt">
<xsl:for-each select="n1:ValueListsCollection">
<xsl:for-each select="n1:ValueListDetails">
<fo:table-row>
<fo:table-
cell border="0.01cm solid black" padding="0.03in" white-space-collapse="false"
linefeed-treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:VLValue">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:block-
container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:VLShortDescription">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-
each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-
body>
</fo:table>
</xsl:variable>
<xsl:apply-
templates select="$altova:table" mode="altova:copy-table"/>
</xsl:if>
<xsl:if
test="count( n1:CheckConstraintsCollection ) != 0">
<altova:line-break/>
<fo:inline font-
size="xx-small" font-style="italic">
<xsl:text>Check Constraints</xsl:text>
</fo:inline>
<altova:line-break/>
<xsl:variable name="altova:table">
<fo:table-column column-width="15.800cm"/>
<fo:table-column column-width="3cm"/>
<xsl:variable name="altova:CurrContextGrid_13"
select="."/>
<xsl:variable
name="altova:ColumnData"/>
<fo:table-header start-indent="0pt">
<fo:table-row>
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>Text</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>DB Type</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body start-indent="0pt">
<xsl:for-each select="n1:CheckConstraintsCollection">
<xsl:for-each
select="n1:CheckConstraintDetails">
<fo:table-row>
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:CheckConstraintText">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-
container>
<altova:line-break/>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:DatabaseType">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:variable>
</xsl:if>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table"
mode="altova:copy-table"/>
</xsl:if> <xsl:if
test="count( n1:FKRTCollection )">
<fo:block margin-bottom="0.00in" margin-left="0.00in" margin-right="0.00in +
100% - 100%" margin-top="0.10in" padding="0" margin="0pt" space-before="1.12em"
space-after="1.12em"/>
<fo:inline font-size="xx-small" font-style="italic">
<xsl:text>Foreign Keys (referring
to)</xsl:text> </fo:inline>
<xsl:variable
name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show" width="25cm" table-
layout="fixed">
<fo:table-column column-width="6cm"/>
<fo:table-column column-width="5cm"/>
<fo:table-column column-
width="1.500cm"/>
<fo:table-column column-width="1.500cm"/>
<fo:table-column column-width="1cm"/>
<fo:table-column column-
width="4cm"/>
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="2cm"/>
<xsl:variable
name="altova:CurrContextGrid_14" select="."/>
<xsl:variable name="altova:ColumnData"/>
<fo:table-header start-
indent="0pt">
<fo:table-row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>Refering
To</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Mandatory</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>Transferable</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>In
Arc</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Columns</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>Referred
Columns</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Delete Rule</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-
body start-indent="0pt">
<xsl:for-each select="n1:FKRTCollection">
<xsl:for-each
select="n1:FKRTDetails">
<fo:table-row>
<fo:table-cell border="0.01cm
solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:FKName">
<fo:inline-container>
<xsl:apply-
templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid
black" padding="0.03in" white-space-collapse="false" linefeed-treatment="preserve"
wrap-option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:FKReferringTo">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="center">
<xsl:for-each
select="n1:FKMandatory">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="center">
<xsl:for-each
select="n1:FKTransferable">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="center">
<xsl:for-each
select="n1:FKInArc">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each
select="n1:FKReferringColumnName">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in" white-
space-collapse="false" linefeed-treatment="preserve" wrap-option="wrap" white-
space-treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each
select="n1:FKReferredColumnName">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="center">
<xsl:for-each
select="n1:FKDeleteRule">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table"
mode="altova:copy-table"/>
</xsl:if> <xsl:if
test="count( n1:FKRFCollection )">
<fo:block margin-bottom="0.00in" margin-left="0.00in" margin-right="0.00in +
100% - 100%" margin-top="0.10in" padding="0" margin="0pt" space-before="1.12em"
space-after="1.12em"/>
<fo:inline font-size="xx-small" font-style="italic">
<xsl:text>Foreign Keys (referred
from)</xsl:text> </fo:inline>
<xsl:variable
name="altova:table">
<fo:table border-collapse="collapse" empty-cells="show" width="25cm" table-
layout="fixed">
<fo:table-column column-width="6cm"/>
<fo:table-column column-width="5cm"/>
<fo:table-column column-
width="1.500cm"/>
<fo:table-column column-width="1.500cm"/>
<fo:table-column column-width="1cm"/>
<fo:table-column column-
width="4cm"/>
<fo:table-column column-width="4cm"/>
<fo:table-column column-width="2cm"/>
<xsl:variable
name="altova:CurrContextGrid_15" select="."/>
<xsl:variable name="altova:ColumnData"/>
<fo:table-header start-
indent="0pt">
<fo:table-row>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Name</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>Referred
From</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Mandatory</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>Transferable</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-cell background-
color="rgb(231,249,255)" border="0.01cm solid black" padding="0" display-
align="center">
<fo:block-container overflow="hidden">
<fo:block text-
align="center">
<fo:inline>
<xsl:text>In
Arc</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Columns</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:table-
cell background-color="rgb(231,249,255)" border="0.01cm solid black" padding="0"
display-align="center">
<fo:block-container overflow="hidden">
<fo:block
text-align="center">
<fo:inline>
<xsl:text>Referred
Columns</xsl:text>
</fo:inline>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell background-color="rgb(231,249,255)" border="0.01cm
solid black" padding="0" display-align="center">
<fo:block-container
overflow="hidden">
<fo:block text-align="center">
<fo:inline>
<xsl:text>Delete Rule</xsl:text>
</fo:inline>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-
body start-indent="0pt">
<xsl:for-each select="n1:FKRFCollection">
<xsl:for-each
select="n1:FKRFDetails">
<fo:table-row>
<fo:table-cell border="0.01cm
solid black" padding="0.03in" white-space-collapse="false" linefeed-
treatment="preserve" wrap-option="wrap" white-space-treatment="ignore-if-
surrounding-linefeed" display-align="before">
<fo:block-container
overflow="hidden">
<fo:block text-align="left">
<xsl:for-each select="n1:FKName">
<fo:inline-container>
<xsl:apply-
templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-
container>
</fo:table-cell>
<fo:table-cell border="0.01cm solid
black" padding="0.03in" white-space-collapse="false" linefeed-treatment="preserve"
wrap-option="wrap" white-space-treatment="ignore-if-surrounding-linefeed" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="left">
<xsl:for-each
select="n1:FKReferredFrom">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="center">
<xsl:for-each
select="n1:FKMandatory">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="center">
<xsl:for-each
select="n1:FKTransferable">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block text-align="center">
<xsl:for-each
select="n1:FKInArc">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each
select="n1:FKReferredColumnName">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in" white-
space-collapse="false" linefeed-treatment="preserve" wrap-option="wrap" white-
space-treatment="ignore-if-surrounding-linefeed" display-align="before">
<fo:block-container overflow="hidden">
<fo:block text-
align="left">
<xsl:for-each
select="n1:FKReferringColumnName">
<fo:inline-
container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-
cell>
<fo:table-cell border="0.01cm solid black" padding="0.03in" display-
align="before">
<fo:block-container overflow="hidden">
<fo:block text-align="center">
<xsl:for-each
select="n1:FKDeleteRule">
<fo:inline-container>
<xsl:apply-templates/>
</fo:inline-container>
</xsl:for-each>
</fo:block>
</fo:block-container>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:variable>
<xsl:apply-templates select="$altova:table"
mode="altova:copy-table"/>
</xsl:if> </xsl:for-each>
</xsl:for-each>
</fo:block> <fo:block id="SV_RefID_PageTotal"/>
</fo:flow> </fo:page-sequence>
</fo:root> </altova:main-document> </xsl:variable> <xsl:template
match="text() | @*"> <fo:wrapper> <fo:inline>
<xsl:value-of select="."/> </fo:inline>
</fo:wrapper> </xsl:template> <xsl:template name="altova:double-
backslash"> <xsl:param name="text"/> <xsl:param name="text-
length"/> <xsl:variable name="text-after-bs" select="substring-after($text,
'\')"/> <xsl:variable name="text-after-bs-length" select="string-
length($text-after-bs)"/> <xsl:choose> <xsl:when
test="$text-after-bs-length = 0"> <xsl:choose>
<xsl:when test="substring($text, $text-length) = '\'">
<xsl:value-of select="concat(substring($text,1,$text-length - 1),
'\\')"/> </xsl:when>
<xsl:otherwise> <xsl:value-of
select="$text"/> </xsl:otherwise>
</xsl:choose> </xsl:when> <xsl:otherwise>
<xsl:value-of select="concat(substring($text,1,$text-length - $text-
after-bs-length - 1), '\\')"/> <xsl:call-template
name="altova:double-backslash"> <xsl:with-param
name="text" select="$text-after-bs"/> <xsl:with-param
name="text-length" select="$text-after-bs-length"/> </xsl:call-
template> </xsl:otherwise> </xsl:choose> </xsl:template>
<xsl:template name="altova:MakeValueAbsoluteIfPixels"> <xsl:param
name="sValue"/> <xsl:variable name="sBeforePx" select="substring-
before($sValue, 'px')"/> <xsl:choose> <xsl:when
test="$sBeforePx"> <xsl:variable name="nLengthOfInteger">
<xsl:call-template
name="altova:GetCharCountOfIntegerAtEndOfString">
<xsl:with-param name="sText" select="$sBeforePx"/>
</xsl:call-template> </xsl:variable>
<xsl:variable name="nPosOfInteger" select="string-length($sBeforePx) -
$nLengthOfInteger + 1"/> <xsl:variable name="nValuePx"
select="substring($sBeforePx, $nPosOfInteger)"/>
<xsl:variable name="nValueIn" select="number($nValuePx) div
number($altova:nPxPerIn)"/> <xsl:variable
name="nLengthBeforeInteger" select="string-length($sBeforePx) -
$nLengthOfInteger"/> <xsl:variable name="sRest">
<xsl:call-template name="altova:MakeValueAbsoluteIfPixels">
<xsl:with-param name="sValue" select="substring-after($sValue,
'px')"/> </xsl:call-template>
</xsl:variable> <xsl:value-of
select="concat(substring($sBeforePx, 1, $nLengthBeforeInteger), string($nValueIn),
'in', $sRest)"/> </xsl:when> <xsl:otherwise>
<xsl:value-of select="$sValue"/> </xsl:otherwise>
</xsl:choose> </xsl:template> <xsl:template
name="altova:GetCharCountOfIntegerAtEndOfString"> <xsl:param
name="sText"/> <xsl:variable name="sLen" select="string-length($sText)"/>
<xsl:variable name="cLast" select="substring($sText, $sLen)"/>
<xsl:choose> <xsl:when test="number($cLast) >= 0 and
number($cLast) <= 9"> <xsl:variable name="nResultOfRest">
<xsl:call-template
name="altova:GetCharCountOfIntegerAtEndOfString">
<xsl:with-param name="sText" select="substring($sText, 1, $sLen - 1)"/>
</xsl:call-template> </xsl:variable>
<xsl:value-of select="$nResultOfRest + 1"/>
</xsl:when> <xsl:otherwise>
<xsl:text>0</xsl:text> </xsl:otherwise> </xsl:choose>
</xsl:template> <xsl:template match="@* | node()" mode="altova:copy-table">
<xsl:copy> <xsl:apply-templates select="@* | node()"
mode="#current"/> </xsl:copy> </xsl:template> <xsl:template
match="fo:table" mode="altova:copy-table"> <xsl:choose>
<xsl:when test="(empty(fo:table-body/fo:table-row) and empty(fo:table-
header/fo:table-row) and empty(fo:table-footer/fo:table-row)) or empty(.//fo:table-
cell)"> </xsl:when> <xsl:otherwise>
<xsl:copy> <xsl:apply-templates select="@* | node()"
mode="#current"/> </xsl:copy> </xsl:otherwise>
</xsl:choose> </xsl:template> <xsl:template match="fo:table-header |
fo:table-footer" mode="altova:copy-table"> <xsl:choose>
<xsl:when test="empty(fo:table-row)"> </xsl:when>
<xsl:otherwise> <xsl:copy-of select="."/>
</xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template
match="fo:table-body" mode="altova:copy-table"> <xsl:choose>
<xsl:when test="empty(fo:table-row)"> <xsl:copy>
<xsl:apply-templates select="@* | node()" mode="#current"/>
<fo:table-row> <fo:table-cell>
<fo:block/>
</fo:table-cell> </fo:table-row>
</xsl:copy> </xsl:when> <xsl:otherwise>
<xsl:copy-of select="."/> </xsl:otherwise>
</xsl:choose> </xsl:template> <xsl:template match="fo:list-
item[empty(@break-before)]" mode="second-step"> <xsl:copy>
<xsl:choose> <xsl:when test=".//altova:page-break">
<xsl:attribute name="break-before" select="'page'"/>
</xsl:when> <xsl:when test=".//altova:column-break">
<xsl:attribute name="break-before" select="'column'"/>
</xsl:when> </xsl:choose> <xsl:apply-
templates select="@* | node()" mode="#current"/> </xsl:copy>
</xsl:template> <xsl:template match="altova:pdf-bookmark-tree[@generate-
from-toc = false()]" mode="second-step"> <xsl:variable name="altova:pdf-
bookmarks"> <xsl:apply-templates mode="altova:filter-pdf-bookmark-
tree"/> </xsl:variable> <xsl:if test="exists($altova:pdf-
bookmarks/fo:bookmark)"> <fo:bookmark-tree>
<xsl:copy-of select="$altova:pdf-bookmarks"/> </fo:bookmark-
tree> </xsl:if> </xsl:template> <xsl:template match="node()"
mode="altova:filter-pdf-bookmark-tree"> <xsl:apply-templates
mode="#current"/> </xsl:template> <xsl:template match="altova:pdf-bookmark"
mode="altova:filter-pdf-bookmark-tree"> <fo:bookmark>
<xsl:sequence select="@starting-state"/> <xsl:variable
name="altova:hyperlink" select="altova:hyperlink[1]"/> <xsl:choose>
<xsl:when test="not(exists(altova:hyperlink))">
<xsl:message select="'Error: Found PDF bookmark without a corresponding
hyperlink!'" terminate="yes"/> <xsl:attribute
name="internal-destination" select="'undefined'"/>
<fo:bookmark-title/> </xsl:when>
<xsl:when test="not(starts-with($altova:hyperlink/@href,'#'))">
<xsl:variable name="altova:escaped-url">
<xsl:call-template name="altova:double-backslash">
<xsl:with-param name="text" select="$altova:hyperlink/@href"/>
<xsl:with-param name="text-length" select="string-
length($altova:hyperlink/@href)"/> </xsl:call-
template> </xsl:variable>
<xsl:attribute name="external-destination" select="concat('url(',
$altova:escaped-url,')')"/> <fo:bookmark-title>
<xsl:sequence select="$altova:hyperlink//@color[1] |
$altova:hyperlink//@font-style[.='normal' or .='italic'][1] |
$altova:hyperlink//@font-weight[.='normal' or .='bold'][1]"/>
<xsl:value-of select="string($altova:hyperlink)"/>
</fo:bookmark-title> </xsl:when>
<xsl:otherwise> <xsl:variable
name="altova:bookmark-name" select="substring($altova:hyperlink/@href,2)"/>
<xsl:variable name="altova:source-document"
select="ancestor::*[self::altova:result-document | self::altova:main-document]
[1]"/> <xsl:variable name="altova:target-document"
select="key('altova:bookmark-key',$altova:bookmark-name,$altova:design-xslt-tree-
view)[1]/ancestor::*[self::altova:result-document | self::altova:main-document]
[1]"/> <xsl:choose>
<xsl:when test="empty($altova:target-document) or $altova:source-document is
$altova:target-document"> <xsl:attribute
name="internal-destination" select="$altova:bookmark-name"/>
</xsl:when> <xsl:otherwise>
<xsl:variable name="altova:relative-path"
select="altova:calc-relative-path($altova:source-document/@url,$altova:target-
document/@url)"/> <xsl:variable
name="altova:url" select="concat(substring($altova:relative-path,1,string-
length($altova:relative-path) - 3),'.pdf#dest=',$altova:bookmark-name)"/>
<xsl:variable name="altova:escaped-url">
<xsl:call-template name="altova:double-backslash">
<xsl:with-param name="text"
select="$altova:url"/> <xsl:with-
param name="text-length" select="string-length($altova:url)"/>
</xsl:call-template>
</xsl:variable> <xsl:attribute
name="external-destination" select="concat('url(',$altova:escaped-url,')')"/>
</xsl:otherwise>
</xsl:choose> <fo:bookmark-title>
<xsl:sequence select="$altova:hyperlink//@color[1] |
$altova:hyperlink//@font-style[.='normal' or .='italic'][1] |
$altova:hyperlink//@font-weight[.='normal' or .='bold'][1]"/>
<xsl:value-of select="string($altova:hyperlink)"/>
</fo:bookmark-title> </xsl:otherwise>
</xsl:choose> <xsl:if test="count(altova:hyperlink) gt 1">
<xsl:message select="concat('Error: Found PDF bookmark (',
$altova:hyperlink/@href,') with more than one corresponding hyperlinks!')"
terminate="yes"/> </xsl:if> <xsl:apply-templates
mode="#current"/> </fo:bookmark> </xsl:template> <xsl:function
name="altova:is-node-empty" as="xs:boolean"> <xsl:param name="altova:node"
as="element()"/> <xsl:sequence select="every $altova:child in
$altova:node/child::node() satisfies ( ( boolean( $altova:child/self::text() ) and
string-length( $altova:child ) = 0 ) or
( ( boolean( $altova:child/self::altova:inline-container-substitute ) or
boolean( $altova:child/self::fo:inline ) or boolean( $altova:child/self::fo:inline-
container ) or boolean( $altova:child/self::fo:block-container ) or
boolean( $altova:child/self::fo:block ) or boolean( $altova:child/self::fo:basic-
link ) ) and altova:is-node-empty( $altova:child ) ) )"/> </xsl:function>
<xsl:template match="/"> <xsl:apply-templates
select="$altova:design-xslt-tree-view" mode="second-step"/></xsl:template>
<xsl:template match="altova:result-document" mode="second-step">
<xsl:result-document
href="{@url}"> <xsl:apply-templates mode="#current"/>
</xsl:result-document> </xsl:template> <xsl:template
match="altova:bookmark" mode="second-step"> <fo:inline>
<xsl:apply-templates select="@* | node()" mode="#current"/> </fo:inline>
</xsl:template> <xsl:key name="altova:bookmark-key" match="altova:bookmark"
use="@name"/> <xsl:template match="altova:bookmark/@name" mode="second-step">
<xsl:attribute name="id" select="."/> </xsl:template> <xsl:template
match="altova:hyperlink" mode="second-step"> <fo:basic-link>
<xsl:apply-templates select="@* | node()" mode="#current"/> </fo:basic-
link> </xsl:template> <xsl:template match="altova:hyperlink/@href" mode="second-
step"> <xsl:choose> <xsl:when test="not(string(.))">
<xsl:attribute name="external-destination" select="'url()'"/>
</xsl:when> <xsl:when test="starts-with(.,'#')">
<xsl:variable name="altova:bookmark-name" select="substring(.,2)"/>
<xsl:variable name="altova:source-document"
select="ancestor::*[self::altova:result-document | self::altova:main-document]
[1]"/> <xsl:variable name="altova:target-document"
select="key('altova:bookmark-key',$altova:bookmark-name,$altova:design-xslt-tree-
view)[1]/ancestor::*[self::altova:result-document | self::altova:main-document]
[1]"/> <xsl:choose> <xsl:when
test="empty($altova:target-document) or $altova:source-document is $altova:target-
document"> <xsl:attribute name="internal-
destination" select="$altova:bookmark-name"/> </xsl:when>
<xsl:otherwise>
<xsl:variable name="altova:relative-path" select="altova:calc-relative-
path($altova:source-document/@url,$altova:target-document/@url)"/>
<xsl:variable name="altova:url"
select="concat(substring($altova:relative-path,1,string-length($altova:relative-
path) - 3),'.pdf#dest=',$altova:bookmark-name)"/>
<xsl:variable name="altova:escaped-url">
<xsl:call-template name="altova:double-backslash">
<xsl:with-param name="text" select="$altova:url"/>
<xsl:with-param name="text-length" select="string-
length($altova:url)"/> </xsl:call-template>
</xsl:variable>
<xsl:attribute name="external-destination" select="concat('url(',
$altova:escaped-url,')')"/> </xsl:otherwise>
</xsl:choose> </xsl:when> <xsl:otherwise>
<xsl:variable name="altova:escaped-url">
<xsl:choose> <xsl:when test="starts-
with(.,'\\') or substring(.,2,1)=':'">
<xsl:value-of select="iri-to-uri(concat('file:///',translate(.,'\','/')))"/>
</xsl:when>
<xsl:otherwise> <xsl:value-of
select="iri-to-uri(.)"/> </xsl:otherwise>
</xsl:choose> </xsl:variable>
<xsl:attribute name="external-destination" select="concat('url(',
$altova:escaped-url,')')"/> </xsl:otherwise> </xsl:choose>
</xsl:template> <xsl:template match="altova:main-document" mode="second-
step"> <xsl:apply-templates mode="#current"/> </xsl:template>
<xsl:template match="altova:basic-link-container" mode="second-step">
<fo:block text-align-last="justify"> <xsl:apply-templates
mode="second-step"/> </fo:block> </xsl:template> <xsl:template
match="altova:page-break" mode="second-step"> <xsl:if
test="empty(ancestor::fo:list-item)"> <fo:block break-
after="page"/> </xsl:if> </xsl:template> <xsl:template
match="altova:line-break" mode="second-step"> <xsl:variable name="name-
following-sibling" select="name(following-sibling::*[1])"/> <xsl:variable
name="name-preceding-sibling" select="name(preceding-sibling::*[1])"/>
<xsl:if test="($name-following-sibling and $name-following-sibling !=
'fo:table' and $name-following-sibling != 'altova:line-break' and $name-preceding-
sibling != 'altova:basic-link-container') or $name-preceding-sibling =
'altova:line-break'"> <fo:block> <xsl:if
test="($name-preceding-sibling != 'altova:inline-container-substitute' and $name-
preceding-sibling != 'fo:inline' and $name-preceding-sibling != 'fo:basic-link' and
$name-preceding-sibling != 'altova:bookmark' and $name-preceding-sibling !=
'altova:hyperlink') or ($name-following-sibling != 'altova:inline-container-
substitute' and $name-following-sibling != 'fo:inline' and $name-following-
sibling != 'fo:basic-link' and $name-following-sibling != 'altova:bookmark' and
$name-following-sibling != 'altova:hyperlink')">
<fo:leader leader-pattern="space"/> </xsl:if>
</fo:block> </xsl:if> </xsl:template> <xsl:template
match="altova:column-break" mode="second-step"> <xsl:if
test="empty(ancestor::fo:list-item)"> <fo:block break-
after="column"/> </xsl:if> </xsl:template> <xsl:function
name="altova:calc-relative-path" as="xs:string"> <xsl:param
name="altova:source-path"/> <xsl:param name="altova:target-path"/>
<xsl:choose> <xsl:when test="$altova:source-path =
$altova:target-path"> <xsl:sequence select="''"/>
</xsl:when> <xsl:when test="starts-with($altova:target-
path,'http:') or starts-with($altova:target-path,'ftp:') or starts-
with($altova:target-path,'file:')"> <xsl:sequence
select="$altova:target-path"/> </xsl:when>
<xsl:otherwise> <xsl:variable name="altova:source-parts"
select="tokenize($altova:source-path,'[/\\]')"/>
<xsl:variable name="altova:target-parts" select="tokenize($altova:target-
path,'[/\\]')"/> <xsl:variable name="altova:common-part-count"
select="sum(for $i in (1 to count($altova:source-parts) - 1) return
if( subsequence($altova:source-parts,1,$i) = subsequence($altova:target-parts,1,$i)
) then 1 else 0)"/> <xsl:sequence select="string-join((for $i
in ($altova:common-part-count + 1 to count($altova:source-parts) - 1) return
'..',for $i in ($altova:common-part-count + 1 to count($altova:target-parts))
return $altova:target-parts[$i]),'/')"/> </xsl:otherwise>
</xsl:choose> </xsl:function> <xsl:function name="altova:map-preview-
filepath" as="xs:string"> <xsl:param name="filepath"/>
<xsl:sequence select="altovaext:create-temp-file-mapping($filepath)" use-
when="function-available('altovaext:create-temp-file-mapping',1)"/>
<xsl:sequence select="$filepath" use-when="not(function-
available('altovaext:create-temp-file-mapping',1))"/> </xsl:function>
<xsl:template match="*|@*|comment()|processing-instruction()" mode="second-
step"> <xsl:copy> <xsl:apply-templates select="node()|@*
except @altova-DisableOutputEscaping" mode="second-step"/> </xsl:copy>
</xsl:template> <xsl:template match="text()" mode="second-step">
<xsl:choose> <xsl:when test="../@altova-
DisableOutputEscaping"> <xsl:value-of select="." disable-output-
escaping="yes"/> </xsl:when> <xsl:otherwise>
<xsl:copy/> </xsl:otherwise> </xsl:choose>
</xsl:template> <xsl:template match="altova:number" mode="second-step">
<xsl:number level="single" count="altova:dummy-list-item | fo:list-item"
format="{@format}" from="fo:list-block"/> </xsl:template> <xsl:template
match="altova:dummy-list-item" mode="second-step"> </xsl:template>
<xsl:function name="altova:AddCompositeStyles"> <xsl:param
name="altova:sStyleList" as="xs:string?"/> <xsl:variable
name="altova:seqStyles" select="tokenize($altova:sStyleList, ';')"
as="xs:string*"/> <xsl:for-each select="$altova:seqStyles">
<xsl:variable name="altova:sStyleName" select="normalize-space(substring-
before(., ':'))" as="xs:string?"/> <xsl:variable
name="altova:sStyleValue" as="xs:string?"> <xsl:call-template
name="altova:MakeValueAbsoluteIfPixels"> <xsl:with-param
name="sValue" select="normalize-space(substring-after(., ':'))"/>
</xsl:call-template> </xsl:variable> <xsl:if
test="$altova:sStyleName and $altova:sStyleValue">
<xsl:attribute name="{$altova:sStyleName}" select="$altova:sStyleValue"/>
</xsl:if> </xsl:for-each> </xsl:function> <xsl:function
name="altova:AddDynamicClassStyles"> <xsl:param name="altova:sClassName"
as="xs:string?"/> <xsl:variable name="nodeRule"
select="$altova:nodeCssClasses/Class[@sSelector eq $altova:sClassName and
($altova:sCssSwitch eq '' or @sFile eq $altova:sCssSwitch)]" as="node()*"/>
<xsl:if test="$nodeRule"> <xsl:copy-of
select="$nodeRule/Styles/@*"/> </xsl:if> </xsl:function>
<xsl:function name="altova:GetChartYValuesForSingleSeries"> <xsl:param
name="seqCategoryLeafPos" as="node()*"/> <xsl:param name="nodeSeriesLeafPos"
as="node()"/> <xsl:param name="bValuesInCategory" as="xs:boolean"/>
<xsl:for-each select="$seqCategoryLeafPos"> <xsl:element
name="altova:Value"> <xsl:value-of
select="altova:GetChartYValueForSingleSeriesPos($nodeSeriesLeafPos, .,
$bValuesInCategory)"/> </xsl:element> </xsl:for-each>
</xsl:function> <xsl:function
name="altova:GetChartYValueForSingleSeriesPos"> <xsl:param
name="nodeSeriesLeafPos" as="node()"/> <xsl:param
name="nodeCategoryLeafPos" as="node()"/> <xsl:param name="bValuesInCategory"
as="xs:boolean"/> <xsl:variable name="altova:seqCategoryContextIds"
select="$nodeCategoryLeafPos/altova:Context/@altova:ContextId" as="xs:string*"/>
<xsl:variable name="altova:seqSeriesContextIds"
select="$nodeSeriesLeafPos/altova:Context/@altova:ContextId" as="xs:string*"/>
<xsl:variable name="altova:sCommonContextId" select="for $i in
$altova:seqCategoryContextIds return if (some $j in $altova:seqSeriesContextIds
satisfies $i eq $j) then $i else ()" as="xs:string*"/> <xsl:choose>
<xsl:when test="count($altova:sCommonContextId) gt 1">
<xsl:message select="concat('Found several values instead of a single one
(contexts: ', string-join($altova:sCommonContextId, ', '), ').')" terminate="yes"/>
</xsl:when> <xsl:when
test="count($altova:sCommonContextId) lt 1"> <xsl:message
select="concat('XBRL Chart: Info: No value found for position labeled "',
$nodeCategoryLeafPos/@altova:sLabel, '"')" terminate="no"/>
<xsl:sequence select="'altova:no-value'"/> </xsl:when>
<xsl:when test="$bValuesInCategory"> <xsl:sequence
select="xs:string($nodeCategoryLeafPos/altova:Context[@altova:ContextId eq
$altova:sCommonContextId]/@altova:Value)"/> </xsl:when>
<xsl:otherwise> <xsl:sequence
select="xs:string($nodeSeriesLeafPos/altova:Context[@altova:ContextId eq
$altova:sCommonContextId]/@altova:Value)"/> </xsl:otherwise>
</xsl:choose> </xsl:function> <xsl:function
name="altova:GetChartLabelForPos" as="xs:string"> <xsl:param
name="nodeParam" as="node()"/> <xsl:value-of select="string-
join($nodeParam/ancestor-or-self::altova:Pos/@altova:sLabel, ' ')"/>
</xsl:function> <xsl:function name="altova:convert-length-to-pixel"
as="xs:decimal"> <xsl:param name="altova:length"/> <xsl:variable
name="normLength" select="normalize-space($altova:length)"/> <xsl:choose>
<xsl:when test="ends-with($normLength, 'px')">
<xsl:value-of select="substring-before($normLength, 'px')"/>
</xsl:when> <xsl:when test="ends-with($normLength, 'in')">
<xsl:value-of select="xs:decimal(substring-before($normLength, 'in')) *
$altova:nPxPerIn"/> </xsl:when> <xsl:when test="ends-
with($normLength, 'cm')"> <xsl:value-of
select="xs:decimal(substring-before($normLength, 'cm')) * $altova:nPxPerIn div
2.54"/> </xsl:when> <xsl:when test="ends-
with($normLength, 'mm')"> <xsl:value-of
select="xs:decimal(substring-before($normLength, 'mm')) * $altova:nPxPerIn div
25.4"/> </xsl:when> <xsl:when test="ends-
with($normLength, 'pt')"> <xsl:value-of
select="xs:decimal(substring-before($normLength, 'pt')) * $altova:nPxPerIn div
72.0"/> </xsl:when> <xsl:when test="ends-
with($normLength, 'pc')"> <xsl:value-of
select="xs:decimal(substring-before($normLength, 'pc')) * $altova:nPxPerIn div
6.0"/> </xsl:when> <xsl:otherwise>
<xsl:value-of select="$normLength"/> </xsl:otherwise>
</xsl:choose> </xsl:function> <xsl:function name="altova:convert-
length-to-mm" as="xs:decimal"> <xsl:param name="altova:length"/>
<xsl:variable name="normLength" select="normalize-space($altova:length)"/>
<xsl:choose> <xsl:when test="ends-with($normLength, 'px')">
<xsl:value-of select="xs:decimal(substring-before($normLength,
'px')) div $altova:nPxPerIn * 25.4"/> </xsl:when>
<xsl:when test="ends-with($normLength, 'in')"> <xsl:value-
of select="xs:decimal(substring-before($normLength, 'in')) * 25.4"/>
</xsl:when> <xsl:when test="ends-with($normLength, 'cm')">
<xsl:value-of select="xs:decimal(substring-before($normLength, 'cm')) *
10"/> </xsl:when> <xsl:when test="ends-with($normLength,
'mm')"> <xsl:value-of select="substring-before($normLength,
'mm') "/> </xsl:when> <xsl:when test="ends-
with($normLength, 'pt')"> <xsl:value-of
select="xs:decimal(substring-before($normLength, 'pt')) * 25.4 div 72.0"/>
</xsl:when> <xsl:when test="ends-with($normLength, 'pc')">
<xsl:value-of select="xs:decimal(substring-before($normLength, 'pc')) *
25.4 div 6.0"/> </xsl:when> <xsl:otherwise>
<xsl:value-of select="number($normLength) div $altova:nPxPerIn * 25.4"/>
</xsl:otherwise> </xsl:choose> </xsl:function>
<xsl:variable name="altova:nDefaultFontSizePt" as="xs:integer" select="12"/>
<xsl:variable name="altova:nCmPerIn" as="xs:double" select="2.54"/>
<xsl:variable name="altova:nPercentPerEm" as="xs:integer" select="100"/>
<xsl:variable name="altova:nPercentPerEx" as="xs:integer" select="50"/>
<xsl:variable name="altova:nPtPerPc" as="xs:integer" select="12"/>
<xsl:variable name="altova:nPtPerIn" as="xs:integer" select="72"/>
<xsl:function name="altova:MapLengthUnitEmExPercentToPointsUnrounded"
as="xs:double"> <xsl:param name="sLength" as="xs:string"/>
<xsl:sequence select="altova:MapLengthUnitToPointsUnroundedCore($sLength,
true(), true())"/> </xsl:function> <xsl:function
name="altova:MapLengthUnitEmExPercentToPointsUnrounded_AbsentOk" as="xs:double">
<xsl:param name="sLength" as="xs:string?"/> <xsl:choose>
<xsl:when test="not($sLength)">0</xsl:when> <xsl:otherwise>
<xsl:value-of
select="altova:MapLengthUnitEmExPercentToPointsUnrounded($sLength)"/>
</xsl:otherwise> </xsl:choose> </xsl:function> <xsl:function
name="altova:MapLengthUnitEmExToPointsUnrounded" as="xs:double"> <xsl:param
name="sLength" as="xs:string"/> <xsl:sequence
select="altova:MapLengthUnitToPointsUnroundedCore($sLength, true(), false())"/>
</xsl:function> <xsl:function
name="altova:MapLengthUnitEmExToPointsUnrounded_AbsentOk" as="xs:double">
<xsl:param name="sLength" as="xs:string?"/> <xsl:choose>
<xsl:when test="not($sLength)">0</xsl:when> <xsl:otherwise>
<xsl:value-of
select="altova:MapLengthUnitEmExToPointsUnrounded($sLength)"/>
</xsl:otherwise> </xsl:choose> </xsl:function> <xsl:function
name="altova:MapLengthUnitPercentToPointsUnrounded" as="xs:double">
<xsl:param name="sLength" as="xs:string"/> <xsl:sequence
select="altova:MapLengthUnitToPointsUnroundedCore($sLength, false(), true())"/>
</xsl:function> <xsl:function
name="altova:MapLengthUnitPercentToPointsUnrounded_AbsentOk" as="xs:double">
<xsl:param name="sLength" as="xs:string?"/> <xsl:choose>
<xsl:when test="not($sLength)">0</xsl:when> <xsl:otherwise>
<xsl:value-of
select="altova:MapLengthUnitPercentToPointsUnrounded($sLength)"/>
</xsl:otherwise> </xsl:choose> </xsl:function> <xsl:function
name="altova:MapLengthUnitToPointsUnrounded" as="xs:double"> <xsl:param
name="sLength" as="xs:string"/> <xsl:sequence
select="altova:MapLengthUnitToPointsUnroundedCore($sLength, false(), false())"/>
</xsl:function> <xsl:function
name="altova:MapLengthUnitToPointsUnrounded_AbsentOk" as="xs:double">
<xsl:param name="sLength" as="xs:string?"/> <xsl:choose>
<xsl:when test="not($sLength)">0</xsl:when> <xsl:otherwise>
<xsl:value-of
select="altova:MapLengthUnitToPointsUnrounded($sLength)"/>
</xsl:otherwise> </xsl:choose> </xsl:function> <xsl:function
name="altova:MapLengthUnitToPointsUnroundedCore" as="xs:double"> <xsl:param
name="sLength" as="xs:string"/> <xsl:param name="bAcceptEmEx"
as="xs:boolean"/> <xsl:param name="bAcceptPercent" as="xs:boolean"/>
<xsl:variable name="sLengthNormalized" as="xs:string" select="normalize-
space($sLength)"/> <xsl:choose> <xsl:when
test="matches($sLengthNormalized, '^\d+(\.\d+)?[a-zA-Z%]+$')">
<xsl:variable name="nValue" select="number(replace($sLengthNormalized, '([a-
zA-Z%])+', ''))"/> <xsl:variable name="sUnit"
select="replace($sLengthNormalized, '(\d+(\.\d+)?)', '')"/>
<xsl:choose> <xsl:when test="$sUnit = 'cm'">
<xsl:value-of
select="altova:MapUnitCmToPt($nValue)"/> </xsl:when>
<xsl:when test="$sUnit = 'in'">
<xsl:value-of select="altova:MapUnitInToPt($nValue)"/>
</xsl:when> <xsl:when test="$sUnit = 'mm'">
<xsl:value-of select="altova:MapUnitMmToPt($nValue)"/>
</xsl:when> <xsl:when test="$sUnit =
'pc'"> <xsl:value-of
select="altova:MapUnitPcToPt($nValue)"/> </xsl:when>
<xsl:when test="$sUnit = 'pt'">
<xsl:value-of select="$nValue"/> </xsl:when>
<xsl:when test="$sUnit = 'px'">
<xsl:value-of select="altova:MapUnitPxToPt($nValue)"/>
</xsl:when> <xsl:when test="$sUnit = 'em' and
$bAcceptEmEx = true()"> <xsl:value-of
select="altova:MapUnitEmToPt($nValue)"/> </xsl:when>
<xsl:when test="$sUnit = 'ex' and $bAcceptEmEx = true()">
<xsl:value-of select="altova:MapUnitExToPt($nValue)"/>
</xsl:when> <xsl:when test="$sUnit =
'%' and $bAcceptPercent = true()"> <xsl:value-of
select="altova:MapUnitPercentToPt($nValue)"/> </xsl:when>
<xsl:otherwise> <xsl:value-
of select="-1"/> </xsl:otherwise>
</xsl:choose> </xsl:when> <xsl:otherwise>
<xsl:value-of select="-1"/> </xsl:otherwise>
</xsl:choose> </xsl:function> <xsl:function
name="altova:MapLengthUnitToPointsWithUnit" as="xs:string"> <xsl:param
name="sLength" as="xs:string"/> <xsl:variable name="dPoints"
as="xs:double" select="altova:MapLengthUnitToPointsUnroundedCore($sLength, false(),
false())"/> <xsl:sequence select="concat(xs:string(round($dPoints * 100) div
100), 'pt')"/> </xsl:function> <xsl:function
name="altova:MapLengthUnitToPointsWithUnit_AbsentOk" as="xs:string">
<xsl:param name="sLength" as="xs:string?"/> <xsl:choose>
<xsl:when test="not($sLength)">0</xsl:when> <xsl:otherwise>
<xsl:value-of
select="altova:MapLengthUnitToPointsWithUnit($sLength)"/>
</xsl:otherwise> </xsl:choose> </xsl:function> <xsl:function
name="altova:MapUnitCmToPt" as="xs:double"> <xsl:param name="dCm"
as="xs:double"/> <xsl:sequence select="altova:MapUnitInToPt($dCm div
$altova:nCmPerIn)"/> </xsl:function> <xsl:function name="altova:MapUnitEmToPt"
as="xs:double"> <xsl:param name="dEm" as="xs:double"/>
<xsl:sequence select="altova:MapUnitPercentToPt($dEm *
$altova:nPercentPerEm)"/> </xsl:function> <xsl:function
name="altova:MapUnitExToPt" as="xs:double"> <xsl:param name="dEx"
as="xs:double"/> <xsl:sequence select="altova:MapUnitPercentToPt($dEx *
$altova:nPercentPerEx)"/> </xsl:function> <xsl:function
name="altova:MapUnitInToPt" as="xs:double"> <xsl:param name="dIn"
as="xs:double"/> <xsl:sequence select="$dIn * $altova:nPtPerIn"/>
</xsl:function> <xsl:function name="altova:MapUnitMmToPt" as="xs:double">
<xsl:param name="dMm" as="xs:double"/> <xsl:sequence
select="altova:MapUnitCmToPt($dMm div 10)"/> </xsl:function> <xsl:function
name="altova:MapUnitPcToPt" as="xs:double"> <xsl:param name="dPc"
as="xs:double"/> <xsl:sequence select="$dPc * $altova:nPtPerPc"/>
</xsl:function> <xsl:function name="altova:MapUnitPercentToPt"
as="xs:double"> <xsl:param name="dPercent" as="xs:double"/>
<xsl:sequence select="$dPercent div 100 * $altova:nDefaultFontSizePt"/>
</xsl:function> <xsl:function name="altova:MapUnitPxToPt" as="xs:double">
<xsl:param
name="dPx" as="xs:double"/> <xsl:sequence select="$dPx div $altova:nPxPerIn
* $altova:nPtPerIn"/> </xsl:function> <xsl:function name="altova:Sqrt"
as="xs:double"> <xsl:param name="nValue" as="xs:double"/>
<xsl:sequence select="altova:SqrtRecursive($nValue, $nValue)"/>
</xsl:function> <xsl:function name="altova:SqrtRecursive" as="xs:double">
<xsl:param name="nValue" as="xs:double"/> <xsl:param name="nApprox"
as="xs:double"/> <xsl:choose> <xsl:when test="abs($nApprox
* $nApprox - $nValue) lt 0.01"> <xsl:sequence
select="$nApprox"/> </xsl:when> <xsl:otherwise>
<xsl:sequence select="altova:SqrtRecursive($nValue, ($nValue div
$nApprox + $nApprox) div 2)"/> </xsl:otherwise>
</xsl:choose> </xsl:function></xsl:stylesheet>