-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:siha="http://www.a-sit.at/siha" xmlns:fo="http://www.w3.org/1999/XSL/Format">
-<!--
 
    ************************************************************
    ** tables properties
    ** fo/tables.xsl    
    ************************************************************
   
-->
-<xsl:attribute-set name="table.style">
<xsl:attribute name="table-layout">fixed</xsl:attribute>
<xsl:attribute name="space-before">4pt</xsl:attribute>
<xsl:attribute name="space-after">16pt</xsl:attribute>
<xsl:attribute name="width">100%</xsl:attribute>
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
</xsl:attribute-set>
-<xsl:attribute-set name="bordered.table.style">
<xsl:attribute name="table-layout">fixed</xsl:attribute>
<xsl:attribute name="space-before">4pt</xsl:attribute>
<xsl:attribute name="space-after">16pt</xsl:attribute>
<xsl:attribute name="width">100%</xsl:attribute>
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
<xsl:attribute name="border-width">1.0pt</xsl:attribute>
<xsl:attribute name="border-style">solid</xsl:attribute>
<xsl:attribute name="border-color">black</xsl:attribute>
</xsl:attribute-set>
-<xsl:attribute-set name="cell.style">
<xsl:attribute name="width">100%</xsl:attribute>
<xsl:attribute name="padding-top">1.8mm</xsl:attribute>
<xsl:attribute name="padding-right">2.0mm</xsl:attribute>
<xsl:attribute name="padding-bottom">1.0mm</xsl:attribute>
<xsl:attribute name="padding-left">2.0mm</xsl:attribute>
</xsl:attribute-set>
-<xsl:attribute-set name="bordered.cell.style">
<xsl:attribute name="width">100%</xsl:attribute>
<xsl:attribute name="border-width">0.5pt</xsl:attribute>
<xsl:attribute name="border-style">solid</xsl:attribute>
<xsl:attribute name="border-color">black</xsl:attribute>
<xsl:attribute name="padding-top">1.8mm</xsl:attribute>
<xsl:attribute name="padding-right">2.0mm</xsl:attribute>
<xsl:attribute name="padding-bottom">1.0mm</xsl:attribute>
<xsl:attribute name="padding-left">2.0mm</xsl:attribute>
</xsl:attribute-set>
-<xsl:attribute-set name="table.title">
<xsl:attribute name="font-family">Times New Roman</xsl:attribute>
<xsl:attribute name="font-weight">bold</xsl:attribute>
<xsl:attribute name="text-align">center</xsl:attribute>
<xsl:attribute name="space-before">8pt</xsl:attribute>
<xsl:attribute name="space-after">16pt</xsl:attribute>
</xsl:attribute-set>
-<!--
 
    ************************************************************
    ** tables
    ************************************************************
   
-->
-<xsl:template mode="content" match="siha:table">
<xsl:call-template name="selectTable"/>
-<xsl:if test="@title">
<xsl:call-template name="createCaption"/>
</xsl:if>
</xsl:template>
-<xsl:template name="selectTable">
-<xsl:choose>
-<xsl:when test="@title = 'Beispiel für die Festlegung der Schutzbedarfskategorien'">
<xsl:call-template name="createOrdinaryTable"/>
</xsl:when>
-<xsl:when test="@title = 'Verfügbarkeitsklassen der Anwendung'">
<xsl:call-template name="createTableVerfuegbarkeitsklassenAnwendungen"/>
</xsl:when>
-<xsl:when test="@title = 'Verfügbarkeitsklassen der Systeme und Komponenten'">
<xsl:call-template name="createTableVerfuegbarkeitsklassenSystemeKomponenten"/>
</xsl:when>
-<xsl:otherwise>
<xsl:call-template name="createOrdinaryTable"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
-<xsl:attribute-set name="table.VA.style">
<xsl:attribute name="font-family">Times New Roman</xsl:attribute>
<xsl:attribute name="text-align">center</xsl:attribute>
<xsl:attribute name="border-width">1.0pt</xsl:attribute>
<xsl:attribute name="border-style">solid</xsl:attribute>
<xsl:attribute name="border-color">black</xsl:attribute>
</xsl:attribute-set>
-<xsl:template name="createTableVerfuegbarkeitsklassenAnwendungen">
-<fo:table use-attribute-sets="table.VA.style">
<fo:table-column column-width="33mm"/>
<fo:table-column column-width="57mm"/>
<fo:table-column column-width="40mm"/>
<fo:table-column column-width="40mm"/>
-<fo:table-header>
-<fo:table-row use-attribute-sets="table.VA.style" font-weight="bold" text-align="center">
<xsl:apply-templates mode="content" select="siha:header/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:header/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:header/siha:td[3]"/>
<xsl:apply-templates mode="content" select="siha:header/siha:td[4]"/>
</fo:table-row>
</fo:table-header>
-<fo:table-body>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[1]/siha:td[4]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[1]/siha:td[3]"/>
<xsl:apply-templates mode="content" select="siha:tr[2]/siha:td[1]"/>
</fo:table-row>
-<fo:table-row>
<xsl:apply-templates mode="content" select="siha:tr[1]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[1]/siha:td[2]"/>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[3]/siha:td[1]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[4]/siha:td[2]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[4]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[5]/siha:td[1]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[6]/siha:td[1]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[7]/siha:td[4]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[7]/siha:td[3]"/>
<xsl:apply-templates mode="content" select="siha:tr[8]/siha:td[1]"/>
</fo:table-row>
-<fo:table-row>
<xsl:apply-templates mode="content" select="siha:tr[7]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[7]/siha:td[2]"/>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[9]/siha:td[1]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[10]/siha:td[2]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[10]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[11]/siha:td[1]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[12]/siha:td[1]"/>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:template>
-<xsl:template name="createTableVerfuegbarkeitsklassenSystemeKomponenten">
-<fo:table use-attribute-sets="table.VA.style">
<fo:table-column column-width="33mm"/>
<fo:table-column column-width="40mm"/>
<fo:table-column column-width="45mm"/>
<fo:table-column column-width="40mm"/>
-<fo:table-header>
-<fo:table-row use-attribute-sets="table.VA.style" font-weight="bold" text-align="center">
<xsl:apply-templates mode="content" select="siha:header/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:header/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:header/siha:td[3]"/>
<xsl:apply-templates mode="content" select="siha:header/siha:td[4]"/>
</fo:table-row>
</fo:table-header>
-<fo:table-body>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[1]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[1]/siha:td[3]"/>
<xsl:apply-templates mode="content" select="siha:tr[1]/siha:td[4]"/>
</fo:table-row>
-<fo:table-row>
<xsl:apply-templates mode="content" select="siha:tr[1]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[2]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[2]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[2]/siha:td[3]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[3]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[3]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[3]/siha:td[3]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[4]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[4]/siha:td[3]"/>
<xsl:apply-templates mode="content" select="siha:tr[4]/siha:td[4]"/>
</fo:table-row>
-<fo:table-row>
<xsl:apply-templates mode="content" select="siha:tr[4]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[5]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[5]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[5]/siha:td[3]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[6]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[6]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[6]/siha:td[3]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[7]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[7]/siha:td[3]"/>
<xsl:apply-templates mode="content" select="siha:tr[7]/siha:td[4]"/>
</fo:table-row>
-<fo:table-row>
<xsl:apply-templates mode="content" select="siha:tr[7]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[8]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[8]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[8]/siha:td[3]"/>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell>
-<fo:block>
<xsl:value-of select="' '"/>
</fo:block>
</fo:table-cell>
<xsl:apply-templates mode="content" select="siha:tr[9]/siha:td[1]"/>
<xsl:apply-templates mode="content" select="siha:tr[9]/siha:td[2]"/>
<xsl:apply-templates mode="content" select="siha:tr[9]/siha:td[3]"/>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:template>
-<xsl:template name="createOrdinaryTable">
-<xsl:choose>
-<xsl:when test="@border = 0">
<xsl:call-template name="unborderedTable"/>
</xsl:when>
-<xsl:otherwise>
<xsl:call-template name="borderedTable"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
-<xsl:template name="borderedTable">
-<fo:table use-attribute-sets="bordered.table.style">
<xsl:call-template name="createColumnWidth"/>
-<fo:table-body>
<xsl:apply-templates mode="content"/>
</fo:table-body>
</fo:table>
</xsl:template>
-<xsl:template name="unborderedTable">
-<fo:table use-attribute-sets="table.style">
<xsl:call-template name="createColumnWidth"/>
-<fo:table-body>
<xsl:apply-templates mode="content"/>
</fo:table-body>
</fo:table>
</xsl:template>
-<xsl:template mode="content" match="siha:header | siha:tr">
-<fo:table-row>
<xsl:apply-templates mode="content"/>
</fo:table-row>
</xsl:template>
-<xsl:template mode="content" match="siha:td">
-<xsl:choose>
-<xsl:when test="../../@border = 0">
<xsl:call-template name="unborderedCell"/>
</xsl:when>
-<xsl:otherwise>
<xsl:call-template name="borderedCell"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
-<xsl:template name="borderedCell">
-<fo:table-cell xsl:use-attribute-sets="bordered.cell.style">
-<fo:block>
<xsl:apply-templates mode="content"/>
</fo:block>
</fo:table-cell>
</xsl:template>
-<xsl:template name="unborderedCell">
-<fo:table-cell xsl:use-attribute-sets="cell.style">
-<fo:block>
<xsl:apply-templates mode="content"/>
</fo:block>
</fo:table-cell>
</xsl:template>
-<!--
 
    ************************************************************
    ** templates
    ************************************************************
   
-->
-<xsl:template name="createColumnWidth">
-<xsl:choose>
-<xsl:when test="count(siha:header/siha:td) = 0">
-<xsl:for-each select="siha:tr[1]/siha:td">
-<fo:table-column>
-<xsl:attribute name="column-width">
<xsl:value-of select="@width"/>
mm
</xsl:attribute>
</fo:table-column>
</xsl:for-each>
</xsl:when>
-<xsl:otherwise>
-<xsl:for-each select="siha:header[1]/siha:td">
-<fo:table-column>
-<xsl:attribute name="column-width">
<xsl:value-of select="@width"/>
mm
</xsl:attribute>
</fo:table-column>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
-<xsl:template name="createCaption">
-<fo:block xsl:use-attribute-sets="table.title">
<xsl:text>Tabelle </xsl:text>
-<!--
  
        <xsl:value-of select="ancestor::siha:chapter/siha:title/siha:ordinal | ancestor::siha:appendix/siha:title/siha:ordinal  " />
        <xsl:text>.</xsl:text>
          
-->
<xsl:value-of select="count(preceding::siha:table)+1"/>
<xsl:text>: </xsl:text>
<xsl:value-of select="@title"/>
</fo:block>
</xsl:template>
-<!--
 
    ************************************************************
    ** test table, für testzwecke
    ************************************************************
   
-->
-<xsl:template name="createTestTable">
-<fo:table xsl:use-attribute-sets="table.style">
<fo:table-column column-width="6cm"/>
<fo:table-column column-width="11cm"/>
-<fo:table-body>
-<fo:table-row>
-<fo:table-cell xsl:use-attribute-sets="table.cell.style">
<fo:block>Familienname</fo:block>
</fo:table-cell>
-<fo:table-cell xsl:use-attribute-sets="table.cell.style">
<fo:block>Neuherz</fo:block>
</fo:table-cell>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell xsl:use-attribute-sets="table.cell.style">
<fo:block>Vornamen</fo:block>
</fo:table-cell>
-<fo:table-cell xsl:use-attribute-sets="table.cell.style">
<fo:block>Edgar</fo:block>
</fo:table-cell>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell xsl:use-attribute-sets="table.cell.style">
<fo:block>Wohnort</fo:block>
</fo:table-cell>
-<fo:table-cell xsl:use-attribute-sets="table.cell.style">
<fo:block>Graz</fo:block>
</fo:table-cell>
</fo:table-row>
-<fo:table-row>
-<fo:table-cell xsl:use-attribute-sets="table.cell.style">
<fo:block>Religionszugehörigkeit</fo:block>
</fo:table-cell>
-<fo:table-cell xsl:use-attribute-sets="table.cell.style">
<fo:block>why</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</xsl:template>
</xsl:stylesheet>