metanorma-iso 1.9.0.1 → 1.9.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -529,7 +529,7 @@
529
529
 
530
530
  <fo:block-container border-top="1mm double black" line-height="1.1" margin-top="3mm">
531
531
  <fo:block margin-right="5mm">
532
- <fo:block font-size="18pt" font-weight="bold" margin-top="6pt">
532
+ <fo:block font-size="18pt" font-weight="bold" margin-top="6pt" role="H1">
533
533
  <xsl:if test="normalize-space($title-intro) != ''">
534
534
  <xsl:value-of select="$title-intro"/>
535
535
  <xsl:text> — </xsl:text>
@@ -541,7 +541,7 @@
541
541
 
542
542
  <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
543
543
  <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
544
- <fo:block margin-top="12pt">
544
+ <fo:block margin-top="12pt" role="H1">
545
545
  <xsl:call-template name="printAmendmentTitle"/>
546
546
  </fo:block>
547
547
  </xsl:if>
@@ -549,7 +549,7 @@
549
549
  </fo:block>
550
550
 
551
551
  <fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
552
- <fo:block font-size="11pt" font-style="italic" line-height="1.5">
552
+ <fo:block font-size="11pt" font-style="italic" line-height="1.5" role="H1">
553
553
 
554
554
  <xsl:if test="normalize-space($title-intro-fr) != ''">
555
555
  <xsl:value-of select="$title-intro-fr"/>
@@ -562,7 +562,7 @@
562
562
 
563
563
  <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-amd']"/>
564
564
  <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
565
- <fo:block margin-top="6pt">
565
+ <fo:block margin-top="6pt" role="H1">
566
566
  <xsl:call-template name="printAmendmentTitle">
567
567
  <xsl:with-param name="lang" select="'fr'"/>
568
568
  </xsl:call-template>
@@ -654,7 +654,7 @@
654
654
  <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/> -->
655
655
  <xsl:if test="$doctype = 'amendment'">
656
656
  <fo:block text-align="right" margin-right="0.5mm">
657
- <fo:block font-weight="bold" margin-top="4pt">
657
+ <fo:block font-weight="bold" margin-top="4pt" role="H1">
658
658
  <xsl:variable name="title-amendment">
659
659
  <xsl:call-template name="getTitle">
660
660
  <xsl:with-param name="name" select="'title-amendment'"/>
@@ -724,7 +724,7 @@
724
724
  <fo:table-cell>
725
725
  <fo:block-container border-top="1mm double black" line-height="1.1">
726
726
  <fo:block margin-right="5mm">
727
- <fo:block font-size="18pt" font-weight="bold" margin-top="12pt">
727
+ <fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
728
728
 
729
729
  <xsl:if test="normalize-space($title-intro) != ''">
730
730
  <xsl:value-of select="$title-intro"/>
@@ -746,14 +746,14 @@
746
746
  </xsl:if> -->
747
747
  <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
748
748
  <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
749
- <fo:block margin-right="-5mm" margin-top="12pt">
749
+ <fo:block margin-right="-5mm" margin-top="12pt" role="H1">
750
750
  <xsl:call-template name="printAmendmentTitle"/>
751
751
  </fo:block>
752
752
  </xsl:if>
753
753
  </fo:block>
754
754
 
755
755
  <fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
756
- <fo:block font-size="11pt" font-style="italic" line-height="1.5">
756
+ <fo:block font-size="11pt" font-style="italic" line-height="1.5" role="H1">
757
757
 
758
758
  <xsl:if test="normalize-space($title-intro-fr) != ''">
759
759
  <xsl:value-of select="$title-intro-fr"/>
@@ -766,7 +766,7 @@
766
766
 
767
767
  <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-amd']"/>
768
768
  <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
769
- <fo:block margin-right="-5mm" margin-top="6pt">
769
+ <fo:block margin-right="-5mm" margin-top="6pt" role="H1">
770
770
  <xsl:call-template name="printAmendmentTitle">
771
771
  <xsl:with-param name="lang" select="'fr'"/>
772
772
  </xsl:call-template>
@@ -857,7 +857,7 @@
857
857
 
858
858
  <fo:block-container border-top="1mm double black" line-height="1.1">
859
859
  <fo:block margin-right="40mm">
860
- <fo:block font-size="18pt" font-weight="bold" margin-top="12pt">
860
+ <fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
861
861
 
862
862
  <xsl:if test="normalize-space($title-intro) != ''">
863
863
  <xsl:value-of select="$title-intro"/>
@@ -880,7 +880,7 @@
880
880
  </fo:block>
881
881
 
882
882
  <fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
883
- <fo:block font-size="11pt" font-style="italic" line-height="1.5">
883
+ <fo:block font-size="11pt" font-style="italic" line-height="1.5" role="H1">
884
884
 
885
885
  <xsl:if test="normalize-space($title-intro-fr) != ''">
886
886
  <xsl:value-of select="$title-intro-fr"/>
@@ -972,7 +972,7 @@
972
972
  </fo:block-container>
973
973
  <fo:block-container font-size="16pt">
974
974
  <!-- Information and documentation — Codes for transcription systems -->
975
- <fo:block font-weight="bold">
975
+ <fo:block font-weight="bold" role="H1">
976
976
 
977
977
  <xsl:if test="normalize-space($title-intro) != ''">
978
978
  <xsl:value-of select="$title-intro"/>
@@ -995,7 +995,7 @@
995
995
  </fo:block>
996
996
 
997
997
  <fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
998
- <fo:block>
998
+ <fo:block role="H1">
999
999
  <xsl:if test="normalize-space($title-intro-fr) != ''">
1000
1000
  <xsl:value-of select="$title-intro-fr"/>
1001
1001
  <xsl:text> — </xsl:text>
@@ -1073,79 +1073,80 @@
1073
1073
  <fo:block break-after="page"/>
1074
1074
  </xsl:if>
1075
1075
  <fo:block-container font-weight="bold">
1076
-
1077
- <fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
1078
- <fo:inline font-size="16pt" font-weight="bold">
1079
- <!-- Contents -->
1080
- <xsl:call-template name="getLocalizedString">
1081
- <xsl:with-param name="key">table_of_contents</xsl:with-param>
1082
- </xsl:call-template>
1083
- </fo:inline>
1084
- <fo:inline keep-together.within-line="always">
1085
- <fo:leader leader-pattern="space"/>
1086
- <fo:inline font-weight="normal" font-size="10pt">
1087
- <!-- Page -->
1076
+ <fo:block role="TOC">
1077
+ <fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
1078
+ <fo:inline font-size="16pt" font-weight="bold" role="H1">
1079
+ <!-- Contents -->
1088
1080
  <xsl:call-template name="getLocalizedString">
1089
- <xsl:with-param name="key">locality.page</xsl:with-param>
1090
- </xsl:call-template>
1081
+ <xsl:with-param name="key">table_of_contents</xsl:with-param>
1082
+ </xsl:call-template>
1091
1083
  </fo:inline>
1092
- </fo:inline>
1093
- </fo:block>
1094
-
1095
- <xsl:if test="$debug = 'true'">
1096
- <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
1097
- DEBUG
1098
- contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
1099
- <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
1100
- </xsl:if>
1101
-
1102
- <xsl:variable name="margin-left">12</xsl:variable>
1103
- <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
1084
+ <fo:inline keep-together.within-line="always">
1085
+ <fo:leader leader-pattern="space"/>
1086
+ <fo:inline font-weight="normal" font-size="10pt">
1087
+ <!-- Page -->
1088
+ <xsl:call-template name="getLocalizedString">
1089
+ <xsl:with-param name="key">locality.page</xsl:with-param>
1090
+ </xsl:call-template>
1091
+ </fo:inline>
1092
+ </fo:inline>
1093
+ </fo:block>
1104
1094
 
1105
- <fo:block>
1106
- <xsl:if test="@level = 1">
1107
- <xsl:attribute name="margin-top">5pt</xsl:attribute>
1108
- </xsl:if>
1109
- <xsl:if test="@level = 3">
1110
- <xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
1111
- </xsl:if>
1112
- <fo:list-block>
1113
- <xsl:attribute name="margin-left"><xsl:value-of select="$margin-left * (@level - 1)"/>mm</xsl:attribute>
1114
- <xsl:if test="@level &gt;= 2 or @type = 'annex'">
1115
- <xsl:attribute name="font-weight">normal</xsl:attribute>
1095
+ <xsl:if test="$debug = 'true'">
1096
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
1097
+ DEBUG
1098
+ contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
1099
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
1100
+ </xsl:if>
1101
+
1102
+ <xsl:variable name="margin-left">12</xsl:variable>
1103
+ <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
1104
+
1105
+ <fo:block role="TOCI">
1106
+ <xsl:if test="@level = 1">
1107
+ <xsl:attribute name="margin-top">5pt</xsl:attribute>
1116
1108
  </xsl:if>
1117
- <xsl:attribute name="provisional-distance-between-starts">
1118
- <xsl:choose>
1119
- <!-- skip 0 section without subsections -->
1120
- <xsl:when test="@level &gt;= 3"><xsl:value-of select="$margin-left * 1.2"/>mm</xsl:when>
1121
- <xsl:when test="@section != ''"><xsl:value-of select="$margin-left"/>mm</xsl:when>
1122
- <xsl:otherwise>0mm</xsl:otherwise>
1123
- </xsl:choose>
1124
- </xsl:attribute>
1125
- <fo:list-item>
1126
- <fo:list-item-label end-indent="label-end()">
1127
- <fo:block>
1128
- <xsl:value-of select="@section"/>
1129
- </fo:block>
1130
- </fo:list-item-label>
1131
- <fo:list-item-body start-indent="body-start()">
1132
- <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
1133
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1134
-
1135
- <xsl:apply-templates select="title"/>
1109
+ <xsl:if test="@level = 3">
1110
+ <xsl:attribute name="margin-top">-0.7pt</xsl:attribute>
1111
+ </xsl:if>
1112
+ <fo:list-block>
1113
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-left * (@level - 1)"/>mm</xsl:attribute>
1114
+ <xsl:if test="@level &gt;= 2 or @type = 'annex'">
1115
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1116
+ </xsl:if>
1117
+ <xsl:attribute name="provisional-distance-between-starts">
1118
+ <xsl:choose>
1119
+ <!-- skip 0 section without subsections -->
1120
+ <xsl:when test="@level &gt;= 3"><xsl:value-of select="$margin-left * 1.2"/>mm</xsl:when>
1121
+ <xsl:when test="@section != ''"><xsl:value-of select="$margin-left"/>mm</xsl:when>
1122
+ <xsl:otherwise>0mm</xsl:otherwise>
1123
+ </xsl:choose>
1124
+ </xsl:attribute>
1125
+ <fo:list-item>
1126
+ <fo:list-item-label end-indent="label-end()">
1127
+ <fo:block>
1128
+ <xsl:value-of select="@section"/>
1129
+ </fo:block>
1130
+ </fo:list-item-label>
1131
+ <fo:list-item-body start-indent="body-start()">
1132
+ <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
1133
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1136
1134
 
1137
- <fo:inline keep-together.within-line="always">
1138
- <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
1139
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
1140
- </fo:inline>
1141
- </fo:basic-link>
1142
- </fo:block>
1143
- </fo:list-item-body>
1144
- </fo:list-item>
1145
- </fo:list-block>
1146
- </fo:block>
1147
-
1148
- </xsl:for-each>
1135
+ <xsl:apply-templates select="title"/>
1136
+
1137
+ <fo:inline keep-together.within-line="always">
1138
+ <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
1139
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
1140
+ </fo:inline>
1141
+ </fo:basic-link>
1142
+ </fo:block>
1143
+ </fo:list-item-body>
1144
+ </fo:list-item>
1145
+ </fo:list-block>
1146
+ </fo:block>
1147
+
1148
+ </xsl:for-each>
1149
+ </fo:block>
1149
1150
  </fo:block-container>
1150
1151
  </xsl:otherwise>
1151
1152
  </xsl:choose>
@@ -1179,7 +1180,7 @@
1179
1180
 
1180
1181
  <xsl:variable name="title-intro-doc-lang" select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
1181
1182
 
1182
- <fo:block>
1183
+ <fo:block role="H1">
1183
1184
  <xsl:if test="normalize-space($title-intro-doc-lang) != ''">
1184
1185
  <xsl:value-of select="$title-intro-doc-lang"/>
1185
1186
  <xsl:text> — </xsl:text>
@@ -1201,13 +1202,13 @@
1201
1202
  </xsl:if>
1202
1203
  </xsl:if>
1203
1204
  </fo:block>
1204
- <fo:block>
1205
+ <fo:block role="H1">
1205
1206
  <xsl:value-of select="$title-part-doc-lang"/>
1206
1207
  </fo:block>
1207
1208
 
1208
1209
  <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']"/>
1209
1210
  <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
1210
- <fo:block margin-top="12pt">
1211
+ <fo:block margin-top="12pt" role="H1">
1211
1212
  <xsl:call-template name="printAmendmentTitle"/>
1212
1213
  </fo:block>
1213
1214
  </xsl:if>
@@ -1454,7 +1455,10 @@
1454
1455
 
1455
1456
 
1456
1457
  <xsl:template match="iso:license-statement//iso:title">
1457
- <fo:block text-align="center" font-weight="bold">
1458
+ <xsl:variable name="level">
1459
+ <xsl:call-template name="getLevel"/>
1460
+ </xsl:variable>
1461
+ <fo:block text-align="center" font-weight="bold" role="H{$level}">
1458
1462
  <xsl:apply-templates/>
1459
1463
  </fo:block>
1460
1464
  </xsl:template>
@@ -1482,7 +1486,7 @@
1482
1486
  </fo:block> -->
1483
1487
 
1484
1488
  <xsl:template match="iso:copyright-statement/iso:clause[1]/iso:title">
1485
- <fo:block margin-bottom="3mm">
1489
+ <fo:block margin-bottom="3mm" role="H1">
1486
1490
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Attention))}" width="14mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
1487
1491
  <!-- <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold">COPYRIGHT PROTECTED DOCUMENT</fo:inline> -->
1488
1492
  <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold"><xsl:apply-templates/></fo:inline>
@@ -1519,8 +1523,9 @@
1519
1523
  <xsl:call-template name="titleAmendment"/>
1520
1524
  </xsl:when>
1521
1525
  <xsl:otherwise>
1522
- <fo:block font-size="16pt" text-align="center" margin-bottom="48pt" keep-with-next="always">
1526
+ <fo:block font-size="16pt" text-align="center" margin-bottom="48pt" keep-with-next="always" role="H1">
1523
1527
  <xsl:apply-templates/>
1528
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
1524
1529
  </fo:block>
1525
1530
  </xsl:otherwise>
1526
1531
  </xsl:choose>
@@ -1533,7 +1538,7 @@
1533
1538
  <xsl:call-template name="titleAmendment"/>
1534
1539
  </xsl:when>
1535
1540
  <xsl:otherwise>
1536
- <fo:block font-size="16pt" font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="36pt" keep-with-next="always">
1541
+ <fo:block font-size="16pt" font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="36pt" keep-with-next="always" role="H1">
1537
1542
  <xsl:apply-templates/>
1538
1543
  </fo:block>
1539
1544
  </xsl:otherwise>
@@ -1566,8 +1571,9 @@
1566
1571
 
1567
1572
  <xsl:choose>
1568
1573
  <xsl:when test="$doctype = 'amendment' and not(ancestor::iso:preface)">
1569
- <fo:block font-size="11pt" font-style="italic" margin-bottom="12pt" keep-with-next="always">
1574
+ <fo:block font-size="11pt" font-style="italic" margin-bottom="12pt" keep-with-next="always" role="H{$level}">
1570
1575
  <xsl:apply-templates/>
1576
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
1571
1577
  </fo:block>
1572
1578
  </xsl:when>
1573
1579
 
@@ -1593,6 +1599,7 @@
1593
1599
  </xsl:choose>
1594
1600
  </xsl:attribute>
1595
1601
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1602
+ <xsl:attribute name="role">H<xsl:value-of select="$level"/></xsl:attribute>
1596
1603
  <xsl:if test="$element-name = 'fo:inline'">
1597
1604
  <xsl:choose>
1598
1605
  <xsl:when test="$lang = 'zh'">
@@ -1604,6 +1611,7 @@
1604
1611
  </xsl:choose>
1605
1612
  </xsl:if>
1606
1613
  <xsl:apply-templates/>
1614
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
1607
1615
  </xsl:element>
1608
1616
 
1609
1617
  <xsl:if test="$element-name = 'fo:inline' and not(following-sibling::iso:p)">
@@ -1784,8 +1792,11 @@
1784
1792
  <xsl:apply-templates select="."/>
1785
1793
  </xsl:template>
1786
1794
 
1787
- <xsl:template match="iso:preferred">
1788
- <fo:block line-height="1.1">
1795
+ <xsl:template match="iso:preferred">
1796
+ <xsl:variable name="levelTerm">
1797
+ <xsl:call-template name="getLevelTermName"/>
1798
+ </xsl:variable>
1799
+ <fo:block line-height="1.1" role="H{$levelTerm}">
1789
1800
  <fo:block font-weight="bold" keep-with-next="always">
1790
1801
  <xsl:apply-templates select="ancestor::iso:term/iso:name" mode="presentation"/>
1791
1802
  </fo:block>
@@ -1949,7 +1960,7 @@
1949
1960
  <fo:block id="{@id}" span="all">
1950
1961
  <xsl:apply-templates select="iso:title"/>
1951
1962
  </fo:block>
1952
- <fo:block>
1963
+ <fo:block role="Index">
1953
1964
  <xsl:apply-templates select="*[not(local-name() = 'title')]"/>
1954
1965
  </fo:block>
1955
1966
  </fo:flow>
@@ -1958,7 +1969,7 @@
1958
1969
 
1959
1970
  <!-- <xsl:template match="iso:clause[@type = 'index']/iso:title" priority="4"> -->
1960
1971
  <xsl:template match="iso:indexsect/iso:title" priority="4">
1961
- <fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt">
1972
+ <fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt" role="H1">
1962
1973
  <!-- Index -->
1963
1974
  <xsl:apply-templates/>
1964
1975
  </fo:block>
@@ -2003,7 +2014,7 @@
2003
2014
  <xsl:template name="insertHeaderFooter">
2004
2015
  <xsl:param name="font-weight" select="'bold'"/>
2005
2016
  <xsl:call-template name="insertHeaderEven"/>
2006
- <fo:static-content flow-name="footer-even">
2017
+ <fo:static-content flow-name="footer-even" role="artifact">
2007
2018
  <fo:block-container> <!-- display-align="after" -->
2008
2019
  <fo:table table-layout="fixed" width="100%">
2009
2020
  <fo:table-column column-width="33%"/>
@@ -2042,12 +2053,12 @@
2042
2053
  </fo:block>
2043
2054
  </fo:block-container>
2044
2055
  </fo:static-content>
2045
- <fo:static-content flow-name="header-odd">
2056
+ <fo:static-content flow-name="header-odd" role="artifact">
2046
2057
  <fo:block-container height="24mm" display-align="before">
2047
2058
  <fo:block font-size="12pt" font-weight="bold" text-align="right" padding-top="12.5mm"><xsl:value-of select="$ISOname"/></fo:block>
2048
2059
  </fo:block-container>
2049
2060
  </fo:static-content>
2050
- <fo:static-content flow-name="footer-odd">
2061
+ <fo:static-content flow-name="footer-odd" role="artifact">
2051
2062
  <fo:block-container> <!-- display-align="after" -->
2052
2063
  <fo:table table-layout="fixed" width="100%">
2053
2064
  <fo:table-column column-width="33%"/>
@@ -2075,7 +2086,7 @@
2075
2086
  </fo:static-content>
2076
2087
  </xsl:template>
2077
2088
  <xsl:template name="insertHeaderEven">
2078
- <fo:static-content flow-name="header-even">
2089
+ <fo:static-content flow-name="header-even" role="artifact">
2079
2090
  <fo:block-container height="24mm" display-align="before">
2080
2091
  <fo:block font-size="12pt" font-weight="bold" padding-top="12.5mm"><xsl:value-of select="$ISOname"/></fo:block>
2081
2092
  </fo:block-container>
@@ -2326,8 +2337,9 @@
2326
2337
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2327
2338
  <xsl:attribute name="white-space">pre</xsl:attribute>
2328
2339
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
2340
+ <xsl:attribute name="role">Code</xsl:attribute>
2329
2341
 
2330
- <xsl:attribute name="font-family">Courier</xsl:attribute>
2342
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
2331
2343
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2332
2344
 
2333
2345
 
@@ -2350,8 +2362,13 @@
2350
2362
 
2351
2363
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
2352
2364
 
2353
- </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
2354
- </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
2365
+ </xsl:attribute-set><xsl:attribute-set name="subject-style">
2366
+ </xsl:attribute-set><xsl:attribute-set name="inherit-style">
2367
+ </xsl:attribute-set><xsl:attribute-set name="description-style">
2368
+ </xsl:attribute-set><xsl:attribute-set name="specification-style">
2369
+ </xsl:attribute-set><xsl:attribute-set name="measurement-target-style">
2370
+ </xsl:attribute-set><xsl:attribute-set name="verification-style">
2371
+ </xsl:attribute-set><xsl:attribute-set name="import-style">
2355
2372
  </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
2356
2373
 
2357
2374
 
@@ -2418,6 +2435,7 @@
2418
2435
 
2419
2436
 
2420
2437
 
2438
+
2421
2439
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2422
2440
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
2423
2441
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
@@ -2443,7 +2461,9 @@
2443
2461
 
2444
2462
 
2445
2463
 
2446
- </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2464
+ </xsl:attribute-set><xsl:variable name="table-border_">
2465
+
2466
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
2447
2467
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
2448
2468
 
2449
2469
 
@@ -2573,7 +2593,8 @@
2573
2593
 
2574
2594
 
2575
2595
 
2576
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
2596
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
2597
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
2577
2598
 
2578
2599
 
2579
2600
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
@@ -2663,7 +2684,7 @@
2663
2684
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
2664
2685
 
2665
2686
 
2666
- <xsl:attribute name="font-family">Courier</xsl:attribute>
2687
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
2667
2688
 
2668
2689
 
2669
2690
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
@@ -2771,9 +2792,13 @@
2771
2792
  <fo:block>&#xA0;</fo:block>
2772
2793
  </xsl:if> -->
2773
2794
 
2795
+
2796
+ <!-- Display table's name before table as standalone block -->
2774
2797
  <!-- $namespace = 'iso' or -->
2775
2798
 
2776
-
2799
+
2800
+
2801
+
2777
2802
 
2778
2803
 
2779
2804
 
@@ -2849,6 +2874,12 @@
2849
2874
 
2850
2875
 
2851
2876
 
2877
+
2878
+
2879
+
2880
+ <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2881
+
2882
+
2852
2883
  <xsl:variable name="table_width">
2853
2884
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2854
2885
  100%
@@ -2869,6 +2900,7 @@
2869
2900
  </xsl:if>
2870
2901
 
2871
2902
 
2903
+
2872
2904
  <xsl:if test="ancestor::*[local-name() = 'table']">
2873
2905
  <!-- for internal table in table cell -->
2874
2906
  <attribute name="border">0.5pt solid black</attribute>
@@ -2903,6 +2935,8 @@
2903
2935
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2904
2936
  </xsl:if>
2905
2937
 
2938
+
2939
+
2906
2940
  <xsl:choose>
2907
2941
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2908
2942
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -3198,9 +3232,13 @@
3198
3232
  <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
3199
3233
  <xsl:with-param name="continued">true</xsl:with-param>
3200
3234
  </xsl:apply-templates>
3201
- <xsl:for-each select="ancestor::*[local-name()='table'][1]">
3202
- <xsl:call-template name="fn_name_display"/>
3203
- </xsl:for-each>
3235
+
3236
+
3237
+ <xsl:for-each select="ancestor::*[local-name()='table'][1]">
3238
+ <xsl:call-template name="fn_name_display"/>
3239
+ </xsl:for-each>
3240
+
3241
+
3204
3242
 
3205
3243
  <fo:block text-align="right" font-style="italic">
3206
3244
  <xsl:text> </xsl:text>
@@ -3289,7 +3327,11 @@
3289
3327
 
3290
3328
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3291
3329
 
3292
- <xsl:if test="$isNoteOrFnExist = 'true'">
3330
+ <xsl:variable name="isNoteOrFnExistShowAfterTable">
3331
+
3332
+ </xsl:variable>
3333
+
3334
+ <xsl:if test="$isNoteOrFnExist = 'true' or normalize-space($isNoteOrFnExistShowAfterTable) = 'true'">
3293
3335
 
3294
3336
  <xsl:variable name="cols-count">
3295
3337
  <xsl:choose>
@@ -3318,6 +3360,8 @@
3318
3360
  </xsl:choose>
3319
3361
  </xsl:for-each>
3320
3362
 
3363
+
3364
+
3321
3365
  <xsl:choose>
3322
3366
  <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3323
3367
  <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
@@ -3356,6 +3400,7 @@
3356
3400
 
3357
3401
 
3358
3402
 
3403
+
3359
3404
  <!-- for BSI (not PAS) display Notes before footnotes -->
3360
3405
 
3361
3406
 
@@ -3432,21 +3477,29 @@
3432
3477
 
3433
3478
  <fo:table-body>
3434
3479
 
3435
- <xsl:variable name="title_continued">
3480
+ <xsl:variable name="title_continued_">
3436
3481
  <xsl:call-template name="getTitle">
3437
3482
  <xsl:with-param name="name" select="'title-continued'"/>
3438
3483
  </xsl:call-template>
3439
3484
  </xsl:variable>
3440
3485
 
3486
+ <xsl:variable name="title_continued">
3487
+ <xsl:value-of select="$title_continued_"/>
3488
+
3489
+ </xsl:variable>
3490
+
3441
3491
  <xsl:variable name="title_start" select="ancestor::*[local-name()='table'][1]/*[local-name()='name']/node()[1][self::text()]"/>
3442
3492
  <xsl:variable name="table_number" select="substring-before($title_start, '—')"/>
3443
3493
 
3444
3494
  <fo:table-row height="0" keep-with-next.within-page="always">
3445
3495
  <fo:table-cell>
3496
+
3497
+
3446
3498
 
3447
3499
 
3448
3500
  <fo:marker marker-class-name="table_continued"/>
3449
3501
 
3502
+
3450
3503
  <fo:block/>
3451
3504
  </fo:table-cell>
3452
3505
  </fo:table-row>
@@ -3466,6 +3519,19 @@
3466
3519
 
3467
3520
  </fo:table-body>
3468
3521
 
3522
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
3523
+ <xsl:choose>
3524
+ <xsl:when test="substring-after(., '—') != ''">
3525
+ <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
3526
+ </xsl:when>
3527
+ <xsl:otherwise>
3528
+ <xsl:value-of select="."/>
3529
+ </xsl:otherwise>
3530
+ </xsl:choose>
3531
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
3532
+ <xsl:apply-templates mode="presentation_name"/>
3533
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
3534
+ <xsl:apply-templates select="."/>
3469
3535
  </xsl:template><xsl:template match="*[local-name()='tr']">
3470
3536
  <xsl:variable name="parent-name" select="local-name(..)"/>
3471
3537
  <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
@@ -3493,6 +3559,8 @@
3493
3559
 
3494
3560
 
3495
3561
 
3562
+
3563
+
3496
3564
  </xsl:if>
3497
3565
  <xsl:if test="$parent-name = 'tfoot'">
3498
3566
 
@@ -3511,6 +3579,8 @@
3511
3579
 
3512
3580
 
3513
3581
 
3582
+
3583
+
3514
3584
  <!-- <xsl:if test="$namespace = 'bipm'">
3515
3585
  <xsl:attribute name="height">8mm</xsl:attribute>
3516
3586
  </xsl:if> -->
@@ -3664,14 +3734,12 @@
3664
3734
  <xsl:apply-templates/>
3665
3735
  </xsl:template><xsl:template name="fn_display">
3666
3736
  <xsl:variable name="references">
3737
+
3667
3738
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
3668
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3669
-
3670
-
3671
- <xsl:apply-templates/>
3672
- </fn>
3739
+ <xsl:call-template name="create_fn"/>
3673
3740
  </xsl:for-each>
3674
3741
  </xsl:variable>
3742
+
3675
3743
  <xsl:for-each select="xalan:nodeset($references)//fn">
3676
3744
  <xsl:variable name="reference" select="@reference"/>
3677
3745
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
@@ -3710,6 +3778,12 @@
3710
3778
  </fo:block>
3711
3779
  </xsl:if>
3712
3780
  </xsl:for-each>
3781
+ </xsl:template><xsl:template name="create_fn">
3782
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3783
+
3784
+
3785
+ <xsl:apply-templates/>
3786
+ </fn>
3713
3787
  </xsl:template><xsl:template name="fn_name_display">
3714
3788
  <!-- <xsl:variable name="references">
3715
3789
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
@@ -3838,7 +3912,7 @@
3838
3912
 
3839
3913
 
3840
3914
 
3841
- <xsl:if test="ancestor::*[local-name()='td']">
3915
+ <xsl:if test="ancestor::*[local-name()='table']">
3842
3916
  <xsl:attribute name="font-weight">normal</xsl:attribute>
3843
3917
  <!-- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute> -->
3844
3918
  <xsl:attribute name="baseline-shift">15%</xsl:attribute>
@@ -4711,12 +4785,43 @@
4711
4785
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4712
4786
  </xsl:call-template>
4713
4787
 
4788
+
4789
+
4714
4790
  <xsl:variable name="mathml">
4715
4791
  <xsl:apply-templates select="." mode="mathml"/>
4716
4792
  </xsl:variable>
4717
4793
  <fo:instream-foreign-object fox:alt-text="Math">
4718
4794
 
4719
4795
 
4796
+ <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
4797
+ <xsl:variable name="comment_text_">
4798
+ <xsl:choose>
4799
+ <xsl:when test="normalize-space($comment_text_following) != ''">
4800
+ <xsl:value-of select="$comment_text_following"/>
4801
+ </xsl:when>
4802
+ <xsl:otherwise>
4803
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
4804
+ </xsl:otherwise>
4805
+ </xsl:choose>
4806
+ </xsl:variable>
4807
+ <xsl:variable name="comment_text" select="java:org.metanorma.fop.Util.unescape($comment_text_)"/>
4808
+
4809
+ <xsl:if test="normalize-space($comment_text) != ''">
4810
+ <!-- put Mathin Alternate Text -->
4811
+ <xsl:attribute name="fox:alt-text">
4812
+ <xsl:value-of select="java:org.metanorma.fop.Util.unescape($comment_text)"/>
4813
+ </xsl:attribute>
4814
+ </xsl:if>
4815
+
4816
+ <xsl:variable name="mathml_content">
4817
+ <xsl:apply-templates select="." mode="mathml_actual_text"/>
4818
+ </xsl:variable>
4819
+ <!-- put MathML in Actual Text -->
4820
+ <xsl:attribute name="fox:actual-text">
4821
+ <xsl:value-of select="$mathml_content"/>
4822
+ </xsl:attribute>
4823
+
4824
+
4720
4825
  <xsl:if test="count(ancestor::*[local-name() = 'table']) &gt; 1">
4721
4826
  <xsl:attribute name="width">95%</xsl:attribute>
4722
4827
  <xsl:attribute name="content-height">100%</xsl:attribute>
@@ -4728,6 +4833,27 @@
4728
4833
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4729
4834
  </fo:instream-foreign-object>
4730
4835
  </fo:inline>
4836
+ </xsl:template><xsl:template match="mathml:*" mode="mathml_actual_text">
4837
+ <!-- <xsl:text>a+b</xsl:text> -->
4838
+ <xsl:text>&lt;</xsl:text>
4839
+ <xsl:value-of select="local-name()"/>
4840
+ <xsl:if test="local-name() = 'math'">
4841
+ <xsl:text> xmlns="http://www.w3.org/1998/Math/MathML"</xsl:text>
4842
+ </xsl:if>
4843
+ <xsl:for-each select="@*">
4844
+ <xsl:text> </xsl:text>
4845
+ <xsl:value-of select="local-name()"/>
4846
+ <xsl:text>="</xsl:text>
4847
+ <xsl:value-of select="."/>
4848
+ <xsl:text>"</xsl:text>
4849
+ </xsl:for-each>
4850
+ <xsl:text>&gt;</xsl:text>
4851
+ <xsl:apply-templates mode="mathml_actual_text"/>
4852
+ <xsl:text>&lt;/</xsl:text>
4853
+ <xsl:value-of select="local-name()"/>
4854
+ <xsl:text>&gt;</xsl:text>
4855
+ </xsl:template><xsl:template match="text()" mode="mathml_actual_text">
4856
+ <xsl:value-of select="normalize-space()"/>
4731
4857
  </xsl:template><xsl:template match="@*|node()" mode="mathml">
4732
4858
  <xsl:copy>
4733
4859
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
@@ -4737,19 +4863,6 @@
4737
4863
  <!-- replace start and end spaces to non-break space -->
4738
4864
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
4739
4865
  </xsl:copy>
4740
- </xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
4741
- <xsl:copy>
4742
- <xsl:apply-templates select="@*|node()" mode="mathml"/>
4743
- </xsl:copy>
4744
- <xsl:choose>
4745
- <!-- if in msub, then don't add space -->
4746
- <xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
4747
- <!-- if next char in digit, don't add space -->
4748
- <xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
4749
- <xsl:otherwise>
4750
- <mathml:mspace width="0.5ex"/>
4751
- </xsl:otherwise>
4752
- </xsl:choose>
4753
4866
  </xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
4754
4867
  <xsl:variable name="target">
4755
4868
  <xsl:choose>
@@ -4802,7 +4915,10 @@
4802
4915
  </fo:block>
4803
4916
  <xsl:apply-templates/>
4804
4917
  </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4805
- <fo:inline><xsl:apply-templates/></fo:inline>
4918
+ <xsl:variable name="level">
4919
+ <xsl:call-template name="getLevel"/>
4920
+ </xsl:variable>
4921
+ <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
4806
4922
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
4807
4923
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
4808
4924
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -4837,9 +4953,10 @@
4837
4953
 
4838
4954
  </xsl:variable>
4839
4955
 
4956
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
4840
4957
  <xsl:choose>
4841
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
4842
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
4958
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
4959
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
4843
4960
  </xsl:choose>
4844
4961
  <xsl:apply-templates/>
4845
4962
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
@@ -4985,7 +5102,10 @@
4985
5102
  </fo:block>
4986
5103
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4987
5104
  <xsl:if test="normalize-space() != ''">
4988
- <fo:inline>
5105
+ <xsl:variable name="level">
5106
+ <xsl:call-template name="getLevelTermName"/>
5107
+ </xsl:variable>
5108
+ <fo:inline role="H{$level}">
4989
5109
  <xsl:apply-templates/>
4990
5110
  <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
4991
5111
  <xsl:text>.</xsl:text>
@@ -5058,7 +5178,24 @@
5058
5178
  </fo:instream-foreign-object>
5059
5179
  </xsl:when>
5060
5180
  <xsl:otherwise>
5061
- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
5181
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
5182
+ <xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
5183
+
5184
+ <xsl:variable name="img_src">
5185
+ <xsl:choose>
5186
+ <xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
5187
+ <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
5188
+ </xsl:choose>
5189
+ </xsl:variable>
5190
+
5191
+ <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $width_effective, $height_effective)"/>
5192
+ <xsl:if test="number($scale) &lt; 100">
5193
+ <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
5194
+ </xsl:if>
5195
+
5196
+ </xsl:if>
5197
+
5198
+ </fo:external-graphic>
5062
5199
  </xsl:otherwise>
5063
5200
  </xsl:choose>
5064
5201
 
@@ -5229,11 +5366,13 @@
5229
5366
  <xsl:attribute name="width">100%</xsl:attribute>
5230
5367
  <xsl:attribute name="content-height">100%</xsl:attribute>
5231
5368
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
5369
+ <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
5370
+ <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
5232
5371
  <!-- effective height 297 - 27.4 - 13 = 256.6 -->
5233
5372
  <!-- effective width 210 - 12.5 - 25 = 172.5 -->
5234
5373
  <!-- effective height / width = 1.48, 1.4 - with title -->
5235
- <xsl:if test="@height &gt; (@width * 1.4)"> <!-- for images with big height -->
5236
- <xsl:variable name="width" select="((@width * 1.4) div @height) * 100"/>
5374
+ <xsl:if test="$svg_height &gt; ($svg_width * 1.4)"> <!-- for images with big height -->
5375
+ <xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
5237
5376
  <xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
5238
5377
  </xsl:if>
5239
5378
  <xsl:attribute name="scaling">uniform</xsl:attribute>
@@ -5250,6 +5389,23 @@
5250
5389
  <xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
5251
5390
  <xsl:value-of select="."/>
5252
5391
  </xsl:attribute>
5392
+ </xsl:template><xsl:template match="*[local-name() = 'svg'][not(@width and @height)]" mode="svg_update">
5393
+ <xsl:copy>
5394
+ <xsl:apply-templates select="@*" mode="svg_update"/>
5395
+ <xsl:variable name="viewbox">
5396
+ <xsl:call-template name="split">
5397
+ <xsl:with-param name="pText" select="@viewBox"/>
5398
+ <xsl:with-param name="sep" select="' '"/>
5399
+ </xsl:call-template>
5400
+ </xsl:variable>
5401
+ <xsl:attribute name="width">
5402
+ <xsl:value-of select="round(xalan:nodeset($viewbox)//item[3])"/>
5403
+ </xsl:attribute>
5404
+ <xsl:attribute name="height">
5405
+ <xsl:value-of select="round(xalan:nodeset($viewbox)//item[4])"/>
5406
+ </xsl:attribute>
5407
+ <xsl:apply-templates mode="svg_update"/>
5408
+ </xsl:copy>
5253
5409
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
5254
5410
  <xsl:variable name="svg_content" select="document(@src)"/>
5255
5411
  <xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
@@ -5580,6 +5736,7 @@
5580
5736
  </xsl:when>
5581
5737
  <xsl:otherwise>
5582
5738
  <xsl:apply-templates/>
5739
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
5583
5740
  </xsl:otherwise>
5584
5741
  </xsl:choose>
5585
5742
  </fo:block>
@@ -5720,14 +5877,6 @@
5720
5877
  <fo:block>
5721
5878
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
5722
5879
  </fo:block>
5723
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5724
- <fo:block xsl:use-attribute-sets="requirement-subject-style">
5725
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5726
- </fo:block>
5727
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
5728
- <fo:block xsl:use-attribute-sets="requirement-inherit-style">
5729
- <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
5730
- </fo:block>
5731
5880
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
5732
5881
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
5733
5882
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -5744,6 +5893,38 @@
5744
5893
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
5745
5894
  <xsl:apply-templates/>
5746
5895
  </fo:block>
5896
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5897
+ <fo:block xsl:use-attribute-sets="subject-style">
5898
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5899
+ </fo:block>
5900
+ </xsl:template><xsl:template match="*[local-name() = 'subject']">
5901
+ <fo:block xsl:use-attribute-sets="subject-style">
5902
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5903
+ </fo:block>
5904
+ </xsl:template><xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
5905
+ <fo:block xsl:use-attribute-sets="inherit-style">
5906
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
5907
+ </fo:block>
5908
+ </xsl:template><xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
5909
+ <fo:block xsl:use-attribute-sets="description-style">
5910
+ <xsl:apply-templates/>
5911
+ </fo:block>
5912
+ </xsl:template><xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
5913
+ <fo:block xsl:use-attribute-sets="specification-style">
5914
+ <xsl:apply-templates/>
5915
+ </fo:block>
5916
+ </xsl:template><xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
5917
+ <fo:block xsl:use-attribute-sets="measurement-target-style">
5918
+ <xsl:apply-templates/>
5919
+ </fo:block>
5920
+ </xsl:template><xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
5921
+ <fo:block xsl:use-attribute-sets="verification-style">
5922
+ <xsl:apply-templates/>
5923
+ </fo:block>
5924
+ </xsl:template><xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
5925
+ <fo:block xsl:use-attribute-sets="import-style">
5926
+ <xsl:apply-templates/>
5927
+ </fo:block>
5747
5928
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
5748
5929
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
5749
5930
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
@@ -5895,7 +6076,19 @@
5895
6076
  </fo:inline>
5896
6077
  </xsl:if>
5897
6078
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
5898
- <fo:inline><xsl:apply-templates/></fo:inline>
6079
+ <xsl:variable name="element">inline
6080
+
6081
+ </xsl:variable>
6082
+ <xsl:choose>
6083
+ <xsl:when test="contains($element, 'block')">
6084
+ <fo:block xsl:use-attribute-sets="example-p-style">
6085
+ <xsl:apply-templates/>
6086
+ </fo:block>
6087
+ </xsl:when>
6088
+ <xsl:otherwise>
6089
+ <fo:inline><xsl:apply-templates/></fo:inline>
6090
+ </xsl:otherwise>
6091
+ </xsl:choose>
5899
6092
  </xsl:template><xsl:template match="*[local-name() = 'example']">
5900
6093
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
5901
6094
 
@@ -6442,6 +6635,7 @@
6442
6635
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
6443
6636
  <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
6444
6637
  <fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
6638
+
6445
6639
  <xsl:apply-templates/>
6446
6640
  </fo:block>
6447
6641
  </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
@@ -6481,7 +6675,6 @@
6481
6675
  </xsl:template><xsl:template name="processBibitem">
6482
6676
 
6483
6677
 
6484
- <!-- end BIPM bibitem processing-->
6485
6678
 
6486
6679
 
6487
6680
 
@@ -6637,6 +6830,9 @@
6637
6830
  <fo:block-container border="1pt solid black" width="50%">
6638
6831
  <fo:block> </fo:block>
6639
6832
  </fo:block-container>
6833
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6834
+ <fo:inline padding-right="5mm"> </fo:inline>
6835
+ <fo:inline><xsl:apply-templates/></fo:inline>
6640
6836
  </xsl:template><xsl:template name="convertDate">
6641
6837
  <xsl:param name="date"/>
6642
6838
  <xsl:param name="format" select="'short'"/>
@@ -6875,6 +7071,26 @@
6875
7071
  <xsl:value-of select="$level"/>
6876
7072
  </xsl:otherwise>
6877
7073
  </xsl:choose>
7074
+ </xsl:template><xsl:template name="getLevelTermName">
7075
+ <xsl:choose>
7076
+ <xsl:when test="normalize-space(../@depth) != ''">
7077
+ <xsl:value-of select="../@depth"/>
7078
+ </xsl:when>
7079
+ <xsl:otherwise>
7080
+ <xsl:variable name="title_level_">
7081
+ <xsl:for-each select="../preceding-sibling::*[local-name() = 'title'][1]">
7082
+ <xsl:call-template name="getLevel"/>
7083
+ </xsl:for-each>
7084
+ </xsl:variable>
7085
+ <xsl:variable name="title_level" select="normalize-space($title_level_)"/>
7086
+ <xsl:choose>
7087
+ <xsl:when test="$title_level != ''"><xsl:value-of select="$title_level + 1"/></xsl:when>
7088
+ <xsl:otherwise>
7089
+ <xsl:call-template name="getLevel"/>
7090
+ </xsl:otherwise>
7091
+ </xsl:choose>
7092
+ </xsl:otherwise>
7093
+ </xsl:choose>
6878
7094
  </xsl:template><xsl:template name="split">
6879
7095
  <xsl:param name="pText" select="."/>
6880
7096
  <xsl:param name="sep" select="','"/>
@@ -6972,20 +7188,40 @@
6972
7188
  </xsl:call-template>
6973
7189
  </xsl:if>
6974
7190
  </xsl:template><xsl:template name="getLocalizedString">
6975
- <xsl:param name="key"/>
7191
+ <xsl:param name="key"/>
7192
+ <xsl:param name="formatted">false</xsl:param>
6976
7193
 
6977
7194
  <xsl:variable name="curr_lang">
6978
7195
  <xsl:call-template name="getLang"/>
6979
7196
  </xsl:variable>
6980
7197
 
6981
- <xsl:variable name="data_value" select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
7198
+ <xsl:variable name="data_value">
7199
+ <xsl:choose>
7200
+ <xsl:when test="$formatted = 'true'">
7201
+ <xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
7202
+ </xsl:when>
7203
+ <xsl:otherwise>
7204
+ <xsl:value-of select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
7205
+ </xsl:otherwise>
7206
+ </xsl:choose>
7207
+ </xsl:variable>
6982
7208
 
6983
7209
  <xsl:choose>
6984
- <xsl:when test="$data_value != ''">
6985
- <xsl:value-of select="$data_value"/>
7210
+ <xsl:when test="normalize-space($data_value) != ''">
7211
+ <xsl:choose>
7212
+ <xsl:when test="$formatted = 'true'"><xsl:copy-of select="$data_value"/></xsl:when>
7213
+ <xsl:otherwise><xsl:value-of select="$data_value"/></xsl:otherwise>
7214
+ </xsl:choose>
6986
7215
  </xsl:when>
6987
7216
  <xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
6988
- <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
7217
+ <xsl:choose>
7218
+ <xsl:when test="$formatted = 'true'">
7219
+ <xsl:apply-templates select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
7220
+ </xsl:when>
7221
+ <xsl:otherwise>
7222
+ <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
7223
+ </xsl:otherwise>
7224
+ </xsl:choose>
6989
7225
  </xsl:when>
6990
7226
  <xsl:otherwise>
6991
7227
  <xsl:variable name="key_">
@@ -6996,7 +7232,7 @@
6996
7232
  <xsl:value-of select="$key_"/>
6997
7233
  </xsl:otherwise>
6998
7234
  </xsl:choose>
6999
-
7235
+
7000
7236
  </xsl:template><xsl:template name="setTrackChangesStyles">
7001
7237
  <xsl:param name="isAdded"/>
7002
7238
  <xsl:param name="isDeleted"/>