metanorma-mpfa 0.6.9 → 0.6.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df58e68481327baeb4b01c1fa195032891e17f26d117f92313f9047a64639006
4
- data.tar.gz: 1fbd960a799d08b7524f8f501e2d5b446a4a3af0206afb1af904afbd0cf1f313
3
+ metadata.gz: 03feeea1971898de543923966b8a3a0c4f6b7870ff00dde9a176c70ad9f3afb5
4
+ data.tar.gz: 9b35dca4e54628cdfd6823e2a2d8df8da858fcb20ca52d15e6a69c44c01e5986
5
5
  SHA512:
6
- metadata.gz: 1ed204b79a90672638f89e039ae7945608841c845938d0317bf119da29029a90b6cae40c02cb3f6d09441dc40442b8c2a4d230a2da40e0d02b9543781a39afee
7
- data.tar.gz: fad4815ccbfd1a9079e4c351b0ede966bc16ee980bde6afb7e8af52599c1cdd6761725c1a11612c5bd1e09d59c6b08603904f4eafddd38c4905b3af268bce670
6
+ metadata.gz: 0fd18f79dcd91f3104f13b5b6b4e555ead40f0f6a46a8d410e383159bd00f63cb1506958b15158fb562ef4da87a1b564b5804130d52eb302fe89394421e68d12
7
+ data.tar.gz: '018258015a295686a5f4f65cf23f870dcf83b04367e7142b0e4aa447c5657f15d415f0ab2c7f776f003af7f242644e8091593b2148e3b98b6adaccd58e6003d5'
@@ -32,6 +32,18 @@
32
32
  <ref name="DocumentType"/>
33
33
  </element>
34
34
  </define>
35
+ <define name="section-title">
36
+ <element name="title">
37
+ <zeroOrMore>
38
+ <ref name="TextElement"/>
39
+ </zeroOrMore>
40
+ </element>
41
+ <zeroOrMore>
42
+ <element name="variant-title">
43
+ <ref name="TypedTitleString"/>
44
+ </element>
45
+ </zeroOrMore>
46
+ </define>
35
47
  <define name="hyperlink">
36
48
  <element name="link">
37
49
  <attribute name="target">
@@ -158,15 +170,17 @@
158
170
  <data type="boolean"/>
159
171
  </attribute>
160
172
  </optional>
161
- <attribute name="type">
162
- <choice>
163
- <value>roman</value>
164
- <value>alphabet</value>
165
- <value>arabic</value>
166
- <value>roman_upper</value>
167
- <value>alphabet_upper</value>
168
- </choice>
169
- </attribute>
173
+ <optional>
174
+ <attribute name="type">
175
+ <choice>
176
+ <value>roman</value>
177
+ <value>alphabet</value>
178
+ <value>arabic</value>
179
+ <value>roman_upper</value>
180
+ <value>alphabet_upper</value>
181
+ </choice>
182
+ </attribute>
183
+ </optional>
170
184
  <oneOrMore>
171
185
  <ref name="li"/>
172
186
  </oneOrMore>
@@ -134,7 +134,7 @@
134
134
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-MPFD-Logo))}" width="13.2mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image MPFD Logo"/>
135
135
  </fo:block>
136
136
  <fo:block-container text-align="center">
137
- <fo:block>
137
+ <fo:block role="H1">
138
138
  <fo:inline font-size="24pt" font-weight="bold">
139
139
  <xsl:call-template name="capitalizeWords">
140
140
  <xsl:with-param name="str" select="java:replaceAll(java:java.lang.String.new(/mpfd:mpfd-standard/mpfd:bibdata/mpfd:ext/mpfd:doctype),'MPF','')"/>
@@ -181,10 +181,10 @@
181
181
  <xsl:with-param name="name" select="'title-toc'"/>
182
182
  </xsl:call-template>
183
183
  </xsl:variable>
184
- <fo:block font-size="14pt" margin-bottom="15.5pt"><xsl:value-of select="$title-toc"/></fo:block>
185
- <fo:block line-height="115%">
184
+ <fo:block font-size="14pt" margin-bottom="15.5pt" role="H1"><xsl:value-of select="$title-toc"/></fo:block>
185
+ <fo:block line-height="115%" role="TOC">
186
186
  <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
187
- <fo:block>
187
+ <fo:block role="TOCI">
188
188
  <xsl:if test="@level = 1">
189
189
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
190
190
  </xsl:if>
@@ -240,7 +240,7 @@
240
240
 
241
241
 
242
242
 
243
- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt">
243
+ <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt" role="H1">
244
244
  <xsl:value-of select="$title-en"/>
245
245
  </fo:block>
246
246
 
@@ -389,12 +389,13 @@
389
389
  </xsl:choose>
390
390
  </xsl:variable>
391
391
 
392
- <fo:block font-size="{$font-size}" color="rgb(14, 26, 133)" font-weight="bold" space-before="{$space-before}" space-after="{$space-after}" keep-with-next="always">
392
+ <fo:block font-size="{$font-size}" color="rgb(14, 26, 133)" font-weight="bold" space-before="{$space-before}" space-after="{$space-after}" keep-with-next="always" role="H{$level}">
393
393
  <xsl:if test="parent::mpfd:annex">
394
394
  <xsl:attribute name="text-align">center</xsl:attribute>
395
395
  <xsl:attribute name="font-size">12pt</xsl:attribute>
396
396
  </xsl:if>
397
397
  <xsl:apply-templates/>
398
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
398
399
  </fo:block>
399
400
 
400
401
  </xsl:template>
@@ -737,14 +738,14 @@
737
738
 
738
739
  <xsl:template name="insertHeaderFooter">
739
740
  <xsl:param name="font-weight">normal</xsl:param>
740
- <fo:static-content flow-name="header-even">
741
+ <fo:static-content flow-name="header-even" role="artifact">
741
742
  <fo:block-container height="100%" display-align="before">
742
743
  <fo:block padding-top="12.5mm">
743
744
  <xsl:value-of select="$copyrightShort"/>
744
745
  </fo:block>
745
746
  </fo:block-container>
746
747
  </fo:static-content>
747
- <fo:static-content flow-name="footer-even">
748
+ <fo:static-content flow-name="footer-even" role="artifact">
748
749
  <fo:block-container font-size="10pt" height="100%" display-align="after">
749
750
  <fo:table table-layout="fixed" width="100%">
750
751
  <fo:table-column column-width="10%"/>
@@ -762,14 +763,14 @@
762
763
  </fo:table>
763
764
  </fo:block-container>
764
765
  </fo:static-content>
765
- <fo:static-content flow-name="header-odd">
766
+ <fo:static-content flow-name="header-odd" role="artifact">
766
767
  <fo:block-container height="100%" display-align="before">
767
768
  <fo:block text-align="right" padding-top="12.5mm">
768
769
  <xsl:value-of select="$copyrightShort"/>
769
770
  </fo:block>
770
771
  </fo:block-container>
771
772
  </fo:static-content>
772
- <fo:static-content flow-name="footer-odd">
773
+ <fo:static-content flow-name="footer-odd" role="artifact">
773
774
  <fo:block-container font-size="10pt" height="100%" display-align="after">
774
775
  <fo:table table-layout="fixed" width="100%">
775
776
  <fo:table-column column-width="90%"/>
@@ -957,6 +958,7 @@
957
958
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
958
959
  <xsl:attribute name="white-space">pre</xsl:attribute>
959
960
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
961
+ <xsl:attribute name="role">Code</xsl:attribute>
960
962
 
961
963
 
962
964
 
@@ -978,8 +980,13 @@
978
980
 
979
981
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
980
982
 
981
- </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
982
- </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
983
+ </xsl:attribute-set><xsl:attribute-set name="subject-style">
984
+ </xsl:attribute-set><xsl:attribute-set name="inherit-style">
985
+ </xsl:attribute-set><xsl:attribute-set name="description-style">
986
+ </xsl:attribute-set><xsl:attribute-set name="specification-style">
987
+ </xsl:attribute-set><xsl:attribute-set name="measurement-target-style">
988
+ </xsl:attribute-set><xsl:attribute-set name="verification-style">
989
+ </xsl:attribute-set><xsl:attribute-set name="import-style">
983
990
  </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
984
991
 
985
992
 
@@ -1172,7 +1179,8 @@
1172
1179
 
1173
1180
 
1174
1181
 
1175
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
1182
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1183
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
1176
1184
 
1177
1185
 
1178
1186
 
@@ -1366,7 +1374,9 @@
1366
1374
 
1367
1375
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1368
1376
 
1369
-
1377
+
1378
+
1379
+
1370
1380
 
1371
1381
  <xsl:call-template name="fn_name_display"/>
1372
1382
 
@@ -3222,16 +3232,68 @@
3222
3232
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3223
3233
  </xsl:call-template>
3224
3234
 
3235
+
3236
+
3225
3237
  <xsl:variable name="mathml">
3226
3238
  <xsl:apply-templates select="." mode="mathml"/>
3227
3239
  </xsl:variable>
3228
3240
  <fo:instream-foreign-object fox:alt-text="Math">
3229
3241
 
3230
3242
 
3243
+ <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
3244
+ <xsl:variable name="comment_text_">
3245
+ <xsl:choose>
3246
+ <xsl:when test="normalize-space($comment_text_following) != ''">
3247
+ <xsl:value-of select="$comment_text_following"/>
3248
+ </xsl:when>
3249
+ <xsl:otherwise>
3250
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
3251
+ </xsl:otherwise>
3252
+ </xsl:choose>
3253
+ </xsl:variable>
3254
+ <xsl:variable name="comment_text" select="java:org.metanorma.fop.Util.unescape($comment_text_)"/>
3255
+
3256
+ <xsl:if test="normalize-space($comment_text) != ''">
3257
+ <!-- put Mathin Alternate Text -->
3258
+ <xsl:attribute name="fox:alt-text">
3259
+ <xsl:value-of select="java:org.metanorma.fop.Util.unescape($comment_text)"/>
3260
+ </xsl:attribute>
3261
+ </xsl:if>
3262
+
3263
+ <xsl:variable name="mathml_content">
3264
+ <xsl:apply-templates select="." mode="mathml_actual_text"/>
3265
+ </xsl:variable>
3266
+ <!-- put MathML in Actual Text -->
3267
+ <xsl:attribute name="fox:actual-text">
3268
+ <xsl:value-of select="$mathml_content"/>
3269
+ </xsl:attribute>
3270
+
3271
+
3231
3272
  <!-- <xsl:copy-of select="."/> -->
3232
3273
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3233
3274
  </fo:instream-foreign-object>
3234
3275
  </fo:inline>
3276
+ </xsl:template><xsl:template match="mathml:*" mode="mathml_actual_text">
3277
+ <!-- <xsl:text>a+b</xsl:text> -->
3278
+ <xsl:text>&lt;</xsl:text>
3279
+ <xsl:value-of select="local-name()"/>
3280
+ <xsl:if test="local-name() = 'math'">
3281
+ <xsl:text> xmlns="http://www.w3.org/1998/Math/MathML"</xsl:text>
3282
+ </xsl:if>
3283
+ <xsl:for-each select="@*">
3284
+ <xsl:text> </xsl:text>
3285
+ <xsl:value-of select="local-name()"/>
3286
+ <xsl:text>="</xsl:text>
3287
+ <xsl:value-of select="."/>
3288
+ <xsl:text>"</xsl:text>
3289
+ </xsl:for-each>
3290
+ <xsl:text>&gt;</xsl:text>
3291
+ <xsl:apply-templates mode="mathml_actual_text"/>
3292
+ <xsl:text>&lt;/</xsl:text>
3293
+ <xsl:value-of select="local-name()"/>
3294
+ <xsl:text>&gt;</xsl:text>
3295
+ </xsl:template><xsl:template match="text()" mode="mathml_actual_text">
3296
+ <xsl:value-of select="normalize-space()"/>
3235
3297
  </xsl:template><xsl:template match="@*|node()" mode="mathml">
3236
3298
  <xsl:copy>
3237
3299
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
@@ -3293,7 +3355,10 @@
3293
3355
  </fo:block>
3294
3356
  <xsl:apply-templates/>
3295
3357
  </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
3296
- <fo:inline><xsl:apply-templates/></fo:inline>
3358
+ <xsl:variable name="level">
3359
+ <xsl:call-template name="getLevel"/>
3360
+ </xsl:variable>
3361
+ <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
3297
3362
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
3298
3363
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
3299
3364
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -3328,9 +3393,10 @@
3328
3393
 
3329
3394
  </xsl:variable>
3330
3395
 
3396
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
3331
3397
  <xsl:choose>
3332
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
3333
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
3398
+ <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>
3399
+ <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>
3334
3400
  </xsl:choose>
3335
3401
  <xsl:apply-templates/>
3336
3402
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
@@ -3474,7 +3540,10 @@
3474
3540
  </fo:block>
3475
3541
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
3476
3542
  <xsl:if test="normalize-space() != ''">
3477
- <fo:inline>
3543
+ <xsl:variable name="level">
3544
+ <xsl:call-template name="getLevelTermName"/>
3545
+ </xsl:variable>
3546
+ <fo:inline role="H{$level}">
3478
3547
  <xsl:apply-templates/>
3479
3548
  <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
3480
3549
  <xsl:text>.</xsl:text>
@@ -4105,6 +4174,7 @@
4105
4174
  </xsl:when>
4106
4175
  <xsl:otherwise>
4107
4176
  <xsl:apply-templates/>
4177
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
4108
4178
  </xsl:otherwise>
4109
4179
  </xsl:choose>
4110
4180
  </fo:block>
@@ -4245,14 +4315,6 @@
4245
4315
  <fo:block>
4246
4316
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4247
4317
  </fo:block>
4248
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4249
- <fo:block xsl:use-attribute-sets="requirement-subject-style">
4250
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4251
- </fo:block>
4252
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
4253
- <fo:block xsl:use-attribute-sets="requirement-inherit-style">
4254
- <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
4255
- </fo:block>
4256
4318
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4257
4319
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4258
4320
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -4269,6 +4331,38 @@
4269
4331
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
4270
4332
  <xsl:apply-templates/>
4271
4333
  </fo:block>
4334
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4335
+ <fo:block xsl:use-attribute-sets="subject-style">
4336
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4337
+ </fo:block>
4338
+ </xsl:template><xsl:template match="*[local-name() = 'subject']">
4339
+ <fo:block xsl:use-attribute-sets="subject-style">
4340
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4341
+ </fo:block>
4342
+ </xsl:template><xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
4343
+ <fo:block xsl:use-attribute-sets="inherit-style">
4344
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
4345
+ </fo:block>
4346
+ </xsl:template><xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
4347
+ <fo:block xsl:use-attribute-sets="description-style">
4348
+ <xsl:apply-templates/>
4349
+ </fo:block>
4350
+ </xsl:template><xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
4351
+ <fo:block xsl:use-attribute-sets="specification-style">
4352
+ <xsl:apply-templates/>
4353
+ </fo:block>
4354
+ </xsl:template><xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
4355
+ <fo:block xsl:use-attribute-sets="measurement-target-style">
4356
+ <xsl:apply-templates/>
4357
+ </fo:block>
4358
+ </xsl:template><xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
4359
+ <fo:block xsl:use-attribute-sets="verification-style">
4360
+ <xsl:apply-templates/>
4361
+ </fo:block>
4362
+ </xsl:template><xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
4363
+ <fo:block xsl:use-attribute-sets="import-style">
4364
+ <xsl:apply-templates/>
4365
+ </fo:block>
4272
4366
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
4273
4367
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
4274
4368
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
@@ -5133,6 +5227,9 @@
5133
5227
  <fo:block-container border="1pt solid black" width="50%">
5134
5228
  <fo:block> </fo:block>
5135
5229
  </fo:block-container>
5230
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
5231
+ <fo:inline padding-right="5mm"> </fo:inline>
5232
+ <fo:inline><xsl:apply-templates/></fo:inline>
5136
5233
  </xsl:template><xsl:template name="convertDate">
5137
5234
  <xsl:param name="date"/>
5138
5235
  <xsl:param name="format" select="'short'"/>
@@ -5364,6 +5461,26 @@
5364
5461
  <xsl:value-of select="$level"/>
5365
5462
  </xsl:otherwise>
5366
5463
  </xsl:choose>
5464
+ </xsl:template><xsl:template name="getLevelTermName">
5465
+ <xsl:choose>
5466
+ <xsl:when test="normalize-space(../@depth) != ''">
5467
+ <xsl:value-of select="../@depth"/>
5468
+ </xsl:when>
5469
+ <xsl:otherwise>
5470
+ <xsl:variable name="title_level_">
5471
+ <xsl:for-each select="../preceding-sibling::*[local-name() = 'title'][1]">
5472
+ <xsl:call-template name="getLevel"/>
5473
+ </xsl:for-each>
5474
+ </xsl:variable>
5475
+ <xsl:variable name="title_level" select="normalize-space($title_level_)"/>
5476
+ <xsl:choose>
5477
+ <xsl:when test="$title_level != ''"><xsl:value-of select="$title_level + 1"/></xsl:when>
5478
+ <xsl:otherwise>
5479
+ <xsl:call-template name="getLevel"/>
5480
+ </xsl:otherwise>
5481
+ </xsl:choose>
5482
+ </xsl:otherwise>
5483
+ </xsl:choose>
5367
5484
  </xsl:template><xsl:template name="split">
5368
5485
  <xsl:param name="pText" select="."/>
5369
5486
  <xsl:param name="sep" select="','"/>
@@ -134,7 +134,7 @@
134
134
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-MPFD-Logo))}" width="13.2mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image MPFD Logo"/>
135
135
  </fo:block>
136
136
  <fo:block-container text-align="center">
137
- <fo:block>
137
+ <fo:block role="H1">
138
138
  <fo:inline font-size="24pt" font-weight="bold">
139
139
  <xsl:call-template name="capitalizeWords">
140
140
  <xsl:with-param name="str" select="java:replaceAll(java:java.lang.String.new(/mpfd:mpfd-standard/mpfd:bibdata/mpfd:ext/mpfd:doctype),'MPF','')"/>
@@ -181,10 +181,10 @@
181
181
  <xsl:with-param name="name" select="'title-toc'"/>
182
182
  </xsl:call-template>
183
183
  </xsl:variable>
184
- <fo:block font-size="14pt" margin-bottom="15.5pt"><xsl:value-of select="$title-toc"/></fo:block>
185
- <fo:block line-height="115%">
184
+ <fo:block font-size="14pt" margin-bottom="15.5pt" role="H1"><xsl:value-of select="$title-toc"/></fo:block>
185
+ <fo:block line-height="115%" role="TOC">
186
186
  <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
187
- <fo:block>
187
+ <fo:block role="TOCI">
188
188
  <xsl:if test="@level = 1">
189
189
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
190
190
  </xsl:if>
@@ -240,7 +240,7 @@
240
240
 
241
241
 
242
242
 
243
- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt">
243
+ <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt" role="H1">
244
244
  <xsl:value-of select="$title-en"/>
245
245
  </fo:block>
246
246
 
@@ -389,12 +389,13 @@
389
389
  </xsl:choose>
390
390
  </xsl:variable>
391
391
 
392
- <fo:block font-size="{$font-size}" color="rgb(14, 26, 133)" font-weight="bold" space-before="{$space-before}" space-after="{$space-after}" keep-with-next="always">
392
+ <fo:block font-size="{$font-size}" color="rgb(14, 26, 133)" font-weight="bold" space-before="{$space-before}" space-after="{$space-after}" keep-with-next="always" role="H{$level}">
393
393
  <xsl:if test="parent::mpfd:annex">
394
394
  <xsl:attribute name="text-align">center</xsl:attribute>
395
395
  <xsl:attribute name="font-size">12pt</xsl:attribute>
396
396
  </xsl:if>
397
397
  <xsl:apply-templates/>
398
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
398
399
  </fo:block>
399
400
 
400
401
  </xsl:template>
@@ -737,14 +738,14 @@
737
738
 
738
739
  <xsl:template name="insertHeaderFooter">
739
740
  <xsl:param name="font-weight">normal</xsl:param>
740
- <fo:static-content flow-name="header-even">
741
+ <fo:static-content flow-name="header-even" role="artifact">
741
742
  <fo:block-container height="100%" display-align="before">
742
743
  <fo:block padding-top="12.5mm">
743
744
  <xsl:value-of select="$copyrightShort"/>
744
745
  </fo:block>
745
746
  </fo:block-container>
746
747
  </fo:static-content>
747
- <fo:static-content flow-name="footer-even">
748
+ <fo:static-content flow-name="footer-even" role="artifact">
748
749
  <fo:block-container font-size="10pt" height="100%" display-align="after">
749
750
  <fo:table table-layout="fixed" width="100%">
750
751
  <fo:table-column column-width="10%"/>
@@ -762,14 +763,14 @@
762
763
  </fo:table>
763
764
  </fo:block-container>
764
765
  </fo:static-content>
765
- <fo:static-content flow-name="header-odd">
766
+ <fo:static-content flow-name="header-odd" role="artifact">
766
767
  <fo:block-container height="100%" display-align="before">
767
768
  <fo:block text-align="right" padding-top="12.5mm">
768
769
  <xsl:value-of select="$copyrightShort"/>
769
770
  </fo:block>
770
771
  </fo:block-container>
771
772
  </fo:static-content>
772
- <fo:static-content flow-name="footer-odd">
773
+ <fo:static-content flow-name="footer-odd" role="artifact">
773
774
  <fo:block-container font-size="10pt" height="100%" display-align="after">
774
775
  <fo:table table-layout="fixed" width="100%">
775
776
  <fo:table-column column-width="90%"/>
@@ -957,6 +958,7 @@
957
958
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
958
959
  <xsl:attribute name="white-space">pre</xsl:attribute>
959
960
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
961
+ <xsl:attribute name="role">Code</xsl:attribute>
960
962
 
961
963
 
962
964
 
@@ -978,8 +980,13 @@
978
980
 
979
981
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
980
982
 
981
- </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
982
- </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
983
+ </xsl:attribute-set><xsl:attribute-set name="subject-style">
984
+ </xsl:attribute-set><xsl:attribute-set name="inherit-style">
985
+ </xsl:attribute-set><xsl:attribute-set name="description-style">
986
+ </xsl:attribute-set><xsl:attribute-set name="specification-style">
987
+ </xsl:attribute-set><xsl:attribute-set name="measurement-target-style">
988
+ </xsl:attribute-set><xsl:attribute-set name="verification-style">
989
+ </xsl:attribute-set><xsl:attribute-set name="import-style">
983
990
  </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
984
991
 
985
992
 
@@ -1172,7 +1179,8 @@
1172
1179
 
1173
1180
 
1174
1181
 
1175
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
1182
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1183
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
1176
1184
 
1177
1185
 
1178
1186
 
@@ -1366,7 +1374,9 @@
1366
1374
 
1367
1375
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1368
1376
 
1369
-
1377
+
1378
+
1379
+
1370
1380
 
1371
1381
  <xsl:call-template name="fn_name_display"/>
1372
1382
 
@@ -3222,16 +3232,68 @@
3222
3232
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3223
3233
  </xsl:call-template>
3224
3234
 
3235
+
3236
+
3225
3237
  <xsl:variable name="mathml">
3226
3238
  <xsl:apply-templates select="." mode="mathml"/>
3227
3239
  </xsl:variable>
3228
3240
  <fo:instream-foreign-object fox:alt-text="Math">
3229
3241
 
3230
3242
 
3243
+ <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
3244
+ <xsl:variable name="comment_text_">
3245
+ <xsl:choose>
3246
+ <xsl:when test="normalize-space($comment_text_following) != ''">
3247
+ <xsl:value-of select="$comment_text_following"/>
3248
+ </xsl:when>
3249
+ <xsl:otherwise>
3250
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
3251
+ </xsl:otherwise>
3252
+ </xsl:choose>
3253
+ </xsl:variable>
3254
+ <xsl:variable name="comment_text" select="java:org.metanorma.fop.Util.unescape($comment_text_)"/>
3255
+
3256
+ <xsl:if test="normalize-space($comment_text) != ''">
3257
+ <!-- put Mathin Alternate Text -->
3258
+ <xsl:attribute name="fox:alt-text">
3259
+ <xsl:value-of select="java:org.metanorma.fop.Util.unescape($comment_text)"/>
3260
+ </xsl:attribute>
3261
+ </xsl:if>
3262
+
3263
+ <xsl:variable name="mathml_content">
3264
+ <xsl:apply-templates select="." mode="mathml_actual_text"/>
3265
+ </xsl:variable>
3266
+ <!-- put MathML in Actual Text -->
3267
+ <xsl:attribute name="fox:actual-text">
3268
+ <xsl:value-of select="$mathml_content"/>
3269
+ </xsl:attribute>
3270
+
3271
+
3231
3272
  <!-- <xsl:copy-of select="."/> -->
3232
3273
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3233
3274
  </fo:instream-foreign-object>
3234
3275
  </fo:inline>
3276
+ </xsl:template><xsl:template match="mathml:*" mode="mathml_actual_text">
3277
+ <!-- <xsl:text>a+b</xsl:text> -->
3278
+ <xsl:text>&lt;</xsl:text>
3279
+ <xsl:value-of select="local-name()"/>
3280
+ <xsl:if test="local-name() = 'math'">
3281
+ <xsl:text> xmlns="http://www.w3.org/1998/Math/MathML"</xsl:text>
3282
+ </xsl:if>
3283
+ <xsl:for-each select="@*">
3284
+ <xsl:text> </xsl:text>
3285
+ <xsl:value-of select="local-name()"/>
3286
+ <xsl:text>="</xsl:text>
3287
+ <xsl:value-of select="."/>
3288
+ <xsl:text>"</xsl:text>
3289
+ </xsl:for-each>
3290
+ <xsl:text>&gt;</xsl:text>
3291
+ <xsl:apply-templates mode="mathml_actual_text"/>
3292
+ <xsl:text>&lt;/</xsl:text>
3293
+ <xsl:value-of select="local-name()"/>
3294
+ <xsl:text>&gt;</xsl:text>
3295
+ </xsl:template><xsl:template match="text()" mode="mathml_actual_text">
3296
+ <xsl:value-of select="normalize-space()"/>
3235
3297
  </xsl:template><xsl:template match="@*|node()" mode="mathml">
3236
3298
  <xsl:copy>
3237
3299
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
@@ -3293,7 +3355,10 @@
3293
3355
  </fo:block>
3294
3356
  <xsl:apply-templates/>
3295
3357
  </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
3296
- <fo:inline><xsl:apply-templates/></fo:inline>
3358
+ <xsl:variable name="level">
3359
+ <xsl:call-template name="getLevel"/>
3360
+ </xsl:variable>
3361
+ <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
3297
3362
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
3298
3363
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
3299
3364
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -3328,9 +3393,10 @@
3328
3393
 
3329
3394
  </xsl:variable>
3330
3395
 
3396
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
3331
3397
  <xsl:choose>
3332
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
3333
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
3398
+ <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>
3399
+ <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>
3334
3400
  </xsl:choose>
3335
3401
  <xsl:apply-templates/>
3336
3402
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
@@ -3474,7 +3540,10 @@
3474
3540
  </fo:block>
3475
3541
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
3476
3542
  <xsl:if test="normalize-space() != ''">
3477
- <fo:inline>
3543
+ <xsl:variable name="level">
3544
+ <xsl:call-template name="getLevelTermName"/>
3545
+ </xsl:variable>
3546
+ <fo:inline role="H{$level}">
3478
3547
  <xsl:apply-templates/>
3479
3548
  <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
3480
3549
  <xsl:text>.</xsl:text>
@@ -4105,6 +4174,7 @@
4105
4174
  </xsl:when>
4106
4175
  <xsl:otherwise>
4107
4176
  <xsl:apply-templates/>
4177
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
4108
4178
  </xsl:otherwise>
4109
4179
  </xsl:choose>
4110
4180
  </fo:block>
@@ -4245,14 +4315,6 @@
4245
4315
  <fo:block>
4246
4316
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4247
4317
  </fo:block>
4248
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4249
- <fo:block xsl:use-attribute-sets="requirement-subject-style">
4250
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4251
- </fo:block>
4252
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
4253
- <fo:block xsl:use-attribute-sets="requirement-inherit-style">
4254
- <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
4255
- </fo:block>
4256
4318
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4257
4319
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4258
4320
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -4269,6 +4331,38 @@
4269
4331
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
4270
4332
  <xsl:apply-templates/>
4271
4333
  </fo:block>
4334
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4335
+ <fo:block xsl:use-attribute-sets="subject-style">
4336
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4337
+ </fo:block>
4338
+ </xsl:template><xsl:template match="*[local-name() = 'subject']">
4339
+ <fo:block xsl:use-attribute-sets="subject-style">
4340
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4341
+ </fo:block>
4342
+ </xsl:template><xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
4343
+ <fo:block xsl:use-attribute-sets="inherit-style">
4344
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
4345
+ </fo:block>
4346
+ </xsl:template><xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
4347
+ <fo:block xsl:use-attribute-sets="description-style">
4348
+ <xsl:apply-templates/>
4349
+ </fo:block>
4350
+ </xsl:template><xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
4351
+ <fo:block xsl:use-attribute-sets="specification-style">
4352
+ <xsl:apply-templates/>
4353
+ </fo:block>
4354
+ </xsl:template><xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
4355
+ <fo:block xsl:use-attribute-sets="measurement-target-style">
4356
+ <xsl:apply-templates/>
4357
+ </fo:block>
4358
+ </xsl:template><xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
4359
+ <fo:block xsl:use-attribute-sets="verification-style">
4360
+ <xsl:apply-templates/>
4361
+ </fo:block>
4362
+ </xsl:template><xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
4363
+ <fo:block xsl:use-attribute-sets="import-style">
4364
+ <xsl:apply-templates/>
4365
+ </fo:block>
4272
4366
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
4273
4367
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
4274
4368
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
@@ -5133,6 +5227,9 @@
5133
5227
  <fo:block-container border="1pt solid black" width="50%">
5134
5228
  <fo:block> </fo:block>
5135
5229
  </fo:block-container>
5230
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
5231
+ <fo:inline padding-right="5mm"> </fo:inline>
5232
+ <fo:inline><xsl:apply-templates/></fo:inline>
5136
5233
  </xsl:template><xsl:template name="convertDate">
5137
5234
  <xsl:param name="date"/>
5138
5235
  <xsl:param name="format" select="'short'"/>
@@ -5364,6 +5461,26 @@
5364
5461
  <xsl:value-of select="$level"/>
5365
5462
  </xsl:otherwise>
5366
5463
  </xsl:choose>
5464
+ </xsl:template><xsl:template name="getLevelTermName">
5465
+ <xsl:choose>
5466
+ <xsl:when test="normalize-space(../@depth) != ''">
5467
+ <xsl:value-of select="../@depth"/>
5468
+ </xsl:when>
5469
+ <xsl:otherwise>
5470
+ <xsl:variable name="title_level_">
5471
+ <xsl:for-each select="../preceding-sibling::*[local-name() = 'title'][1]">
5472
+ <xsl:call-template name="getLevel"/>
5473
+ </xsl:for-each>
5474
+ </xsl:variable>
5475
+ <xsl:variable name="title_level" select="normalize-space($title_level_)"/>
5476
+ <xsl:choose>
5477
+ <xsl:when test="$title_level != ''"><xsl:value-of select="$title_level + 1"/></xsl:when>
5478
+ <xsl:otherwise>
5479
+ <xsl:call-template name="getLevel"/>
5480
+ </xsl:otherwise>
5481
+ </xsl:choose>
5482
+ </xsl:otherwise>
5483
+ </xsl:choose>
5367
5484
  </xsl:template><xsl:template name="split">
5368
5485
  <xsl:param name="pText" select="."/>
5369
5486
  <xsl:param name="sep" select="','"/>