metanorma-cc 2.8.11 → 2.9.0

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: 98ce3944ca66867d78ec838a11becca97a761833b289edbd163a2bdd49ce0ed8
4
- data.tar.gz: d2f1a5e45c3cce9a1630991e4cc11409169ff5cf2571c828d4d0d188e0825927
3
+ metadata.gz: 2a0b641f25f247fdecd067211d98cce1d3ee803eaa94471595f91c2bebd48431
4
+ data.tar.gz: fffcb68e9e0842a3f576a989d0a7b5a5a1b0e5ffb65a2cdd3e9d631d8fba36fa
5
5
  SHA512:
6
- metadata.gz: f61c7e1d1ac2bf99dab81accb1f183388d3464df020ff48f45da2e6bba55255a2a79f0a419219a805f68d02901c7ba99a7dbdde044d7c6f5053fe57b125fc5de
7
- data.tar.gz: 7bffcdf95f9b4df56c77b336e00b3cc5f1b1900294f97879564f51f0901d9618b7e7e3f15186b5759bf160a3e10eda2fa8e65e12f30e4e62394e752af498f38a
6
+ metadata.gz: 51dcb639f45b2982d3f0a158d513de100beaac06660c119fa791296d577c548f316ec7d7d3e6d3a49ef02c3a119e5b4de5e956bfc1f0e26c7c4e92238d48fae2
7
+ data.tar.gz: 7f48d27e9f8625737664a7d37be0a32142d1c7704035f73c647e262340d8430492752d69ca1cb05af7e09950217fd4036a69f72af7f0ac917f414f8919a47660
@@ -1772,7 +1772,7 @@
1772
1772
  </xsl:element>
1773
1773
  </xsl:template> -->
1774
1774
 
1775
- <xsl:template match="mn:span[ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim']" mode="update_xml_step1" priority="3">
1775
+ <xsl:template match="mn:span[ @class = 'fmt-caption-label' or @class = 'fmt-element-name' or @class = 'fmt-caption-delim' or @class = 'fmt-autonum-delim' or @class = 'fmt-clause-delim']" mode="update_xml_step1" priority="3">
1776
1776
  <xsl:apply-templates mode="update_xml_step1"/>
1777
1777
  </xsl:template>
1778
1778
 
@@ -2804,6 +2804,9 @@
2804
2804
 
2805
2805
  <xsl:template name="refine_sourcecode-style">
2806
2806
  <xsl:call-template name="setKeepAttributes"/>
2807
+ <xsl:if test="ancestor::mn:sourcecode and parent::mn:td">
2808
+ <xsl:attribute name="role">SKIP</xsl:attribute>
2809
+ </xsl:if>
2807
2810
  </xsl:template> <!-- refine_sourcecode-style -->
2808
2811
 
2809
2812
  <xsl:attribute-set name="sourcecode-number-style">
@@ -3130,30 +3133,30 @@
3130
3133
  </xsl:template>
3131
3134
 
3132
3135
  <!-- outer table with line numbers for sourcecode -->
3133
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] | -->
3134
- <fo:block>
3135
- <fo:table width="100%" table-layout="fixed">
3136
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode'] | -->
3137
+ <fo:block role="SKIP">
3138
+ <fo:table width="100%" table-layout="fixed" role="SKIP">
3136
3139
  <xsl:copy-of select="@id"/>
3137
3140
  <fo:table-column column-width="8%"/>
3138
3141
  <fo:table-column column-width="92%"/>
3139
- <fo:table-body>
3142
+ <fo:table-body role="SKIP">
3140
3143
  <xsl:apply-templates/>
3141
3144
  </fo:table-body>
3142
3145
  </fo:table>
3143
3146
  </fo:block>
3144
3147
  </xsl:template>
3145
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table/mn:tbody" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody'] | -->
3148
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table/mn:tbody" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody'] | -->
3146
3149
  <xsl:apply-templates/>
3147
3150
  </xsl:template>
3148
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr'] | -->
3149
- <fo:table-row>
3151
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr'] | -->
3152
+ <fo:table-row role="SKIP">
3150
3153
  <xsl:apply-templates/>
3151
3154
  </fo:table-row>
3152
3155
  </xsl:template>
3153
3156
  <!-- first td with line numbers -->
3154
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr/*[local-name() = 'td'][not(preceding-sibling::*)]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
3155
- <fo:table-cell>
3156
- <fo:block>
3157
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr/*[local-name() = 'td'][not(preceding-sibling::*)]" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
3158
+ <fo:table-cell role="SKIP">
3159
+ <fo:block role="SKIP">
3157
3160
 
3158
3161
  <!-- set attibutes for line numbers - same as sourcecode -->
3159
3162
  <xsl:variable name="sourcecode_attributes">
@@ -3161,7 +3164,7 @@
3161
3164
  <xsl:call-template name="get_sourcecode_attributes"/>
3162
3165
  </xsl:for-each>
3163
3166
  </xsl:variable>
3164
- <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*[not(starts-with(local-name(), 'margin-') or starts-with(local-name(), 'space-'))]">
3167
+ <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*[not(starts-with(local-name(), 'margin-') or starts-with(local-name(), 'space-') or starts-with(local-name(), 'role'))]">
3165
3168
  <xsl:attribute name="{name()}">
3166
3169
  <xsl:value-of select="."/>
3167
3170
  </xsl:attribute>
@@ -3173,8 +3176,8 @@
3173
3176
  </xsl:template>
3174
3177
 
3175
3178
  <!-- second td with sourcecode -->
3176
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr/*[local-name() = 'td'][preceding-sibling::*]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
3177
- <fo:table-cell>
3179
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr/*[local-name() = 'td'][preceding-sibling::*]" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
3180
+ <fo:table-cell role="SKIP">
3178
3181
  <fo:block role="SKIP">
3179
3182
  <xsl:apply-templates/>
3180
3183
  </fo:block>
@@ -3743,7 +3746,7 @@
3743
3746
  <xsl:param name="value"/>
3744
3747
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
3745
3748
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
3746
- <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-10%"><!-- alignment-baseline="middle" -->
3749
+ <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-10%" fox:placement="Inline"><!-- alignment-baseline="middle" -->
3747
3750
  <xsl:attribute name="height">3.5mm</xsl:attribute> <!-- 5mm -->
3748
3751
  <xsl:attribute name="content-width">100%</xsl:attribute>
3749
3752
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -3972,11 +3975,12 @@
3972
3975
  <xsl:choose>
3973
3976
 
3974
3977
  <xsl:when test="ancestor::mn:sourcecode[@linenums = 'true'] and ancestor::*[local-name() = 'td'][1][not(preceding-sibling::*)]"> <!-- pre in the first td in the table with @linenums = 'true' -->
3978
+ <xsl:attribute name="role">SKIP</xsl:attribute>
3975
3979
  <xsl:if test="ancestor::mn:tr[1]/following-sibling::mn:tr"> <!-- is current tr isn't last -->
3976
3980
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
3977
3981
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3978
3982
  </xsl:if>
3979
- <fo:instream-foreign-object fox:alt-text="{.}" content-width="95%">
3983
+ <fo:instream-foreign-object fox:alt-text="{.}" content-width="95%" fox:placement="Inline" role="artifact">
3980
3984
  <math xmlns="http://www.w3.org/1998/Math/MathML">
3981
3985
  <mtext><xsl:value-of select="."/></mtext>
3982
3986
  </math>
@@ -5515,19 +5519,22 @@
5515
5519
  <xsl:if test="normalize-space() != ''">
5516
5520
 
5517
5521
  <fo:block xsl:use-attribute-sets="table-name-style">
5518
-
5519
5522
  <xsl:call-template name="refine_table-name-style">
5520
5523
  <xsl:with-param name="continued" select="$continued"/>
5521
5524
  </xsl:call-template>
5522
5525
 
5523
- <xsl:choose>
5524
- <xsl:when test="$continued = 'true'">
5525
- </xsl:when>
5526
- <xsl:otherwise>
5527
- <xsl:apply-templates/>
5528
- </xsl:otherwise>
5529
- </xsl:choose>
5526
+ <!-- <Caption><P> tags, see https://github.com/metanorma/metanorma-pdfa/issues/81 -->
5527
+ <fo:block role="P">
5530
5528
 
5529
+ <xsl:choose>
5530
+ <xsl:when test="$continued = 'true'">
5531
+ </xsl:when>
5532
+ <xsl:otherwise>
5533
+ <xsl:apply-templates/>
5534
+ </xsl:otherwise>
5535
+ </xsl:choose>
5536
+
5537
+ </fo:block>
5531
5538
  </fo:block>
5532
5539
 
5533
5540
  <!-- <xsl:if test="$namespace = 'bsi' or $namespace = 'pas' or $namespace = 'iec' or $namespace = 'iso'"> -->
@@ -6011,7 +6018,7 @@
6011
6018
 
6012
6019
  <xsl:variable name="tableWithNotesAndFootnotes">
6013
6020
 
6014
- <fo:table keep-with-previous="always" role="SKIP">
6021
+ <fo:table keep-with-previous="always" role="TFoot">
6015
6022
  <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
6016
6023
  <xsl:variable name="name" select="local-name()"/>
6017
6024
  <xsl:choose>
@@ -6049,14 +6056,14 @@
6049
6056
  </xsl:choose>
6050
6057
 
6051
6058
  <fo:table-body role="SKIP">
6052
- <fo:table-row role="SKIP">
6059
+ <fo:table-row>
6053
6060
  <xsl:for-each select="ancestor::mn:table[1]">
6054
6061
  <xsl:call-template name="setTableStyles">
6055
6062
  <xsl:with-param name="scope">ancestor_table</xsl:with-param>
6056
6063
  </xsl:call-template>
6057
6064
  </xsl:for-each>
6058
6065
 
6059
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}" role="SKIP">
6066
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
6060
6067
 
6061
6068
  <xsl:call-template name="refine_table-footer-cell-style"/>
6062
6069
 
@@ -8373,6 +8380,13 @@
8373
8380
  <xsl:template name="refine_note-style">
8374
8381
  </xsl:template> <!-- refine_note-style -->
8375
8382
 
8383
+ <xsl:attribute-set name="note-block-style">
8384
+ <xsl:attribute name="role">SKIP</xsl:attribute>
8385
+ </xsl:attribute-set> <!-- note-block-style -->
8386
+
8387
+ <xsl:template name="refine_note-block-style">
8388
+ </xsl:template> <!-- refine_note-block-style -->
8389
+
8376
8390
  <xsl:variable name="note-body-indent">10mm</xsl:variable>
8377
8391
  <xsl:variable name="note-body-indent-table">5mm</xsl:variable>
8378
8392
 
@@ -8444,9 +8458,9 @@
8444
8458
  <xsl:call-template name="refine_note-style"/>
8445
8459
 
8446
8460
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8447
- <fo:block role="SKIP">
8461
+ <fo:block xsl:use-attribute-sets="note-block-style">
8448
8462
 
8449
- <xsl:call-template name="refine_note_block_style"/>
8463
+ <xsl:call-template name="refine_note-block-style"/>
8450
8464
 
8451
8465
  <fo:inline xsl:use-attribute-sets="note-name-style">
8452
8466
 
@@ -8485,9 +8499,6 @@
8485
8499
  </fo:block-container>
8486
8500
  </xsl:template>
8487
8501
 
8488
- <xsl:template name="refine_note_block_style">
8489
- </xsl:template> <!-- refine_note_block_style -->
8490
-
8491
8502
  <xsl:template match="mn:note/mn:p">
8492
8503
  <xsl:variable name="num"><xsl:number/></xsl:variable>
8493
8504
  <xsl:choose>
@@ -8608,9 +8619,9 @@
8608
8619
  <!-- ====== -->
8609
8620
 
8610
8621
  <xsl:attribute-set name="quote-container-style">
8622
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
8611
8623
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
8612
8624
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
8613
- <xsl:attribute name="role">SKIP</xsl:attribute>
8614
8625
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
8615
8626
  </xsl:attribute-set>
8616
8627
 
@@ -8633,6 +8644,7 @@
8633
8644
  </xsl:template> <!-- refine_quote-style -->
8634
8645
 
8635
8646
  <xsl:attribute-set name="quote-source-style">
8647
+ <xsl:attribute name="role">Caption</xsl:attribute>
8636
8648
  <xsl:attribute name="text-align">right</xsl:attribute>
8637
8649
  <xsl:attribute name="margin-right">-12mm</xsl:attribute>
8638
8650
  </xsl:attribute-set> <!-- quote-source-style -->
@@ -8665,7 +8677,7 @@
8665
8677
  <xsl:call-template name="refine_quote-style"/>
8666
8678
 
8667
8679
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8668
- <fo:block role="BlockQuote">
8680
+ <fo:block role="SKIP"> <!-- BlockQuote -->
8669
8681
  <xsl:apply-templates select="./node()[not(self::mn:author) and not(self::mn:fmt-source) and not(self::mn:attribution)]"/> <!-- process all nested nodes, except author and source -->
8670
8682
  </fo:block>
8671
8683
  </fo:block-container>
@@ -8674,11 +8686,15 @@
8674
8686
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8675
8687
  <fo:block xsl:use-attribute-sets="quote-source-style">
8676
8688
  <xsl:call-template name="refine_quote-source-style"/>
8677
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
8678
- <xsl:apply-templates select="mn:author"/>
8679
- <xsl:apply-templates select="mn:fmt-source"/>
8680
- <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
8681
- <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
8689
+
8690
+ <!-- <Caption><P> tags, see https://github.com/metanorma/metanorma-pdfa/issues/81 -->
8691
+ <fo:block role="P">
8692
+ <!-- ISO, ISO 7301:2011, Clause 1 -->
8693
+ <xsl:apply-templates select="mn:author"/>
8694
+ <xsl:apply-templates select="mn:fmt-source"/>
8695
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
8696
+ <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
8697
+ </fo:block>
8682
8698
  </fo:block>
8683
8699
  </fo:block-container>
8684
8700
  </xsl:if>
@@ -9144,7 +9160,7 @@
9144
9160
 
9145
9161
  <!-- debug scale='<xsl:value-of select="$scale"/>', indent='<xsl:value-of select="$indent"/>' -->
9146
9162
 
9147
- <fo:external-graphic src="{$src}" vertical-align="middle">
9163
+ <fo:external-graphic src="{$src}" vertical-align="middle" fox:placement="Inline">
9148
9164
  <xsl:call-template name="addAltText"/>
9149
9165
 
9150
9166
  <xsl:if test="parent::mn:logo"> <!-- publisher's logo -->
@@ -9209,7 +9225,7 @@
9209
9225
  <xsl:choose>
9210
9226
  <xsl:when test="$isDeleted = 'true'">
9211
9227
  <!-- enclose in svg -->
9212
- <fo:instream-foreign-object>
9228
+ <fo:instream-foreign-object fox:placement="Block">
9213
9229
  <xsl:attribute name="width">100%</xsl:attribute>
9214
9230
  <xsl:attribute name="content-height">100%</xsl:attribute>
9215
9231
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -9230,7 +9246,7 @@
9230
9246
  <xsl:value-of select="concat('scale=', $scale,', indent=', $indent)"/>
9231
9247
  </fo:block> -->
9232
9248
 
9233
- <fo:external-graphic src="{$src}">
9249
+ <fo:external-graphic src="{$src}" fox:placement="Block">
9234
9250
  <xsl:call-template name="addAltText"/>
9235
9251
 
9236
9252
  <xsl:choose>
@@ -9569,7 +9585,7 @@
9569
9585
  </xsl:if>
9570
9586
  <fo:block text-depth="0" line-height="0" font-size="0">
9571
9587
 
9572
- <fo:instream-foreign-object fox:alt-text="{$alt-text}">
9588
+ <fo:instream-foreign-object fox:alt-text="{$alt-text}" fox:placement="Block">
9573
9589
  <xsl:attribute name="width">100%</xsl:attribute>
9574
9590
  <xsl:attribute name="content-height">100%</xsl:attribute>
9575
9591
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -9618,7 +9634,7 @@
9618
9634
  <xsl:copy>
9619
9635
  <xsl:copy-of select="@*"/>
9620
9636
  <!-- <fo:block xsl:use-attribute-sets="image-style"> -->
9621
- <fo:instream-foreign-object fox:alt-text="{$alt-text}">
9637
+ <fo:instream-foreign-object fox:alt-text="{$alt-text}" fox:placement="Block">
9622
9638
 
9623
9639
  <xsl:choose>
9624
9640
  <xsl:when test="$image_class = 'corrigenda-tag'">
@@ -9683,6 +9699,10 @@
9683
9699
  <xsl:attribute name="content-height"><xsl:value-of select="round($scale_x * $scale_y * 100)"/>%</xsl:attribute>
9684
9700
  </xsl:if>
9685
9701
 
9702
+ <xsl:if test="self::fo:inline">
9703
+ <xsl:attribute name="fox:placement">Inline</xsl:attribute>
9704
+ </xsl:if>
9705
+
9686
9706
  <xsl:copy-of select="$svg_content"/>
9687
9707
 
9688
9708
  <!-- <debug>
@@ -9958,10 +9978,12 @@
9958
9978
  <xsl:template match="mn:figure/mn:fmt-name | mn:image/mn:fmt-name">
9959
9979
  <xsl:if test="normalize-space() != ''">
9960
9980
  <fo:block xsl:use-attribute-sets="figure-name-style">
9961
-
9962
9981
  <xsl:call-template name="refine_figure-name-style"/>
9963
9982
 
9964
- <xsl:apply-templates/>
9983
+ <!-- <Caption><P> tags, see https://github.com/metanorma/metanorma-pdfa/issues/81 -->
9984
+ <fo:block role="P">
9985
+ <xsl:apply-templates/>
9986
+ </fo:block>
9965
9987
  </fo:block>
9966
9988
  </xsl:if>
9967
9989
  </xsl:template>
@@ -9983,6 +10005,7 @@
9983
10005
 
9984
10006
  <!-- Formula's styles -->
9985
10007
  <xsl:attribute-set name="formula-style">
10008
+ <xsl:attribute name="role">P</xsl:attribute>
9986
10009
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
9987
10010
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
9988
10011
  </xsl:attribute-set> <!-- formula-style -->
@@ -9991,6 +10014,7 @@
9991
10014
  </xsl:template>
9992
10015
 
9993
10016
  <xsl:attribute-set name="formula-stem-block-style">
10017
+ <xsl:attribute name="role">SKIP</xsl:attribute>
9994
10018
  <xsl:attribute name="text-align">center</xsl:attribute>
9995
10019
  <xsl:attribute name="text-align">left</xsl:attribute>
9996
10020
  <xsl:attribute name="margin-left">5mm</xsl:attribute>
@@ -10000,6 +10024,7 @@
10000
10024
  </xsl:template> <!-- refine_formula-stem-block-style -->
10001
10025
 
10002
10026
  <xsl:attribute-set name="formula-stem-number-style">
10027
+ <xsl:attribute name="role">Span</xsl:attribute>
10003
10028
  <xsl:attribute name="text-align">right</xsl:attribute>
10004
10029
  </xsl:attribute-set> <!-- formula-stem-number-style -->
10005
10030
  <!-- End Formula's styles -->
@@ -10008,12 +10033,25 @@
10008
10033
  </xsl:template>
10009
10034
 
10010
10035
  <xsl:attribute-set name="mathml-style">
10036
+ <xsl:attribute name="role">Formula</xsl:attribute>
10011
10037
  <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
10012
10038
  </xsl:attribute-set>
10013
10039
 
10014
10040
  <xsl:template name="refine_mathml-style">
10015
10041
  </xsl:template>
10016
10042
 
10043
+ <xsl:attribute-set name="mathml-instream-foreign-object-style">
10044
+ <xsl:attribute name="fox:alt-text">Math</xsl:attribute>
10045
+ <xsl:attribute name="fox:actual-text">Math</xsl:attribute>
10046
+ <xsl:attribute name="fox:placement">Inline</xsl:attribute>
10047
+ </xsl:attribute-set> <!-- mathml-instream-foreign-object-style -->
10048
+
10049
+ <xsl:template name="refine_mathml-instream-foreign-object-style">
10050
+ <xsl:if test="ancestor::mn:formula">
10051
+ <xsl:attribute name="fox:placement">Block</xsl:attribute>
10052
+ </xsl:if>
10053
+ </xsl:template> <!-- refine_mathml-instream-foreign-object-style -->
10054
+
10017
10055
  <!-- ====== -->
10018
10056
  <!-- formula -->
10019
10057
  <!-- ====== -->
@@ -10029,7 +10067,7 @@
10029
10067
  </xsl:if>
10030
10068
  <fo:block-container margin-left="0mm" role="SKIP">
10031
10069
  <xsl:call-template name="setNamedDestination"/>
10032
- <fo:block id="{@id}">
10070
+ <fo:block id="{@id}" role="SKIP">
10033
10071
  <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/> <!-- formula's number will be process in 'stem' template -->
10034
10072
  </fo:block>
10035
10073
  </fo:block-container>
@@ -10062,22 +10100,22 @@
10062
10100
 
10063
10101
  <xsl:call-template name="refine_formula-style"/>
10064
10102
 
10065
- <fo:table table-layout="fixed" width="100%">
10103
+ <fo:table table-layout="fixed" width="100%" role="SKIP">
10066
10104
  <fo:table-column column-width="95%"/>
10067
10105
  <fo:table-column column-width="5%"/>
10068
- <fo:table-body>
10069
- <fo:table-row>
10070
- <fo:table-cell display-align="center">
10071
- <fo:block xsl:use-attribute-sets="formula-stem-block-style" role="SKIP">
10106
+ <fo:table-body role="SKIP">
10107
+ <fo:table-row role="SKIP">
10108
+ <fo:table-cell display-align="center" role="SKIP">
10109
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
10072
10110
 
10073
10111
  <xsl:call-template name="refine_formula-stem-block-style"/>
10074
10112
 
10075
10113
  <xsl:apply-templates/>
10076
10114
  </fo:block>
10077
10115
  </fo:table-cell>
10078
- <fo:table-cell display-align="center">
10116
+ <fo:table-cell display-align="center" role="SKIP">
10079
10117
 
10080
- <fo:block xsl:use-attribute-sets="formula-stem-number-style" role="SKIP">
10118
+ <fo:block xsl:use-attribute-sets="formula-stem-number-style">
10081
10119
 
10082
10120
  <xsl:for-each select="../mn:fmt-name">
10083
10121
  <xsl:call-template name="setIDforNamedDestination"/>
@@ -10225,9 +10263,9 @@
10225
10263
  <xsl:apply-templates select="." mode="mathml"/>
10226
10264
  </xsl:variable>
10227
10265
 
10228
- <fo:instream-foreign-object fox:alt-text="Math" fox:actual-text="Math">
10266
+ <fo:instream-foreign-object xsl:use-attribute-sets="mathml-instream-foreign-object-style">
10229
10267
 
10230
- <xsl:call-template name="refine_mathml_insteam_object_style"/>
10268
+ <xsl:call-template name="refine_mathml-instream-foreign-object-style"/>
10231
10269
 
10232
10270
  <xsl:if test="$isGenerateTableIF = 'false'">
10233
10271
  <!-- put MathML in Actual Text -->
@@ -10251,9 +10289,6 @@
10251
10289
  </fo:instream-foreign-object>
10252
10290
  </xsl:template>
10253
10291
 
10254
- <xsl:template name="refine_mathml_insteam_object_style">
10255
- </xsl:template> <!-- refine_mathml_insteam_object_style -->
10256
-
10257
10292
  <xsl:template match="mathml:*" mode="mathml_actual_text">
10258
10293
  <!-- <xsl:text>a+b</xsl:text> -->
10259
10294
  <xsl:text>&lt;</xsl:text>
@@ -11369,8 +11404,10 @@
11369
11404
 
11370
11405
  </xsl:template> <!-- references[not(@normative='true')]/bibitem -->
11371
11406
 
11407
+ <!-- commented 2026-08-06: from https://github.com/metanorma/metanorma-standoc/issues/1140:
11408
+ Presentation XML will no longer contain notes following bibitem, those notes will have been moved in Presentation XML to inside bibitem, and then duplicated to inside formattedref. -->
11372
11409
  <!-- bibitem's notes will be processing in 'processBibitemFollowingNotes' -->
11373
- <xsl:template match="mn:references/mn:note" priority="2"/> <!-- [not(@normative='true')] -->
11410
+ <!-- <xsl:template match="mn:references/mn:note" priority="2"/>--> <!-- [not(@normative='true')] -->
11374
11411
 
11375
11412
  <xsl:template name="insertListItem_Bibitem">
11376
11413
  <xsl:choose>
@@ -12069,7 +12106,7 @@
12069
12106
  <xsl:call-template name="set_id_metanorma_form_item">
12070
12107
  <xsl:with-param name="form_item_type" select="$form_item_type"/>
12071
12108
  </xsl:call-template>
12072
- <fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%">
12109
+ <fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%" fox:placement="Inline">
12073
12110
  <xsl:attribute name="height">3.5mm</xsl:attribute>
12074
12111
  <xsl:attribute name="content-width">100%</xsl:attribute>
12075
12112
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -12096,7 +12133,7 @@
12096
12133
  <xsl:call-template name="set_id_metanorma_form_item">
12097
12134
  <xsl:with-param name="form_item_type" select="$form_item_type"/>
12098
12135
  </xsl:call-template>
12099
- <fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%">
12136
+ <fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%" fox:placement="Inline">
12100
12137
  <xsl:attribute name="height">3.5mm</xsl:attribute>
12101
12138
  <xsl:attribute name="content-width">100%</xsl:attribute>
12102
12139
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -12372,7 +12409,9 @@
12372
12409
  </xsl:variable>
12373
12410
  <mnx:example id="{@id}" alt-text="{normalize-space($example_name)}">
12374
12411
  <xsl:element name="fmt-name" namespace="{$namespace_full}">
12375
- <xsl:value-of select="mn:fmt-xref-label[@container]"/>
12412
+ <xsl:call-template name="capitalize"><!-- https://github.com/metanorma/metanorma-pdfa/issues/72 -->
12413
+ <xsl:with-param name="str" select="mn:fmt-xref-label[@container]"/>
12414
+ </xsl:call-template>
12376
12415
  <xsl:if test="normalize-space($example_name) != ''">
12377
12416
  <xsl:value-of select="mn:fmt-name/mn:span[@class = 'fmt-caption-delim']"/>
12378
12417
  <xsl:copy-of select="$example_name"/>
@@ -14111,7 +14150,8 @@
14111
14150
  <xsl:template match="//mn:metanorma/mn:preface/*" priority="2" name="preface_node"> <!-- /*/mn:preface/* -->
14112
14151
  <fo:block break-after="page"/>
14113
14152
  <xsl:call-template name="setNamedDestination"/>
14114
- <fo:block>
14153
+ <fo:block role="Sect">
14154
+ <xsl:call-template name="addTagElementT"/>
14115
14155
  <xsl:call-template name="setId"/>
14116
14156
  <xsl:call-template name="addReviewHelper"/>
14117
14157
  <xsl:apply-templates/>
@@ -14200,7 +14240,7 @@
14200
14240
 
14201
14241
  <xsl:template match="mn:blacksquare" name="blacksquare">
14202
14242
  <fo:inline padding-right="2.5mm" baseline-shift="5%">
14203
- <fo:instream-foreign-object content-height="2mm" content-width="2mm" fox:alt-text="Quad">
14243
+ <fo:instream-foreign-object content-height="2mm" content-width="2mm" fox:alt-text="Quad" fox:placement="Inline">
14204
14244
  <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" viewBox="0 0 2 2">
14205
14245
  <rect x="0" y="0" width="2" height="2" fill="black"/>
14206
14246
  </svg>
@@ -15156,13 +15196,13 @@
15156
15196
  <xsl:param name="bitmap_width" select="$pageWidth"/>
15157
15197
  <xsl:choose>
15158
15198
  <xsl:when test="*[local-name() = 'svg'] or java:endsWith(java:java.lang.String.new(@src), '.svg')">
15159
- <fo:instream-foreign-object fox:alt-text="Image Front">
15199
+ <fo:instream-foreign-object fox:alt-text="Image Front" fox:placement="Block">
15160
15200
  <xsl:attribute name="content-height"><xsl:value-of select="$svg_content_height"/>mm</xsl:attribute>
15161
15201
  <xsl:call-template name="getSVG"/>
15162
15202
  </fo:instream-foreign-object>
15163
15203
  </xsl:when>
15164
15204
  <xsl:when test="starts-with(@src, 'data:application/pdf;base64')">
15165
- <fo:external-graphic src="{@src}" fox:alt-text="Image Front"/>
15205
+ <fo:external-graphic src="{@src}" fox:alt-text="Image Front" fox:placement="Block"/>
15166
15206
  </xsl:when>
15167
15207
  <xsl:otherwise> <!-- bitmap image -->
15168
15208
  <xsl:variable name="coverimage_src" select="normalize-space(@src)"/>
@@ -15172,7 +15212,7 @@
15172
15212
  <xsl:with-param name="src" select="$coverimage_src"/>
15173
15213
  </xsl:call-template>
15174
15214
  </xsl:variable>
15175
- <fo:external-graphic src="{$coverpage}" width="{$bitmap_width}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
15215
+ <fo:external-graphic src="{$coverpage}" width="{$bitmap_width}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front" fox:placement="Block"/>
15176
15216
  </xsl:if>
15177
15217
  </xsl:otherwise>
15178
15218
  </xsl:choose>
@@ -954,30 +954,36 @@ in case the table cannot be rendered accessibly (HTML 5)</a:documentation>
954
954
  <define name="TdBody">
955
955
  <choice>
956
956
  <zeroOrMore>
957
- <group>
958
- <a:documentation>Table cell is a block</a:documentation>
957
+ <choice>
958
+ <a:documentation>Table cell is a block; footnotes admitted inline (metanorma-model-iso#154)</a:documentation>
959
959
  <ref name="TextElement"/>
960
- </group>
960
+ <ref name="fn"/>
961
+ </choice>
961
962
  </zeroOrMore>
962
963
  <oneOrMore>
963
- <ref name="paragraph-with-footnote">
964
- <a:documentation>Table cell contains a block</a:documentation>
965
- </ref>
964
+ <choice>
965
+ <a:documentation>Table cell contains a block; notes admitted alongside paragraphs (metanorma-model-iso#157)</a:documentation>
966
+ <ref name="paragraph-with-footnote"/>
967
+ <ref name="note"/>
968
+ </choice>
966
969
  </oneOrMore>
967
970
  </choice>
968
971
  </define>
969
972
  <define name="TdNoIdBody">
970
973
  <choice>
971
974
  <zeroOrMore>
972
- <group>
973
- <a:documentation>Table cell is a block</a:documentation>
975
+ <choice>
976
+ <a:documentation>Table cell is a block; footnotes admitted inline (metanorma-model-iso#154)</a:documentation>
974
977
  <ref name="TextElement"/>
975
- </group>
978
+ <ref name="fn"/>
979
+ </choice>
976
980
  </zeroOrMore>
977
981
  <oneOrMore>
978
- <ref name="paragraph-with-footnote-no-id">
979
- <a:documentation>Table cell contains a block</a:documentation>
980
- </ref>
982
+ <choice>
983
+ <a:documentation>Table cell contains a block; notes admitted alongside paragraphs (metanorma-model-iso#157)</a:documentation>
984
+ <ref name="paragraph-with-footnote-no-id"/>
985
+ <ref name="note-no-id"/>
986
+ </choice>
981
987
  </oneOrMore>
982
988
  </choice>
983
989
  </define>
@@ -1030,16 +1036,9 @@ in case the table cannot be rendered accessibly (HTML 5)</a:documentation>
1030
1036
  </ref>
1031
1037
  </optional>
1032
1038
  <oneOrMore>
1033
- <choice>
1039
+ <ref name="ExampleBodyContent">
1034
1040
  <a:documentation>Content of the example</a:documentation>
1035
- <ref name="formula"/>
1036
- <ref name="ul"/>
1037
- <ref name="ol"/>
1038
- <ref name="dl"/>
1039
- <ref name="quote"/>
1040
- <ref name="sourcecode"/>
1041
- <ref name="paragraph-with-footnote"/>
1042
- </choice>
1041
+ </ref>
1043
1042
  </oneOrMore>
1044
1043
  <zeroOrMore>
1045
1044
  <ref name="note">
@@ -1047,6 +1046,23 @@ in case the table cannot be rendered accessibly (HTML 5)</a:documentation>
1047
1046
  </ref>
1048
1047
  </zeroOrMore>
1049
1048
  </define>
1049
+ <define name="ExampleBodyContent">
1050
+ <a:documentation>Content alternatives of an example. Named as an extension hook: higher
1051
+ layers may admit further alternatives additively (|=) without copying the
1052
+ example model (metanorma-model-iso#160). note is admitted interleaved as
1053
+ attested authoring practice (metanorma-model-iso#157, maintainer hierarchy
1054
+ reservation recorded there)</a:documentation>
1055
+ <choice>
1056
+ <ref name="formula"/>
1057
+ <ref name="ul"/>
1058
+ <ref name="ol"/>
1059
+ <ref name="dl"/>
1060
+ <ref name="quote"/>
1061
+ <ref name="sourcecode"/>
1062
+ <ref name="paragraph-with-footnote"/>
1063
+ <ref name="note"/>
1064
+ </choice>
1065
+ </define>
1050
1066
  <define name="ExampleNoIdBody">
1051
1067
  <optional>
1052
1068
  <ref name="tname">
@@ -1054,16 +1070,9 @@ in case the table cannot be rendered accessibly (HTML 5)</a:documentation>
1054
1070
  </ref>
1055
1071
  </optional>
1056
1072
  <oneOrMore>
1057
- <choice>
1073
+ <ref name="ExampleNoIdBodyContent">
1058
1074
  <a:documentation>Content of the example</a:documentation>
1059
- <ref name="formula-no-id"/>
1060
- <ref name="ul-no-id"/>
1061
- <ref name="ol-no-id"/>
1062
- <ref name="dl-no-id"/>
1063
- <ref name="quote-no-id"/>
1064
- <ref name="sourcecode-no-id"/>
1065
- <ref name="paragraph-with-footnote-no-id"/>
1066
- </choice>
1075
+ </ref>
1067
1076
  </oneOrMore>
1068
1077
  <zeroOrMore>
1069
1078
  <ref name="note-no-id">
@@ -1071,6 +1080,20 @@ in case the table cannot be rendered accessibly (HTML 5)</a:documentation>
1071
1080
  </ref>
1072
1081
  </zeroOrMore>
1073
1082
  </define>
1083
+ <define name="ExampleNoIdBodyContent">
1084
+ <a:documentation>Content alternatives of the no-id example variant; extension hook as
1085
+ ExampleBodyContent (metanorma-model-iso#160)</a:documentation>
1086
+ <choice>
1087
+ <ref name="formula-no-id"/>
1088
+ <ref name="ul-no-id"/>
1089
+ <ref name="ol-no-id"/>
1090
+ <ref name="dl-no-id"/>
1091
+ <ref name="quote-no-id"/>
1092
+ <ref name="sourcecode-no-id"/>
1093
+ <ref name="paragraph-with-footnote-no-id"/>
1094
+ <ref name="note-no-id"/>
1095
+ </choice>
1096
+ </define>
1074
1097
  <define name="admonition">
1075
1098
  <a:documentation>A sidebar block outside of the main flow of text, conveying particular warnings or supplementary text to the reader</a:documentation>
1076
1099
  <element name="admonition">
@@ -50,6 +50,24 @@
50
50
  </choice>
51
51
  </element>
52
52
  </define>
53
+ <define name="formattedref">
54
+ <a:documentation>Footnotes are admitted in formatted references in the standoc context:
55
+ free-form bibliography entries may carry authored footnotes
56
+ (metanorma-model-iso#154)</a:documentation>
57
+ <element name="formattedref">
58
+ <optional>
59
+ <attribute name="format">
60
+ <a:documentation>format of formatted reference; Metanorma assumes references are formatted as Metanorma XML</a:documentation>
61
+ </attribute>
62
+ </optional>
63
+ <oneOrMore>
64
+ <choice>
65
+ <ref name="TextElement"/>
66
+ <ref name="fn"/>
67
+ </choice>
68
+ </oneOrMore>
69
+ </element>
70
+ </define>
53
71
  </include>
54
72
  <define name="ext">
55
73
  <a:documentation>The extension point of the bibliographic description of a standardisation document</a:documentation>
@@ -27,11 +27,89 @@
27
27
  <define name="amend">
28
28
  <a:documentation>Block expressing a machine-readable change in a document</a:documentation>
29
29
  <element name="amend">
30
+ <ref name="OptionalId"/>
30
31
  <ref name="BlockAttributes"/>
31
- <ref name="AmendType"/>
32
+ <attribute name="change">
33
+ <a:documentation>The type of change described in this block</a:documentation>
34
+ <choice>
35
+ <value>add</value>
36
+ <value>modify</value>
37
+ <value>delete</value>
38
+ <value>replace</value>
39
+ </choice>
40
+ </attribute>
41
+ <optional>
42
+ <attribute name="path"/>
43
+ </optional>
44
+ <optional>
45
+ <attribute name="path_end"/>
46
+ </optional>
47
+ <optional>
48
+ <attribute name="title"/>
49
+ </optional>
50
+ <optional>
51
+ <attribute name="position">
52
+ <choice>
53
+ <value>before</value>
54
+ <value>after</value>
55
+ </choice>
56
+ </attribute>
57
+ </optional>
58
+ <optional>
59
+ <element name="location">
60
+ <a:documentation>The location(s) in the original document which have undergone the change described in this block</a:documentation>
61
+ <zeroOrMore>
62
+ <choice>
63
+ <ref name="locality"/>
64
+ <ref name="localityStack"/>
65
+ </choice>
66
+ </zeroOrMore>
67
+ </element>
68
+ </optional>
32
69
  <zeroOrMore>
33
70
  <ref name="autonumber">
34
- <a:documentation>Specification of how blocks of a given class should be autonumbered within an AmendBlock newContent element</a:documentation>
71
+ <a:documentation>Specification of how blocks of a given class should be autonumbered within the newcontent element.
72
+ Precedes the content it numbers</a:documentation>
73
+ </ref>
74
+ </zeroOrMore>
75
+ <zeroOrMore>
76
+ <element name="description">
77
+ <a:documentation>Description(s) of the change described in this block</a:documentation>
78
+ <oneOrMore>
79
+ <ref name="BasicBlock"/>
80
+ </oneOrMore>
81
+ </element>
82
+ </zeroOrMore>
83
+ <optional>
84
+ <element name="newcontent">
85
+ <a:documentation>New content to be added to the document; applicable to add and modify.
86
+ Can be blocks and/or clauses</a:documentation>
87
+ <ref name="OptionalId"/>
88
+ <zeroOrMore>
89
+ <choice>
90
+ <ref name="BasicBlock"/>
91
+ <ref name="clause"/>
92
+ </choice>
93
+ </zeroOrMore>
94
+ </element>
95
+ </optional>
96
+ <zeroOrMore>
97
+ <element name="description">
98
+ <a:documentation>Further description(s) of the change, following the new content
99
+ (e.g. consequential renumbering instructions)</a:documentation>
100
+ <oneOrMore>
101
+ <ref name="BasicBlock"/>
102
+ </oneOrMore>
103
+ </element>
104
+ </zeroOrMore>
105
+ <zeroOrMore>
106
+ <ref name="classification">
107
+ <a:documentation>Classification of the change</a:documentation>
108
+ </ref>
109
+ </zeroOrMore>
110
+ <zeroOrMore>
111
+ <ref name="contributor">
112
+ <a:documentation>Contributor responsible for the change</a:documentation>
35
113
  </ref>
36
114
  </zeroOrMore>
37
115
  </element>
@@ -42,6 +120,27 @@ All IdRefType instances point not to `@id` in Semantic XML, which is the Content
42
120
  but to `@anchor`, the user-supplied cross-reference</a:documentation>
43
121
  <text/>
44
122
  </define>
123
+ <define name="image-no-id">
124
+ <a:documentation>Container for image content: optional ID attributes recursively (for use in Relaton, metadata).
125
+ The embedded SVG content is admitted here as in ImageBody, and is NOT subject to the no-id
126
+ convention of this model family: SVGs carry ids pervasively, and those ids cannot be stripped,
127
+ because they are load-bearing for image-map functionality (svgmap hyperlink targets)</a:documentation>
128
+ <element name="image">
129
+ <ref name="OptionalId"/>
130
+ <ref name="ImageAttributes"/>
131
+ <optional>
132
+ <element name="svg">
133
+ <a:documentation>image can contain SVG XML, which is used to access its identifiers within the Metanorma XML</a:documentation>
134
+ <oneOrMore>
135
+ <choice>
136
+ <text/>
137
+ <ref name="AnyElement"/>
138
+ </choice>
139
+ </oneOrMore>
140
+ </element>
141
+ </optional>
142
+ </element>
143
+ </define>
45
144
  <define name="review">
46
145
  <a:documentation>Generalise BasicDoc element from just review comments, to general annotations;
47
146
  the type attribute defaults to `review` for reviews</a:documentation>
@@ -49,7 +148,7 @@ the type attribute defaults to `review` for reviews</a:documentation>
49
148
  <ref name="RequiredId"/>
50
149
  <ref name="ReviewAttributes"/>
51
150
  <oneOrMore>
52
- <ref name="paragraph">
151
+ <ref name="BasicBlock">
53
152
  <a:documentation>Reviewer comments content</a:documentation>
54
153
  </ref>
55
154
  </oneOrMore>
@@ -85,10 +184,14 @@ the type attribute defaults to `review` for reviews</a:documentation>
85
184
  <define name="section-title">
86
185
  <a:documentation>Title(s) of a clause</a:documentation>
87
186
  <element name="title">
88
- <a:documentation>Title proper for a clause</a:documentation>
187
+ <a:documentation>Title proper for a clause. Footnotes on section headings are admitted
188
+ (metanorma-model-iso#154)</a:documentation>
89
189
  <ref name="RequiredId"/>
90
190
  <zeroOrMore>
91
- <ref name="TextElement"/>
191
+ <choice>
192
+ <ref name="TextElement"/>
193
+ <ref name="fn"/>
194
+ </choice>
92
195
  </zeroOrMore>
93
196
  </element>
94
197
  <zeroOrMore>
@@ -154,13 +257,17 @@ Sources are currently only rendered in metanorma-plateau</a:documentation>
154
257
  <ref name="BlockAttributes"/>
155
258
  <optional>
156
259
  <attribute name="type">
157
- <a:documentation>Type of numbering to be applied to the list items</a:documentation>
260
+ <a:documentation>Type of numbering to be applied to the list items: one of the five named
261
+ numbering styles, or a renderer-native numbering format string passed
262
+ through for the target rendering language to expand (e.g. xml2rfc v2
263
+ format strings such as "R%d", carried through by metanorma-ietf)</a:documentation>
158
264
  <choice>
159
265
  <value>roman</value>
160
266
  <value>alphabet</value>
161
267
  <value>arabic</value>
162
268
  <value>roman_upper</value>
163
269
  <value>alphabet_upper</value>
270
+ <text/>
164
271
  </choice>
165
272
  </attribute>
166
273
  </optional>
@@ -220,30 +327,23 @@ Sources are currently only rendered in metanorma-plateau</a:documentation>
220
327
  </attribute>
221
328
  </optional>
222
329
  </define>
223
- <define name="ExampleBody">
224
- <optional>
225
- <ref name="tname">
226
- <a:documentation>The caption of the example</a:documentation>
227
- </ref>
228
- </optional>
229
- <oneOrMore>
230
- <choice>
231
- <a:documentation>Content of the example</a:documentation>
232
- <ref name="formula"/>
233
- <ref name="ul"/>
234
- <ref name="ol"/>
235
- <ref name="dl"/>
236
- <ref name="quote"/>
237
- <ref name="sourcecode"/>
238
- <ref name="paragraph-with-footnote"/>
239
- <ref name="figure"/>
240
- </choice>
241
- </oneOrMore>
242
- <zeroOrMore>
243
- <ref name="note">
244
- <a:documentation>Notes whose scope is the current block</a:documentation>
245
- </ref>
246
- </zeroOrMore>
330
+ <define name="ExampleBodyContent">
331
+ <a:documentation>Content alternatives of an example in the isodoc context: as basicdoc,
332
+ with figure admitted, and note admitted only trailing the example body
333
+ rather than interleaved. The content hook is overridden rather than
334
+ ExampleBody itself, so that the extension seam survives: additive
335
+ admissions (|=) from higher layers, such as illustrative provisions in
336
+ reqt, attach to the definition that governs (metanorma-model-iso#160)</a:documentation>
337
+ <choice>
338
+ <ref name="formula"/>
339
+ <ref name="ul"/>
340
+ <ref name="ol"/>
341
+ <ref name="dl"/>
342
+ <ref name="quote"/>
343
+ <ref name="sourcecode"/>
344
+ <ref name="paragraph-with-footnote"/>
345
+ <ref name="figure"/>
346
+ </choice>
247
347
  </define>
248
348
  <define name="TableBody">
249
349
  <optional>
@@ -413,20 +513,22 @@ and is intended to be referenced by a callout within the source code</a:document
413
513
  <define name="source">
414
514
  <element name="source">
415
515
  <attribute name="status">
416
- <a:documentation>The status of the term as it is used in this document, relative to its definition in the original document</a:documentation>
516
+ <a:documentation>The status of the block content, relative to the source it has been taken from</a:documentation>
417
517
  <ref name="SourceStatusType"/>
418
518
  </attribute>
419
- <attribute name="type">
420
- <a:documentation>The type of the managed term in the present context</a:documentation>
421
- <ref name="SourceTypeType"/>
422
- </attribute>
519
+ <optional>
520
+ <attribute name="type">
521
+ <a:documentation>The type of the source relation. Term-management vocabulary (authoritative/lineage);
522
+ not normally applicable to block attribution, and omitted by the generator for blocks</a:documentation>
523
+ <ref name="SourceTypeType"/>
524
+ </attribute>
525
+ </optional>
423
526
  <ref name="origin">
424
- <a:documentation>The original document and location where the term definition has been obtained from</a:documentation>
527
+ <a:documentation>The original document and location the block content has been obtained from</a:documentation>
425
528
  </ref>
426
529
  <optional>
427
530
  <ref name="modification">
428
- <a:documentation>Any changes that the definition of the term has undergone relative to the original document,
429
- in order to be applicable in this standardisation document</a:documentation>
531
+ <a:documentation>Any changes that the block content has undergone relative to the original document</a:documentation>
430
532
  </ref>
431
533
  </optional>
432
534
  </element>
@@ -852,6 +954,11 @@ titlecase, or lowercase</a:documentation>
852
954
  <a:documentation>Width of the figure block in rendering</a:documentation>
853
955
  </attribute>
854
956
  </optional>
957
+ <optional>
958
+ <attribute name="height">
959
+ <a:documentation>Height of the figure block in rendering</a:documentation>
960
+ </attribute>
961
+ </optional>
855
962
  <ref name="BlockAttributesCore"/>
856
963
  </define>
857
964
  <define name="SourceAttributes" combine="interleave">
@@ -1066,6 +1173,9 @@ parargaph sources are currently only rendered in metanorma-plateau</a:documentat
1066
1173
  <a:documentation>Internal reference (for Metanorma document collections)</a:documentation>
1067
1174
  </define>
1068
1175
  <define name="TextElement" combine="choice">
1176
+ <a:documentation>Form input elements are admitted as inline content generally, mirroring
1177
+ HTML phrasing content: inputs sit inside paragraphs and table cells
1178
+ within forms (metanorma-model-iso#145)</a:documentation>
1069
1179
  <choice>
1070
1180
  <ref name="concept"/>
1071
1181
  <ref name="add"/>
@@ -1073,13 +1183,18 @@ parargaph sources are currently only rendered in metanorma-plateau</a:documentat
1073
1183
  <ref name="span"/>
1074
1184
  <ref name="erefstack"/>
1075
1185
  <ref name="date_inline"/>
1186
+ <ref name="FormInput"/>
1187
+ <ref name="formlabel"/>
1076
1188
  </choice>
1077
1189
  </define>
1078
1190
  <define name="PureTextElement" combine="choice">
1079
1191
  <ref name="passthrough_inline"/>
1080
1192
  </define>
1081
1193
  <define name="NestedTextElement" combine="choice">
1082
- <ref name="erefstack"/>
1194
+ <choice>
1195
+ <ref name="erefstack"/>
1196
+ <ref name="concept"/>
1197
+ </choice>
1083
1198
  </define>
1084
1199
  <define name="passthrough_inline">
1085
1200
  <a:documentation>Inline text not to be processed semantically, and left in the markup of a target rendering language (e.g. raw HTML)</a:documentation>
@@ -1227,9 +1342,26 @@ That concept may be defined as a term within the current document, or it may be
1227
1342
  <ref name="termref">
1228
1343
  <a:documentation>Link to a definition of the term in a termbase</a:documentation>
1229
1344
  </ref>
1345
+ <ref name="errormsg">
1346
+ <a:documentation>Error message inserted by the Metanorma generator, replacing a concept reference
1347
+ that could not be resolved. Only ever emitted by Metanorma itself, never authored;
1348
+ its presence marks the document as not ready for publication</a:documentation>
1349
+ </ref>
1230
1350
  </choice>
1231
1351
  </element>
1232
1352
  </define>
1353
+ <define name="errormsg">
1354
+ <a:documentation>Error message inserted by the Metanorma generator, replacing markup it could not process</a:documentation>
1355
+ <element name="errormsg">
1356
+ <zeroOrMore>
1357
+ <choice>
1358
+ <ref name="PureTextElement"/>
1359
+ <ref name="index"/>
1360
+ <ref name="index-xref"/>
1361
+ </choice>
1362
+ </zeroOrMore>
1363
+ </element>
1364
+ </define>
1233
1365
  <define name="BasicBlock" combine="choice">
1234
1366
  <choice>
1235
1367
  <ref name="requirement"/>
@@ -1272,12 +1404,16 @@ That concept may be defined as a term within the current document, or it may be
1272
1404
  <a:documentation>Input form, for use under HTML</a:documentation>
1273
1405
  <element name="form">
1274
1406
  <ref name="RequiredId"/>
1275
- <attribute name="name">
1276
- <a:documentation>Name of the input form block</a:documentation>
1277
- </attribute>
1278
- <attribute name="action">
1279
- <a:documentation>Action to be taken on submission of the input form</a:documentation>
1280
- </attribute>
1407
+ <optional>
1408
+ <attribute name="name">
1409
+ <a:documentation>Name of the input form block</a:documentation>
1410
+ </attribute>
1411
+ </optional>
1412
+ <optional>
1413
+ <attribute name="action">
1414
+ <a:documentation>Action to be taken on submission of the input form</a:documentation>
1415
+ </attribute>
1416
+ </optional>
1281
1417
  <optional>
1282
1418
  <attribute name="class">
1283
1419
  <a:documentation>Class of input form</a:documentation>
@@ -1289,8 +1425,13 @@ avoid duplicating the custom-class slot in BlockAttributes. Treated like
1289
1425
  figure. See metanorma/metanorma-standoc#1197</a:documentation>
1290
1426
  </ref>
1291
1427
  <zeroOrMore>
1292
- <!-- Input form contents -->
1428
+ <!--
1429
+ Input form contents: as in HTML, a form contains block-level content,
1430
+ with form input elements appearing inline within it
1431
+ -->
1293
1432
  <choice>
1433
+ <ref name="paragraph-with-footnote"/>
1434
+ <ref name="table"/>
1294
1435
  <ref name="TextElement"/>
1295
1436
  <ref name="FormInput"/>
1296
1437
  <ref name="formlabel"/>
@@ -1734,14 +1875,18 @@ terms sections</a:documentation>
1734
1875
  </ref>
1735
1876
  </optional>
1736
1877
  <oneOrMore>
1737
- <zeroOrMore>
1878
+ <choice>
1738
1879
  <ref name="BasicBlock">
1739
- <a:documentation>Prefatory material, may be specific to each definition list</a:documentation>
1880
+ <a:documentation>Prefatory or discursive material; a symbols section may consist of prose only,
1881
+ e.g. deferring to symbols defined in another standard</a:documentation>
1740
1882
  </ref>
1741
- </zeroOrMore>
1742
- <ref name="dl">
1743
- <a:documentation>Definition list containing symbols and abbreviations</a:documentation>
1744
- </ref>
1883
+ <ref name="dl">
1884
+ <a:documentation>Definition list(s) containing symbols and abbreviations</a:documentation>
1885
+ </ref>
1886
+ <ref name="definitions">
1887
+ <a:documentation>Subsections of the symbols section</a:documentation>
1888
+ </ref>
1889
+ </choice>
1745
1890
  </oneOrMore>
1746
1891
  </element>
1747
1892
  </define>
@@ -2011,22 +2156,31 @@ used in document amendments</a:documentation>
2011
2156
  <a:documentation>Type of relation of term applicable</a:documentation>
2012
2157
  <ref name="RelatedTermType"/>
2013
2158
  </attribute>
2014
- <element name="preferred">
2015
- <a:documentation>Preferred designation of the term related to the current term</a:documentation>
2016
- <ref name="Designation"/>
2017
- </element>
2018
2159
  <choice>
2019
- <ref name="eref">
2020
- <a:documentation>Link to a definition of the term in a bibliographic entry</a:documentation>
2021
- </ref>
2022
- <ref name="erefstack">
2023
- <a:documentation>Stack of links to a definition of the term in a bibliographic entry</a:documentation>
2024
- </ref>
2025
- <ref name="xref">
2026
- <a:documentation>Link to a definition of the term in an element of the current document</a:documentation>
2027
- </ref>
2028
- <ref name="termref">
2029
- <a:documentation>Link to a definition of the term in a termbase</a:documentation>
2160
+ <group>
2161
+ <element name="preferred">
2162
+ <a:documentation>Preferred designation of the term related to the current term</a:documentation>
2163
+ <ref name="Designation"/>
2164
+ </element>
2165
+ <choice>
2166
+ <ref name="eref">
2167
+ <a:documentation>Link to a definition of the term in a bibliographic entry</a:documentation>
2168
+ </ref>
2169
+ <ref name="erefstack">
2170
+ <a:documentation>Stack of links to a definition of the term in a bibliographic entry</a:documentation>
2171
+ </ref>
2172
+ <ref name="xref">
2173
+ <a:documentation>Link to a definition of the term in an element of the current document</a:documentation>
2174
+ </ref>
2175
+ <ref name="termref">
2176
+ <a:documentation>Link to a definition of the term in a termbase</a:documentation>
2177
+ </ref>
2178
+ </choice>
2179
+ </group>
2180
+ <ref name="errormsg">
2181
+ <a:documentation>Error message inserted by the Metanorma generator, replacing a related-term
2182
+ reference that could not be resolved. Only ever emitted by Metanorma itself,
2183
+ never authored; its presence marks the document as not ready for publication</a:documentation>
2030
2184
  </ref>
2031
2185
  </choice>
2032
2186
  </element>
@@ -2177,16 +2331,21 @@ used in document amendments</a:documentation>
2177
2331
  <data type="boolean"/>
2178
2332
  </attribute>
2179
2333
  </optional>
2180
- <element name="name">
2181
- <a:documentation>The textual form of the designation</a:documentation>
2182
- <zeroOrMore>
2183
- <choice>
2184
- <ref name="PureTextElement"/>
2185
- <ref name="index"/>
2186
- <ref name="index-xref"/>
2187
- </choice>
2188
- </zeroOrMore>
2189
- </element>
2334
+ <oneOrMore>
2335
+ <element name="name">
2336
+ <a:documentation>The textual form of the designation. Repeated for language variants of the
2337
+ same designation: repetition of name with language attributes replaces the
2338
+ retired variant element (metanorma-standoc#940, metanorma-model-iso#155)</a:documentation>
2339
+ <ref name="LocalizedStringAttributes"/>
2340
+ <zeroOrMore>
2341
+ <choice>
2342
+ <ref name="PureTextElement"/>
2343
+ <ref name="index"/>
2344
+ <ref name="index-xref"/>
2345
+ </choice>
2346
+ </zeroOrMore>
2347
+ </element>
2348
+ </oneOrMore>
2190
2349
  <optional>
2191
2350
  <element name="abbreviation-type">
2192
2351
  <a:documentation>Type of abbreviation that constitutes the designation, according to how it is formed</a:documentation>
@@ -2556,6 +2715,7 @@ to better fit some local requirement, though still with the intent of retaining
2556
2715
  <value>sourcecode</value>
2557
2716
  <value>example</value>
2558
2717
  <value>note</value>
2718
+ <value>clause</value>
2559
2719
  </choice>
2560
2720
  </attribute>
2561
2721
  <text>
@@ -35,9 +35,12 @@ the tag name of the top level containers</a:documentation>
35
35
  <ref name="ReqtObligationType"/>
36
36
  </attribute>
37
37
  </optional>
38
- <attribute name="id">
39
- <data type="ID"/>
40
- </attribute>
38
+ <ref name="RequiredId">
39
+ <a:documentation>Identification of provisions routed through the shared ID patterns,
40
+ like every other identified block: content GUID in `id`, with the
41
+ isodoc context adding the user-supplied `anchor` (e.g. Modspec
42
+ identifiers) and `source` (metanorma-model-iso#149)</a:documentation>
43
+ </ref>
41
44
  <ref name="NumberingAttributes"/>
42
45
  <ref name="BlockAttributesCore">
43
46
  <a:documentation>requirement carries its own semantic `class` (provision class, below), so
@@ -126,6 +129,15 @@ interruption by other sub-containers</a:documentation>
126
129
  <a:documentation>Provisions nested within this provision, which cannot be referenced autonomously and have
127
130
  subclasses specific to the parent provision. Not expressed with provision metadata</a:documentation>
128
131
  </ref>
132
+ <ref name="requirement">
133
+ <a:documentation>Provisions nested within this provision, which are self-standing and do not have
134
+ subclasses specific to the parent provision. Interleaved with the other
135
+ sub-containers: a requirements class alternates descriptions with its member
136
+ provisions, and descriptions resume after interruption
137
+ (metanorma-model-iso#160)</a:documentation>
138
+ </ref>
139
+ <ref name="recommendation"/>
140
+ <ref name="permission"/>
129
141
  </choice>
130
142
  </zeroOrMore>
131
143
  <optional>
@@ -133,15 +145,17 @@ subclasses specific to the parent provision. Not expressed with provision metada
133
145
  <a:documentation>A list of references for the requirement, following the Relaton model</a:documentation>
134
146
  </ref>
135
147
  </optional>
136
- <zeroOrMore>
137
- <choice>
138
- <a:documentation>Provisions nested within this provision, which are self-standing and do not have
139
- subclasses specific to the parent provision</a:documentation>
140
- <ref name="requirement"/>
141
- <ref name="recommendation"/>
142
- <ref name="permission"/>
143
- </choice>
144
- </zeroOrMore>
148
+ </define>
149
+ <define name="ExampleBodyContent" combine="choice">
150
+ <a:documentation>Provisions presented illustratively inside examples. This shape is
151
+ expected only in documents defining schemas and standards (e.g. the
152
+ Modspec specification exhibiting requirement boxes), not in
153
+ standards proper (metanorma-model-iso#160)</a:documentation>
154
+ <choice>
155
+ <ref name="requirement"/>
156
+ <ref name="recommendation"/>
157
+ <ref name="permission"/>
158
+ </choice>
145
159
  </define>
146
160
  <define name="reqtitle">
147
161
  <element name="title">
@@ -214,6 +228,12 @@ subclasses specific to the parent provision</a:documentation>
214
228
  mixture of the two.
215
229
  A machine-readable component can be included as source code with
216
230
  nomination of the language</a:documentation>
231
+ <ref name="OptionalId">
232
+ <a:documentation>Identification of subparts routed through the shared ID patterns
233
+ (metanorma-model-iso#149). Optional, not required: only some generator
234
+ pipelines (Modspec) stamp subparts with content GUIDs; others emit
235
+ description/specification/component without ids</a:documentation>
236
+ </ref>
217
237
  <optional>
218
238
  <attribute name="type">
219
239
  <a:documentation>Type of sub-container.
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Cc
3
- VERSION = "2.8.11".freeze
3
+ VERSION = "2.9.0".freeze
4
4
  end
5
5
  end
data/metanorma-cc.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ["lib"]
30
30
  spec.required_ruby_version = Gem::Requirement.new(">= 3.3.0")
31
31
 
32
- spec.add_dependency "metanorma-generic", "~> 3.4.0"
32
+ spec.add_dependency "metanorma-generic", "~> 3.5.0"
33
33
 
34
34
  spec.add_development_dependency "debug"
35
35
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-cc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.11
4
+ version: 2.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 3.4.0
18
+ version: 3.5.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 3.4.0
25
+ version: 3.5.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -277,7 +277,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
277
277
  - !ruby/object:Gem::Version
278
278
  version: '0'
279
279
  requirements: []
280
- rubygems_version: 4.0.10
280
+ rubygems_version: 4.0.16
281
281
  specification_version: 4
282
282
  summary: metanorma-cc lets you write CalConnect standards in AsciiDoc.
283
283
  test_files: []