metanorma-ogc 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -174,7 +174,7 @@
174
174
 
175
175
  <fo:block-container absolute-position="fixed" left="16.5mm" top="83mm" height="90mm">
176
176
  <fo:block-container width="155mm">
177
- <fo:block font-size="33pt">
177
+ <fo:block font-size="33pt" role="H1">
178
178
  <xsl:call-template name="addLetterSpacing">
179
179
  <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($doctitle))"/>
180
180
  <xsl:with-param name="letter-spacing" select="1.1"/>
@@ -332,7 +332,7 @@
332
332
  <fo:block-container margin-left="-18mm">
333
333
  <fo:block-container margin-left="0mm">
334
334
  <fo:block margin-bottom="40pt">
335
- <fo:block font-size="33pt" margin-bottom="4pt">
335
+ <fo:block font-size="33pt" margin-bottom="4pt" role="H1">
336
336
  <xsl:call-template name="addLetterSpacing">
337
337
  <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($title-toc))"/>
338
338
  <xsl:with-param name="letter-spacing" select="1.1"/>
@@ -348,70 +348,70 @@
348
348
 
349
349
 
350
350
  <fo:block-container line-height="130%">
351
-
352
- <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
353
-
354
- <fo:block>
355
- <xsl:if test="@level = 1">
356
- <xsl:attribute name="margin-top">14pt</xsl:attribute>
357
- </xsl:if>
358
- <xsl:if test="@level = 1 or @parent = 'annex'">
359
- <xsl:attribute name="font-size">12pt</xsl:attribute>
360
- </xsl:if>
361
- <xsl:if test="@level = 2 and not(@parent = 'annex')">
362
- <xsl:attribute name="font-size">10pt</xsl:attribute>
363
- </xsl:if>
351
+ <fo:block role="TOC">
352
+ <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
364
353
 
365
- <xsl:choose>
366
- <xsl:when test="@level = 1">
367
- <fo:list-block provisional-distance-between-starts="7mm">
368
- <xsl:if test="@type = 'annex'">
369
- <xsl:attribute name="provisional-distance-between-starts">0mm</xsl:attribute>
370
- </xsl:if>
371
- <fo:list-item>
372
- <fo:list-item-label end-indent="label-end()">
373
- <fo:block>
374
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@section))"/>
375
- </fo:block>
376
- </fo:list-item-label>
377
- <fo:list-item-body start-indent="body-start()">
378
- <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
379
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
380
- <xsl:variable name="sectionTitle">
381
- <xsl:apply-templates select="title"/>
382
- </xsl:variable>
383
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($sectionTitle))"/>
384
- <xsl:text> </xsl:text>
385
- <fo:inline keep-together.within-line="always">
386
- <fo:leader leader-pattern="dots"/>
387
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
388
- </fo:inline>
389
- </fo:basic-link>
390
- </fo:block>
391
- </fo:list-item-body>
392
- </fo:list-item>
393
- </fo:list-block>
394
- </xsl:when>
395
- <xsl:otherwise>
396
- <fo:block text-align-last="justify" margin-left="7mm">
397
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
398
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@section))"/>
399
- <xsl:text> </xsl:text>
400
- <xsl:apply-templates select="title"/>
401
- <xsl:text> </xsl:text>
402
- <fo:inline keep-together.within-line="always">
403
- <fo:leader leader-pattern="dots"/>
404
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
405
- </fo:inline>
406
- </fo:basic-link>
407
- </fo:block>
408
- </xsl:otherwise>
409
- </xsl:choose>
410
-
411
-
412
- </fo:block>
413
- </xsl:for-each>
414
-
354
+ <fo:block role="TOCI">
355
+ <xsl:if test="@level = 1">
356
+ <xsl:attribute name="margin-top">14pt</xsl:attribute>
357
+ </xsl:if>
358
+ <xsl:if test="@level = 1 or @parent = 'annex'">
359
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
360
+ </xsl:if>
361
+ <xsl:if test="@level = 2 and not(@parent = 'annex')">
362
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
363
+ </xsl:if>
364
+
365
+ <xsl:choose>
366
+ <xsl:when test="@level = 1">
367
+ <fo:list-block provisional-distance-between-starts="7mm">
368
+ <xsl:if test="@type = 'annex'">
369
+ <xsl:attribute name="provisional-distance-between-starts">0mm</xsl:attribute>
370
+ </xsl:if>
371
+ <fo:list-item>
372
+ <fo:list-item-label end-indent="label-end()">
373
+ <fo:block>
374
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@section))"/>
375
+ </fo:block>
376
+ </fo:list-item-label>
377
+ <fo:list-item-body start-indent="body-start()">
378
+ <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
379
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
380
+ <xsl:variable name="sectionTitle">
381
+ <xsl:apply-templates select="title"/>
382
+ </xsl:variable>
383
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($sectionTitle))"/>
384
+ <xsl:text> </xsl:text>
385
+ <fo:inline keep-together.within-line="always">
386
+ <fo:leader leader-pattern="dots"/>
387
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
388
+ </fo:inline>
389
+ </fo:basic-link>
390
+ </fo:block>
391
+ </fo:list-item-body>
392
+ </fo:list-item>
393
+ </fo:list-block>
394
+ </xsl:when>
395
+ <xsl:otherwise>
396
+ <fo:block text-align-last="justify" margin-left="7mm">
397
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
398
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@section))"/>
399
+ <xsl:text> </xsl:text>
400
+ <xsl:apply-templates select="title"/>
401
+ <xsl:text> </xsl:text>
402
+ <fo:inline keep-together.within-line="always">
403
+ <fo:leader leader-pattern="dots"/>
404
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
405
+ </fo:inline>
406
+ </fo:basic-link>
407
+ </fo:block>
408
+ </xsl:otherwise>
409
+ </xsl:choose>
410
+
411
+
412
+ </fo:block>
413
+ </xsl:for-each>
414
+ </fo:block>
415
415
  </fo:block-container>
416
416
 
417
417
  <xsl:if test="//ogc:table[@id and ogc:name]">
@@ -430,7 +430,7 @@
430
430
  </fo:block-container>
431
431
  <fo:block-container line-height="130%">
432
432
  <xsl:for-each select="//ogc:table[@id and ogc:name]">
433
- <fo:block text-align-last="justify" margin-top="2pt">
433
+ <fo:block text-align-last="justify" margin-top="2pt" role="TOCI">
434
434
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{ogc:name}">
435
435
  <xsl:apply-templates select="ogc:name" mode="contents"/>
436
436
  <fo:inline keep-together.within-line="always">
@@ -459,7 +459,7 @@
459
459
 
460
460
  <fo:block-container line-height="130%">
461
461
  <xsl:for-each select="//ogc:figure[@id and ogc:name]">
462
- <fo:block text-align-last="justify" margin-top="2pt">
462
+ <fo:block text-align-last="justify" margin-top="2pt" role="TOCI">
463
463
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{ogc:name}">
464
464
  <xsl:apply-templates select="ogc:name" mode="contents"/>
465
465
  <fo:inline keep-together.within-line="always">
@@ -492,7 +492,7 @@
492
492
  <!-- <xsl:for-each select="//ogc:permission[@id and ogc:name] | //ogc:recommendation[@id and ogc:name] | //ogc:requirement[@id and ogc:name]"> -->
493
493
  <xsl:for-each select="//ogc:table[.//ogc:p[@class = 'RecommendationTitle']]">
494
494
  <xsl:variable name="table_id" select="@id"/>
495
- <fo:block text-align-last="justify" margin-top="6pt">
495
+ <fo:block text-align-last="justify" margin-top="6pt" role="TOCI">
496
496
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{.//ogc:p[@class = 'RecommendationTitle'][1]/text()}">
497
497
  <xsl:apply-templates select=".//ogc:p[@class = 'RecommendationTitle'][ancestor::ogc:table[1][@id= $table_id]]/node()"/>
498
498
  <xsl:text> </xsl:text>
@@ -739,14 +739,20 @@
739
739
  </fo:block>
740
740
  </xsl:template>
741
741
 
742
- <xsl:template match="ogc:license-statement//ogc:title">
743
- <fo:block font-weight="bold" color="{$color_blue}">
742
+ <xsl:template match="ogc:license-statement//ogc:title">
743
+ <xsl:variable name="level">
744
+ <xsl:call-template name="getLevel"/>
745
+ </xsl:variable>
746
+ <fo:block font-weight="bold" color="{$color_blue}" role="H{$level}">
744
747
  <xsl:apply-templates/>
745
748
  </fo:block>
746
749
  </xsl:template>
747
750
 
748
751
  <xsl:template match="ogc:copyright-statement//ogc:title">
749
- <fo:block font-weight="bold" color="{$color_blue}" margin-top="24pt">
752
+ <xsl:variable name="level">
753
+ <xsl:call-template name="getLevel"/>
754
+ </xsl:variable>
755
+ <fo:block font-weight="bold" color="{$color_blue}" margin-top="24pt" role="H{$level}">
750
756
  <xsl:apply-templates/>
751
757
  </fo:block>
752
758
  </xsl:template>
@@ -764,7 +770,10 @@
764
770
  </xsl:template>
765
771
 
766
772
  <xsl:template match="ogc:legal-statement//ogc:title">
767
- <fo:inline font-weight="bold">
773
+ <xsl:variable name="level">
774
+ <xsl:call-template name="getLevel"/>
775
+ </xsl:variable>
776
+ <fo:inline font-weight="bold" role="H{$level}">
768
777
  <xsl:apply-templates/><xsl:text>: </xsl:text>
769
778
  </fo:inline>
770
779
  </xsl:template>
@@ -839,7 +848,7 @@
839
848
  <xsl:when test="$level = 1">
840
849
  <fo:block-container margin-left="-22mm">
841
850
  <fo:block-container margin-left="0mm">
842
- <fo:block margin-bottom="10pt" space-before="36pt" keep-with-next="always">
851
+ <fo:block margin-bottom="10pt" space-before="36pt" keep-with-next="always" role="H{$level}">
843
852
  <fo:table table-layout="fixed" width="100%">
844
853
  <fo:table-column column-width="22mm"/>
845
854
  <fo:table-column column-width="158mm"/>
@@ -883,7 +892,7 @@
883
892
  </fo:block-container>
884
893
  </xsl:when>
885
894
  <xsl:when test="$level = 2">
886
- <fo:block space-before="24pt" margin-bottom="10pt">
895
+ <fo:block space-before="24pt" margin-bottom="10pt" role="H{$level}">
887
896
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
888
897
  <xsl:variable name="title">
889
898
  <xsl:choose>
@@ -905,12 +914,14 @@
905
914
  <xsl:otherwise>
906
915
  <xsl:element name="{$element-name}">
907
916
  <xsl:attribute name="font-size"><xsl:value-of select="$font-size"/></xsl:attribute>
908
- <xsl:attribute name="font-weight"><xsl:value-of select="$font-weight"/></xsl:attribute>
909
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
910
- <xsl:attribute name="margin-top">30pt</xsl:attribute>
911
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
912
- <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
917
+ <xsl:attribute name="font-weight"><xsl:value-of select="$font-weight"/></xsl:attribute>
918
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
919
+ <xsl:attribute name="margin-top">30pt</xsl:attribute>
920
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
921
+ <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
922
+ <xsl:attribute name="role">H<xsl:value-of select="$level"/></xsl:attribute>
913
923
  <xsl:apply-templates/>
924
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
914
925
  </xsl:element>
915
926
  </xsl:otherwise>
916
927
  </xsl:choose>
@@ -1118,7 +1129,10 @@
1118
1129
  </xsl:template>
1119
1130
 
1120
1131
  <xsl:template match="ogc:term/ogc:name" priority="2">
1121
- <fo:block space-before="36pt" margin-bottom="10pt" keep-with-next="always">
1132
+ <xsl:variable name="levelTerm">
1133
+ <xsl:call-template name="getLevelTermName"/>
1134
+ </xsl:variable>
1135
+ <fo:block space-before="36pt" margin-bottom="10pt" keep-with-next="always" role="H{$levelTerm}">
1122
1136
  <fo:block color="{$color_blue}" keep-with-next="always">
1123
1137
  <fo:inline font-size="18pt" padding-right="1mm"><xsl:apply-templates/></fo:inline>
1124
1138
  <xsl:apply-templates select="../ogc:preferred | ../ogc:deprecated | ../ogc:admitted" mode="term_name"/>
@@ -1263,7 +1277,7 @@
1263
1277
 
1264
1278
  <xsl:template name="insertHeaderFooter">
1265
1279
  <xsl:param name="color" select="$color_blue"/>
1266
- <fo:static-content flow-name="footer">
1280
+ <fo:static-content flow-name="footer" role="artifact">
1267
1281
  <fo:block-container font-size="8pt" height="100%" color="{$color}" padding-top="6mm">
1268
1282
  <fo:table table-layout="fixed" width="100%">
1269
1283
  <fo:table-column column-width="90%"/>
@@ -1423,6 +1437,15 @@
1423
1437
  </fo:inline>
1424
1438
  </xsl:if>
1425
1439
  <xsl:apply-templates select="xalan:nodeset($title)" mode="titlesmall"/>
1440
+
1441
+ <xsl:variable name="variant-title">
1442
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="titlesmall"/>
1443
+ </xsl:variable>
1444
+ <xsl:if test="normalize-space($variant-title) != ''">
1445
+ <fo:inline padding-right="5mm"> </fo:inline>
1446
+ <fo:inline><xsl:copy-of select="$variant-title"/></fo:inline>
1447
+ </xsl:if>
1448
+
1426
1449
  </fo:block>
1427
1450
  <xsl:call-template name="insertOrangeHorizontalLine"/>
1428
1451
  </fo:block>
@@ -1640,6 +1663,7 @@
1640
1663
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1641
1664
  <xsl:attribute name="white-space">pre</xsl:attribute>
1642
1665
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
1666
+ <xsl:attribute name="role">Code</xsl:attribute>
1643
1667
 
1644
1668
 
1645
1669
 
@@ -1691,8 +1715,13 @@
1691
1715
 
1692
1716
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1693
1717
 
1694
- </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
1695
- </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
1718
+ </xsl:attribute-set><xsl:attribute-set name="subject-style">
1719
+ </xsl:attribute-set><xsl:attribute-set name="inherit-style">
1720
+ </xsl:attribute-set><xsl:attribute-set name="description-style">
1721
+ </xsl:attribute-set><xsl:attribute-set name="specification-style">
1722
+ </xsl:attribute-set><xsl:attribute-set name="measurement-target-style">
1723
+ </xsl:attribute-set><xsl:attribute-set name="verification-style">
1724
+ </xsl:attribute-set><xsl:attribute-set name="import-style">
1696
1725
  </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
1697
1726
 
1698
1727
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -1921,7 +1950,8 @@
1921
1950
 
1922
1951
 
1923
1952
 
1924
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
1953
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1954
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
1925
1955
 
1926
1956
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1927
1957
  <xsl:attribute name="margin-left">13mm</xsl:attribute>
@@ -2129,7 +2159,9 @@
2129
2159
 
2130
2160
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2131
2161
 
2132
-
2162
+
2163
+
2164
+
2133
2165
 
2134
2166
  <xsl:call-template name="fn_name_display"/>
2135
2167
 
@@ -4028,16 +4060,68 @@
4028
4060
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4029
4061
  </xsl:call-template>
4030
4062
 
4063
+
4064
+
4031
4065
  <xsl:variable name="mathml">
4032
4066
  <xsl:apply-templates select="." mode="mathml"/>
4033
4067
  </xsl:variable>
4034
4068
  <fo:instream-foreign-object fox:alt-text="Math">
4035
4069
 
4036
4070
 
4071
+ <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
4072
+ <xsl:variable name="comment_text_">
4073
+ <xsl:choose>
4074
+ <xsl:when test="normalize-space($comment_text_following) != ''">
4075
+ <xsl:value-of select="$comment_text_following"/>
4076
+ </xsl:when>
4077
+ <xsl:otherwise>
4078
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
4079
+ </xsl:otherwise>
4080
+ </xsl:choose>
4081
+ </xsl:variable>
4082
+ <xsl:variable name="comment_text" select="java:org.metanorma.fop.Util.unescape($comment_text_)"/>
4083
+
4084
+ <xsl:if test="normalize-space($comment_text) != ''">
4085
+ <!-- put Mathin Alternate Text -->
4086
+ <xsl:attribute name="fox:alt-text">
4087
+ <xsl:value-of select="java:org.metanorma.fop.Util.unescape($comment_text)"/>
4088
+ </xsl:attribute>
4089
+ </xsl:if>
4090
+
4091
+ <xsl:variable name="mathml_content">
4092
+ <xsl:apply-templates select="." mode="mathml_actual_text"/>
4093
+ </xsl:variable>
4094
+ <!-- put MathML in Actual Text -->
4095
+ <xsl:attribute name="fox:actual-text">
4096
+ <xsl:value-of select="$mathml_content"/>
4097
+ </xsl:attribute>
4098
+
4099
+
4037
4100
  <!-- <xsl:copy-of select="."/> -->
4038
4101
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4039
4102
  </fo:instream-foreign-object>
4040
4103
  </fo:inline>
4104
+ </xsl:template><xsl:template match="mathml:*" mode="mathml_actual_text">
4105
+ <!-- <xsl:text>a+b</xsl:text> -->
4106
+ <xsl:text>&lt;</xsl:text>
4107
+ <xsl:value-of select="local-name()"/>
4108
+ <xsl:if test="local-name() = 'math'">
4109
+ <xsl:text> xmlns="http://www.w3.org/1998/Math/MathML"</xsl:text>
4110
+ </xsl:if>
4111
+ <xsl:for-each select="@*">
4112
+ <xsl:text> </xsl:text>
4113
+ <xsl:value-of select="local-name()"/>
4114
+ <xsl:text>="</xsl:text>
4115
+ <xsl:value-of select="."/>
4116
+ <xsl:text>"</xsl:text>
4117
+ </xsl:for-each>
4118
+ <xsl:text>&gt;</xsl:text>
4119
+ <xsl:apply-templates mode="mathml_actual_text"/>
4120
+ <xsl:text>&lt;/</xsl:text>
4121
+ <xsl:value-of select="local-name()"/>
4122
+ <xsl:text>&gt;</xsl:text>
4123
+ </xsl:template><xsl:template match="text()" mode="mathml_actual_text">
4124
+ <xsl:value-of select="normalize-space()"/>
4041
4125
  </xsl:template><xsl:template match="@*|node()" mode="mathml">
4042
4126
  <xsl:copy>
4043
4127
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
@@ -4099,7 +4183,10 @@
4099
4183
  </fo:block>
4100
4184
  <xsl:apply-templates/>
4101
4185
  </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4102
- <fo:inline><xsl:apply-templates/></fo:inline>
4186
+ <xsl:variable name="level">
4187
+ <xsl:call-template name="getLevel"/>
4188
+ </xsl:variable>
4189
+ <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
4103
4190
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
4104
4191
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
4105
4192
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -4134,9 +4221,10 @@
4134
4221
 
4135
4222
  </xsl:variable>
4136
4223
 
4224
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
4137
4225
  <xsl:choose>
4138
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
4139
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
4226
+ <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>
4227
+ <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>
4140
4228
  </xsl:choose>
4141
4229
  <xsl:apply-templates/>
4142
4230
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
@@ -4288,7 +4376,10 @@
4288
4376
  </fo:block>
4289
4377
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4290
4378
  <xsl:if test="normalize-space() != ''">
4291
- <fo:inline>
4379
+ <xsl:variable name="level">
4380
+ <xsl:call-template name="getLevelTermName"/>
4381
+ </xsl:variable>
4382
+ <fo:inline role="H{$level}">
4292
4383
  <xsl:apply-templates/>
4293
4384
  <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
4294
4385
  <xsl:text>.</xsl:text>
@@ -4962,6 +5053,7 @@
4962
5053
  </xsl:when>
4963
5054
  <xsl:otherwise>
4964
5055
  <xsl:apply-templates/>
5056
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
4965
5057
  </xsl:otherwise>
4966
5058
  </xsl:choose>
4967
5059
  </fo:block>
@@ -5110,14 +5202,6 @@
5110
5202
  <fo:block>
5111
5203
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
5112
5204
  </fo:block>
5113
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5114
- <fo:block xsl:use-attribute-sets="requirement-subject-style">
5115
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5116
- </fo:block>
5117
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
5118
- <fo:block xsl:use-attribute-sets="requirement-inherit-style">
5119
- <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
5120
- </fo:block>
5121
5205
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
5122
5206
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
5123
5207
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -5134,6 +5218,38 @@
5134
5218
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
5135
5219
  <xsl:apply-templates/>
5136
5220
  </fo:block>
5221
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5222
+ <fo:block xsl:use-attribute-sets="subject-style">
5223
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5224
+ </fo:block>
5225
+ </xsl:template><xsl:template match="*[local-name() = 'subject']">
5226
+ <fo:block xsl:use-attribute-sets="subject-style">
5227
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5228
+ </fo:block>
5229
+ </xsl:template><xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
5230
+ <fo:block xsl:use-attribute-sets="inherit-style">
5231
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
5232
+ </fo:block>
5233
+ </xsl:template><xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
5234
+ <fo:block xsl:use-attribute-sets="description-style">
5235
+ <xsl:apply-templates/>
5236
+ </fo:block>
5237
+ </xsl:template><xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
5238
+ <fo:block xsl:use-attribute-sets="specification-style">
5239
+ <xsl:apply-templates/>
5240
+ </fo:block>
5241
+ </xsl:template><xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
5242
+ <fo:block xsl:use-attribute-sets="measurement-target-style">
5243
+ <xsl:apply-templates/>
5244
+ </fo:block>
5245
+ </xsl:template><xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
5246
+ <fo:block xsl:use-attribute-sets="verification-style">
5247
+ <xsl:apply-templates/>
5248
+ </fo:block>
5249
+ </xsl:template><xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
5250
+ <fo:block xsl:use-attribute-sets="import-style">
5251
+ <xsl:apply-templates/>
5252
+ </fo:block>
5137
5253
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
5138
5254
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
5139
5255
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
@@ -6151,6 +6267,9 @@
6151
6267
  <fo:block-container border="1pt solid black" width="50%">
6152
6268
  <fo:block> </fo:block>
6153
6269
  </fo:block-container>
6270
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6271
+ <fo:inline padding-right="5mm"> </fo:inline>
6272
+ <fo:inline><xsl:apply-templates/></fo:inline>
6154
6273
  </xsl:template><xsl:template name="convertDate">
6155
6274
  <xsl:param name="date"/>
6156
6275
  <xsl:param name="format" select="'short'"/>
@@ -6389,6 +6508,26 @@
6389
6508
  <xsl:value-of select="$level"/>
6390
6509
  </xsl:otherwise>
6391
6510
  </xsl:choose>
6511
+ </xsl:template><xsl:template name="getLevelTermName">
6512
+ <xsl:choose>
6513
+ <xsl:when test="normalize-space(../@depth) != ''">
6514
+ <xsl:value-of select="../@depth"/>
6515
+ </xsl:when>
6516
+ <xsl:otherwise>
6517
+ <xsl:variable name="title_level_">
6518
+ <xsl:for-each select="../preceding-sibling::*[local-name() = 'title'][1]">
6519
+ <xsl:call-template name="getLevel"/>
6520
+ </xsl:for-each>
6521
+ </xsl:variable>
6522
+ <xsl:variable name="title_level" select="normalize-space($title_level_)"/>
6523
+ <xsl:choose>
6524
+ <xsl:when test="$title_level != ''"><xsl:value-of select="$title_level + 1"/></xsl:when>
6525
+ <xsl:otherwise>
6526
+ <xsl:call-template name="getLevel"/>
6527
+ </xsl:otherwise>
6528
+ </xsl:choose>
6529
+ </xsl:otherwise>
6530
+ </xsl:choose>
6392
6531
  </xsl:template><xsl:template name="split">
6393
6532
  <xsl:param name="pText" select="."/>
6394
6533
  <xsl:param name="sep" select="','"/>