metanorma-mpfa 0.6.9 → 0.6.10

Sign up to get free protection for your applications and to get access to all the features.
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="','"/>