metanorma-jis 1.1.6 → 1.2.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: 2119d2690172777a1cc17607f0e31b1b8f013517149c80788bf6581b1311af89
4
- data.tar.gz: 9907b1fd89aad50b3c36da002bc7f18ed14d2c017d8b218547253d0881fe8a13
3
+ metadata.gz: 41ed633ae82eeba0b4cc6e96a3648e189b71fc20e0b0cf751cb513533ea26d91
4
+ data.tar.gz: bbb19bd39b02105cebff6eba058c66d78d6d3e50fbeb56716995bd0b75e88c7f
5
5
  SHA512:
6
- metadata.gz: fc82ae6e2c5f5d7ec37d2c456c2a2139f6df65b50dddf6cd8d652d06bd6c9ed0b90baa84ad2c9bc6f97bdb4fe1b6e54a307b8a0aea2dccc7cbdea8ea4fad8555
7
- data.tar.gz: 7b98797cb5b25646b7ddd50d51997a331075a13aa6c4340b68b599114a4a28fddcb9ae65989cc8b5ab380f51aad4f75c84d6515cb0bc828ecc748451b87d91a7
6
+ metadata.gz: 80fdd530e51886b1aa85cf8c3eed317ba5fc766af95aeda274356c4a76219929f1b38cd4d110a6aa9c96508635fda49dc997de76873f06cbe3d23687a840785c
7
+ data.tar.gz: e40ec0a3e09f8be4fd51f7b511194bd973307025e9f73eef32e8529158b3bd459b60cb05b8d49cdee6fe1bfebb84094d188d1e6bead04cb325997a4b04674fb0
@@ -1163,7 +1163,7 @@
1163
1163
  <xsl:attribute name="id">firstpage_id_0</xsl:attribute>
1164
1164
  </xsl:if>
1165
1165
  <fo:block id="firstpage_id_{$num}">
1166
- <fo:instream-foreign-object content-width="81mm" fox:alt-text="JIS Logo">
1166
+ <fo:instream-foreign-object content-width="81mm" fox:alt-text="JIS Logo" fox:placement="Block">
1167
1167
  <xsl:copy-of select="$JIS-Logo"/>
1168
1168
  </fo:instream-foreign-object>
1169
1169
  </fo:block>
@@ -1233,7 +1233,7 @@
1233
1233
  <xsl:if test="$first = 'true'">
1234
1234
  <xsl:attribute name="id">firstpage_id_<xsl:value-of select="$num"/></xsl:attribute>
1235
1235
  </xsl:if>
1236
- <fo:external-graphic fox:alt-text="Image Cover">
1236
+ <fo:external-graphic fox:alt-text="Image Cover" fox:placement="Block">
1237
1237
  <xsl:attribute name="src">
1238
1238
  <xsl:text>data:application/pdf;base64,</xsl:text>
1239
1239
  <xsl:choose>
@@ -1534,7 +1534,7 @@
1534
1534
  <xsl:attribute name="left"><xsl:value-of select="$left"/></xsl:attribute>
1535
1535
  </xsl:if>
1536
1536
  <fo:block>
1537
- <fo:instream-foreign-object content-height="{$pageHeight}mm" fox:alt-text="Background color">
1537
+ <fo:instream-foreign-object content-height="{$pageHeight}mm" fox:alt-text="Background color" fox:placement="Block">
1538
1538
  <svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="{$width}" height="{$pageHeight}mm">
1539
1539
  <rect width="{$pageWidth}mm" height="{$pageHeight}mm" style="fill:{$color_background};stroke-width:0;fill-opacity:{$opacity}"/>
1540
1540
  </svg>
@@ -6525,7 +6525,7 @@
6525
6525
  </xsl:element>
6526
6526
  </xsl:template> -->
6527
6527
 
6528
- <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">
6528
+ <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">
6529
6529
  <xsl:apply-templates mode="update_xml_step1"/>
6530
6530
  </xsl:template>
6531
6531
 
@@ -7655,6 +7655,9 @@
7655
7655
 
7656
7656
  <xsl:template name="refine_sourcecode-style">
7657
7657
  <xsl:call-template name="setKeepAttributes"/>
7658
+ <xsl:if test="ancestor::mn:sourcecode and parent::mn:td">
7659
+ <xsl:attribute name="role">SKIP</xsl:attribute>
7660
+ </xsl:if>
7658
7661
  </xsl:template> <!-- refine_sourcecode-style -->
7659
7662
 
7660
7663
  <xsl:attribute-set name="sourcecode-number-style">
@@ -7981,30 +7984,30 @@
7981
7984
  </xsl:template>
7982
7985
 
7983
7986
  <!-- outer table with line numbers for sourcecode -->
7984
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] | -->
7985
- <fo:block>
7986
- <fo:table width="100%" table-layout="fixed">
7987
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode'] | -->
7988
+ <fo:block role="SKIP">
7989
+ <fo:table width="100%" table-layout="fixed" role="SKIP">
7987
7990
  <xsl:copy-of select="@id"/>
7988
7991
  <fo:table-column column-width="8%"/>
7989
7992
  <fo:table-column column-width="92%"/>
7990
- <fo:table-body>
7993
+ <fo:table-body role="SKIP">
7991
7994
  <xsl:apply-templates/>
7992
7995
  </fo:table-body>
7993
7996
  </fo:table>
7994
7997
  </fo:block>
7995
7998
  </xsl:template>
7996
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table/mn:tbody" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody'] | -->
7999
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table/mn:tbody" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode']/*[local-name() = 'tbody'] | -->
7997
8000
  <xsl:apply-templates/>
7998
8001
  </xsl:template>
7999
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr'] | -->
8000
- <fo:table-row>
8002
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode']//*[local-name()='tr'] | -->
8003
+ <fo:table-row role="SKIP">
8001
8004
  <xsl:apply-templates/>
8002
8005
  </fo:table-row>
8003
8006
  </xsl:template>
8004
8007
  <!-- first td with line numbers -->
8005
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr/*[local-name() = 'td'][not(preceding-sibling::*)]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
8006
- <fo:table-cell>
8007
- <fo:block>
8008
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr/*[local-name() = 'td'][not(preceding-sibling::*)]" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
8009
+ <fo:table-cell role="SKIP">
8010
+ <fo:block role="SKIP">
8008
8011
 
8009
8012
  <!-- set attibutes for line numbers - same as sourcecode -->
8010
8013
  <xsl:variable name="sourcecode_attributes">
@@ -8012,7 +8015,7 @@
8012
8015
  <xsl:call-template name="get_sourcecode_attributes"/>
8013
8016
  </xsl:for-each>
8014
8017
  </xsl:variable>
8015
- <xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@*[not(starts-with(local-name(), 'margin-') or starts-with(local-name(), 'space-'))]">
8018
+ <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'))]">
8016
8019
  <xsl:attribute name="{name()}">
8017
8020
  <xsl:value-of select="."/>
8018
8021
  </xsl:attribute>
@@ -8024,8 +8027,8 @@
8024
8027
  </xsl:template>
8025
8028
 
8026
8029
  <!-- second td with sourcecode -->
8027
- <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr/*[local-name() = 'td'][preceding-sibling::*]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
8028
- <fo:table-cell>
8030
+ <xsl:template match="mn:sourcecode[@linenums = 'true']/mn:table//mn:tr/*[local-name() = 'td'][preceding-sibling::*]" priority="3"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
8031
+ <fo:table-cell role="SKIP">
8029
8032
  <fo:block role="SKIP">
8030
8033
  <xsl:apply-templates/>
8031
8034
  </fo:block>
@@ -8595,7 +8598,7 @@
8595
8598
  <xsl:param name="value"/>
8596
8599
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
8597
8600
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
8598
- <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-10%"><!-- alignment-baseline="middle" -->
8601
+ <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-10%" fox:placement="Inline"><!-- alignment-baseline="middle" -->
8599
8602
  <xsl:attribute name="height">3.5mm</xsl:attribute> <!-- 5mm -->
8600
8603
  <xsl:attribute name="content-width">100%</xsl:attribute>
8601
8604
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -8832,11 +8835,12 @@
8832
8835
  <xsl:choose>
8833
8836
 
8834
8837
  <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' -->
8838
+ <xsl:attribute name="role">SKIP</xsl:attribute>
8835
8839
  <xsl:if test="ancestor::mn:tr[1]/following-sibling::mn:tr"> <!-- is current tr isn't last -->
8836
8840
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
8837
8841
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
8838
8842
  </xsl:if>
8839
- <fo:instream-foreign-object fox:alt-text="{.}" content-width="95%">
8843
+ <fo:instream-foreign-object fox:alt-text="{.}" content-width="95%" fox:placement="Inline" role="artifact">
8840
8844
  <math xmlns="http://www.w3.org/1998/Math/MathML">
8841
8845
  <mtext><xsl:value-of select="."/></mtext>
8842
8846
  </math>
@@ -10380,19 +10384,22 @@
10380
10384
  <xsl:if test="normalize-space() != ''">
10381
10385
 
10382
10386
  <fo:block xsl:use-attribute-sets="table-name-style">
10383
-
10384
10387
  <xsl:call-template name="refine_table-name-style">
10385
10388
  <xsl:with-param name="continued" select="$continued"/>
10386
10389
  </xsl:call-template>
10387
10390
 
10388
- <xsl:choose>
10389
- <xsl:when test="$continued = 'true'">
10390
- </xsl:when>
10391
- <xsl:otherwise>
10392
- <xsl:apply-templates/>
10393
- </xsl:otherwise>
10394
- </xsl:choose>
10391
+ <!-- <Caption><P> tags, see https://github.com/metanorma/metanorma-pdfa/issues/81 -->
10392
+ <fo:block role="P">
10395
10393
 
10394
+ <xsl:choose>
10395
+ <xsl:when test="$continued = 'true'">
10396
+ </xsl:when>
10397
+ <xsl:otherwise>
10398
+ <xsl:apply-templates/>
10399
+ </xsl:otherwise>
10400
+ </xsl:choose>
10401
+
10402
+ </fo:block>
10396
10403
  </fo:block>
10397
10404
 
10398
10405
  <!-- <xsl:if test="$namespace = 'bsi' or $namespace = 'pas' or $namespace = 'iec' or $namespace = 'iso'"> -->
@@ -10876,7 +10883,7 @@
10876
10883
 
10877
10884
  <xsl:variable name="tableWithNotesAndFootnotes">
10878
10885
 
10879
- <fo:table keep-with-previous="always" role="SKIP">
10886
+ <fo:table keep-with-previous="always" role="TFoot">
10880
10887
  <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
10881
10888
  <xsl:variable name="name" select="local-name()"/>
10882
10889
  <xsl:choose>
@@ -10914,14 +10921,14 @@
10914
10921
  </xsl:choose>
10915
10922
 
10916
10923
  <fo:table-body role="SKIP">
10917
- <fo:table-row role="SKIP">
10924
+ <fo:table-row>
10918
10925
  <xsl:for-each select="ancestor::mn:table[1]">
10919
10926
  <xsl:call-template name="setTableStyles">
10920
10927
  <xsl:with-param name="scope">ancestor_table</xsl:with-param>
10921
10928
  </xsl:call-template>
10922
10929
  </xsl:for-each>
10923
10930
 
10924
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}" role="SKIP">
10931
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
10925
10932
 
10926
10933
  <xsl:call-template name="refine_table-footer-cell-style"/>
10927
10934
 
@@ -13274,6 +13281,13 @@
13274
13281
  <xsl:template name="refine_note-style">
13275
13282
  </xsl:template> <!-- refine_note-style -->
13276
13283
 
13284
+ <xsl:attribute-set name="note-block-style">
13285
+ <xsl:attribute name="role">SKIP</xsl:attribute>
13286
+ </xsl:attribute-set> <!-- note-block-style -->
13287
+
13288
+ <xsl:template name="refine_note-block-style">
13289
+ </xsl:template> <!-- refine_note-block-style -->
13290
+
13277
13291
  <xsl:variable name="note-body-indent">10mm</xsl:variable>
13278
13292
  <xsl:variable name="note-body-indent-table">5mm</xsl:variable>
13279
13293
 
@@ -13379,9 +13393,6 @@
13379
13393
 
13380
13394
  </xsl:template>
13381
13395
 
13382
- <xsl:template name="refine_note_block_style">
13383
- </xsl:template> <!-- refine_note_block_style -->
13384
-
13385
13396
  <xsl:template match="mn:note/mn:p">
13386
13397
  <xsl:variable name="num"><xsl:number/></xsl:variable>
13387
13398
  <xsl:choose>
@@ -13502,9 +13513,9 @@
13502
13513
  <!-- ====== -->
13503
13514
 
13504
13515
  <xsl:attribute-set name="quote-container-style">
13516
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
13505
13517
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
13506
13518
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
13507
- <xsl:attribute name="role">SKIP</xsl:attribute>
13508
13519
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
13509
13520
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
13510
13521
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -13531,6 +13542,7 @@
13531
13542
  </xsl:template> <!-- refine_quote-style -->
13532
13543
 
13533
13544
  <xsl:attribute-set name="quote-source-style">
13545
+ <xsl:attribute name="role">Caption</xsl:attribute>
13534
13546
  <xsl:attribute name="text-align">right</xsl:attribute>
13535
13547
  <xsl:attribute name="margin-right">-12mm</xsl:attribute>
13536
13548
  </xsl:attribute-set> <!-- quote-source-style -->
@@ -13563,7 +13575,7 @@
13563
13575
  <xsl:call-template name="refine_quote-style"/>
13564
13576
 
13565
13577
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
13566
- <fo:block role="BlockQuote">
13578
+ <fo:block role="SKIP"> <!-- BlockQuote -->
13567
13579
  <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 -->
13568
13580
  </fo:block>
13569
13581
  </fo:block-container>
@@ -13572,11 +13584,15 @@
13572
13584
  <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
13573
13585
  <fo:block xsl:use-attribute-sets="quote-source-style">
13574
13586
  <xsl:call-template name="refine_quote-source-style"/>
13575
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
13576
- <xsl:apply-templates select="mn:author"/>
13577
- <xsl:apply-templates select="mn:fmt-source"/>
13578
- <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
13579
- <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
13587
+
13588
+ <!-- <Caption><P> tags, see https://github.com/metanorma/metanorma-pdfa/issues/81 -->
13589
+ <fo:block role="P">
13590
+ <!-- ISO, ISO 7301:2011, Clause 1 -->
13591
+ <xsl:apply-templates select="mn:author"/>
13592
+ <xsl:apply-templates select="mn:fmt-source"/>
13593
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
13594
+ <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
13595
+ </fo:block>
13580
13596
  </fo:block>
13581
13597
  </fo:block-container>
13582
13598
  </xsl:if>
@@ -14133,7 +14149,7 @@
14133
14149
 
14134
14150
  <!-- debug scale='<xsl:value-of select="$scale"/>', indent='<xsl:value-of select="$indent"/>' -->
14135
14151
 
14136
- <fo:external-graphic src="{$src}" vertical-align="middle">
14152
+ <fo:external-graphic src="{$src}" vertical-align="middle" fox:placement="Inline">
14137
14153
  <xsl:call-template name="addAltText"/>
14138
14154
 
14139
14155
  <xsl:if test="parent::mn:logo"> <!-- publisher's logo -->
@@ -14198,7 +14214,7 @@
14198
14214
  <xsl:choose>
14199
14215
  <xsl:when test="$isDeleted = 'true'">
14200
14216
  <!-- enclose in svg -->
14201
- <fo:instream-foreign-object>
14217
+ <fo:instream-foreign-object fox:placement="Block">
14202
14218
  <xsl:attribute name="width">100%</xsl:attribute>
14203
14219
  <xsl:attribute name="content-height">100%</xsl:attribute>
14204
14220
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -14219,7 +14235,7 @@
14219
14235
  <xsl:value-of select="concat('scale=', $scale,', indent=', $indent)"/>
14220
14236
  </fo:block> -->
14221
14237
 
14222
- <fo:external-graphic src="{$src}">
14238
+ <fo:external-graphic src="{$src}" fox:placement="Block">
14223
14239
  <xsl:call-template name="addAltText"/>
14224
14240
 
14225
14241
  <xsl:choose>
@@ -14566,7 +14582,7 @@
14566
14582
  </xsl:if>
14567
14583
  <fo:block text-depth="0" line-height="0" font-size="0">
14568
14584
 
14569
- <fo:instream-foreign-object fox:alt-text="{$alt-text}">
14585
+ <fo:instream-foreign-object fox:alt-text="{$alt-text}" fox:placement="Block">
14570
14586
  <xsl:attribute name="width">100%</xsl:attribute>
14571
14587
  <xsl:attribute name="content-height">100%</xsl:attribute>
14572
14588
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -14615,7 +14631,7 @@
14615
14631
  <xsl:copy>
14616
14632
  <xsl:copy-of select="@*"/>
14617
14633
  <!-- <fo:block xsl:use-attribute-sets="image-style"> -->
14618
- <fo:instream-foreign-object fox:alt-text="{$alt-text}">
14634
+ <fo:instream-foreign-object fox:alt-text="{$alt-text}" fox:placement="Block">
14619
14635
 
14620
14636
  <xsl:choose>
14621
14637
  <xsl:when test="$image_class = 'corrigenda-tag'">
@@ -14680,6 +14696,10 @@
14680
14696
  <xsl:attribute name="content-height"><xsl:value-of select="round($scale_x * $scale_y * 100)"/>%</xsl:attribute>
14681
14697
  </xsl:if>
14682
14698
 
14699
+ <xsl:if test="self::fo:inline">
14700
+ <xsl:attribute name="fox:placement">Inline</xsl:attribute>
14701
+ </xsl:if>
14702
+
14683
14703
  <xsl:copy-of select="$svg_content"/>
14684
14704
 
14685
14705
  <!-- <debug>
@@ -14955,10 +14975,12 @@
14955
14975
  <xsl:template match="mn:figure/mn:fmt-name | mn:image/mn:fmt-name">
14956
14976
  <xsl:if test="normalize-space() != ''">
14957
14977
  <fo:block xsl:use-attribute-sets="figure-name-style">
14958
-
14959
14978
  <xsl:call-template name="refine_figure-name-style"/>
14960
14979
 
14961
- <xsl:apply-templates/>
14980
+ <!-- <Caption><P> tags, see https://github.com/metanorma/metanorma-pdfa/issues/81 -->
14981
+ <fo:block role="P">
14982
+ <xsl:apply-templates/>
14983
+ </fo:block>
14962
14984
  </fo:block>
14963
14985
  </xsl:if>
14964
14986
  </xsl:template>
@@ -14980,6 +15002,7 @@
14980
15002
 
14981
15003
  <!-- Formula's styles -->
14982
15004
  <xsl:attribute-set name="formula-style">
15005
+ <xsl:attribute name="role">P</xsl:attribute>
14983
15006
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
14984
15007
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
14985
15008
  </xsl:attribute-set> <!-- formula-style -->
@@ -14988,6 +15011,7 @@
14988
15011
  </xsl:template>
14989
15012
 
14990
15013
  <xsl:attribute-set name="formula-stem-block-style">
15014
+ <xsl:attribute name="role">SKIP</xsl:attribute>
14991
15015
  <xsl:attribute name="text-align">center</xsl:attribute>
14992
15016
  </xsl:attribute-set> <!-- formula-stem-block-style -->
14993
15017
 
@@ -14995,6 +15019,7 @@
14995
15019
  </xsl:template> <!-- refine_formula-stem-block-style -->
14996
15020
 
14997
15021
  <xsl:attribute-set name="formula-stem-number-style">
15022
+ <xsl:attribute name="role">Span</xsl:attribute>
14998
15023
  <xsl:attribute name="text-align">right</xsl:attribute>
14999
15024
  </xsl:attribute-set> <!-- formula-stem-number-style -->
15000
15025
  <!-- End Formula's styles -->
@@ -15003,12 +15028,25 @@
15003
15028
  </xsl:template>
15004
15029
 
15005
15030
  <xsl:attribute-set name="mathml-style">
15031
+ <xsl:attribute name="role">Formula</xsl:attribute>
15006
15032
  <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
15007
15033
  </xsl:attribute-set>
15008
15034
 
15009
15035
  <xsl:template name="refine_mathml-style">
15010
15036
  </xsl:template>
15011
15037
 
15038
+ <xsl:attribute-set name="mathml-instream-foreign-object-style">
15039
+ <xsl:attribute name="fox:alt-text">Math</xsl:attribute>
15040
+ <xsl:attribute name="fox:actual-text">Math</xsl:attribute>
15041
+ <xsl:attribute name="fox:placement">Inline</xsl:attribute>
15042
+ </xsl:attribute-set> <!-- mathml-instream-foreign-object-style -->
15043
+
15044
+ <xsl:template name="refine_mathml-instream-foreign-object-style">
15045
+ <xsl:if test="ancestor::mn:formula">
15046
+ <xsl:attribute name="fox:placement">Block</xsl:attribute>
15047
+ </xsl:if>
15048
+ </xsl:template> <!-- refine_mathml-instream-foreign-object-style -->
15049
+
15012
15050
  <!-- ====== -->
15013
15051
  <!-- formula -->
15014
15052
  <!-- ====== -->
@@ -15024,7 +15062,7 @@
15024
15062
  </xsl:if>
15025
15063
  <fo:block-container margin-left="0mm" role="SKIP">
15026
15064
  <xsl:call-template name="setNamedDestination"/>
15027
- <fo:block id="{@id}">
15065
+ <fo:block id="{@id}" role="SKIP">
15028
15066
  <xsl:apply-templates select="node()[not(self::mn:fmt-name)]"/> <!-- formula's number will be process in 'stem' template -->
15029
15067
  </fo:block>
15030
15068
  </fo:block-container>
@@ -15057,22 +15095,22 @@
15057
15095
 
15058
15096
  <xsl:call-template name="refine_formula-style"/>
15059
15097
 
15060
- <fo:table table-layout="fixed" width="100%">
15098
+ <fo:table table-layout="fixed" width="100%" role="SKIP">
15061
15099
  <fo:table-column column-width="95%"/>
15062
15100
  <fo:table-column column-width="5%"/>
15063
- <fo:table-body>
15064
- <fo:table-row>
15065
- <fo:table-cell display-align="center">
15066
- <fo:block xsl:use-attribute-sets="formula-stem-block-style" role="SKIP">
15101
+ <fo:table-body role="SKIP">
15102
+ <fo:table-row role="SKIP">
15103
+ <fo:table-cell display-align="center" role="SKIP">
15104
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
15067
15105
 
15068
15106
  <xsl:call-template name="refine_formula-stem-block-style"/>
15069
15107
 
15070
15108
  <xsl:apply-templates/>
15071
15109
  </fo:block>
15072
15110
  </fo:table-cell>
15073
- <fo:table-cell display-align="center">
15111
+ <fo:table-cell display-align="center" role="SKIP">
15074
15112
 
15075
- <fo:block xsl:use-attribute-sets="formula-stem-number-style" role="SKIP">
15113
+ <fo:block xsl:use-attribute-sets="formula-stem-number-style">
15076
15114
 
15077
15115
  <xsl:for-each select="../mn:fmt-name">
15078
15116
  <xsl:call-template name="setIDforNamedDestination"/>
@@ -15220,9 +15258,9 @@
15220
15258
  <xsl:apply-templates select="." mode="mathml"/>
15221
15259
  </xsl:variable>
15222
15260
 
15223
- <fo:instream-foreign-object fox:alt-text="Math" fox:actual-text="Math">
15261
+ <fo:instream-foreign-object xsl:use-attribute-sets="mathml-instream-foreign-object-style">
15224
15262
 
15225
- <xsl:call-template name="refine_mathml_insteam_object_style"/>
15263
+ <xsl:call-template name="refine_mathml-instream-foreign-object-style"/>
15226
15264
 
15227
15265
  <xsl:if test="$isGenerateTableIF = 'false'">
15228
15266
  <!-- put MathML in Actual Text -->
@@ -15246,9 +15284,6 @@
15246
15284
  </fo:instream-foreign-object>
15247
15285
  </xsl:template>
15248
15286
 
15249
- <xsl:template name="refine_mathml_insteam_object_style">
15250
- </xsl:template> <!-- refine_mathml_insteam_object_style -->
15251
-
15252
15287
  <xsl:template match="mathml:*" mode="mathml_actual_text">
15253
15288
  <!-- <xsl:text>a+b</xsl:text> -->
15254
15289
  <xsl:text>&lt;</xsl:text>
@@ -16483,8 +16518,10 @@
16483
16518
 
16484
16519
  </xsl:template> <!-- references[not(@normative='true')]/bibitem -->
16485
16520
 
16521
+ <!-- commented 2026-08-06: from https://github.com/metanorma/metanorma-standoc/issues/1140:
16522
+ 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. -->
16486
16523
  <!-- bibitem's notes will be processing in 'processBibitemFollowingNotes' -->
16487
- <xsl:template match="mn:references/mn:note" priority="2"/> <!-- [not(@normative='true')] -->
16524
+ <!-- <xsl:template match="mn:references/mn:note" priority="2"/>--> <!-- [not(@normative='true')] -->
16488
16525
 
16489
16526
  <xsl:template name="insertListItem_Bibitem">
16490
16527
  <xsl:choose>
@@ -17163,7 +17200,7 @@
17163
17200
  <xsl:call-template name="set_id_metanorma_form_item">
17164
17201
  <xsl:with-param name="form_item_type" select="$form_item_type"/>
17165
17202
  </xsl:call-template>
17166
- <fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%">
17203
+ <fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%" fox:placement="Inline">
17167
17204
  <xsl:attribute name="height">3.5mm</xsl:attribute>
17168
17205
  <xsl:attribute name="content-width">100%</xsl:attribute>
17169
17206
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -17190,7 +17227,7 @@
17190
17227
  <xsl:call-template name="set_id_metanorma_form_item">
17191
17228
  <xsl:with-param name="form_item_type" select="$form_item_type"/>
17192
17229
  </xsl:call-template>
17193
- <fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%">
17230
+ <fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%" fox:placement="Inline">
17194
17231
  <xsl:attribute name="height">3.5mm</xsl:attribute>
17195
17232
  <xsl:attribute name="content-width">100%</xsl:attribute>
17196
17233
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -17482,7 +17519,9 @@
17482
17519
  </xsl:variable>
17483
17520
  <mnx:example id="{@id}" alt-text="{normalize-space($example_name)}">
17484
17521
  <xsl:element name="fmt-name" namespace="{$namespace_full}">
17485
- <xsl:value-of select="mn:fmt-xref-label[@container]"/>
17522
+ <xsl:call-template name="capitalize"><!-- https://github.com/metanorma/metanorma-pdfa/issues/72 -->
17523
+ <xsl:with-param name="str" select="mn:fmt-xref-label[@container]"/>
17524
+ </xsl:call-template>
17486
17525
  <xsl:if test="normalize-space($example_name) != ''">
17487
17526
  <xsl:value-of select="mn:fmt-name/mn:span[@class = 'fmt-caption-delim']"/>
17488
17527
  <xsl:copy-of select="$example_name"/>
@@ -19299,7 +19338,8 @@
19299
19338
  <xsl:template match="//mn:metanorma/mn:preface/*" priority="2" name="preface_node"> <!-- /*/mn:preface/* -->
19300
19339
  <fo:block break-after="page"/>
19301
19340
  <xsl:call-template name="setNamedDestination"/>
19302
- <fo:block>
19341
+ <fo:block role="Sect">
19342
+ <xsl:call-template name="addTagElementT"/>
19303
19343
  <xsl:call-template name="setId"/>
19304
19344
  <xsl:call-template name="addReviewHelper"/>
19305
19345
  <xsl:apply-templates/>
@@ -19388,7 +19428,7 @@
19388
19428
 
19389
19429
  <xsl:template match="mn:blacksquare" name="blacksquare">
19390
19430
  <fo:inline padding-right="2.5mm" baseline-shift="5%">
19391
- <fo:instream-foreign-object content-height="2mm" content-width="2mm" fox:alt-text="Quad">
19431
+ <fo:instream-foreign-object content-height="2mm" content-width="2mm" fox:alt-text="Quad" fox:placement="Inline">
19392
19432
  <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 2 2">
19393
19433
  <rect x="0" y="0" width="2" height="2" fill="black"/>
19394
19434
  </svg>
@@ -20370,13 +20410,13 @@
20370
20410
  <xsl:param name="bitmap_width" select="$pageWidth"/>
20371
20411
  <xsl:choose>
20372
20412
  <xsl:when test="*[local-name() = 'svg'] or java:endsWith(java:java.lang.String.new(@src), '.svg')">
20373
- <fo:instream-foreign-object fox:alt-text="Image Front">
20413
+ <fo:instream-foreign-object fox:alt-text="Image Front" fox:placement="Block">
20374
20414
  <xsl:attribute name="content-height"><xsl:value-of select="$svg_content_height"/>mm</xsl:attribute>
20375
20415
  <xsl:call-template name="getSVG"/>
20376
20416
  </fo:instream-foreign-object>
20377
20417
  </xsl:when>
20378
20418
  <xsl:when test="starts-with(@src, 'data:application/pdf;base64')">
20379
- <fo:external-graphic src="{@src}" fox:alt-text="Image Front"/>
20419
+ <fo:external-graphic src="{@src}" fox:alt-text="Image Front" fox:placement="Block"/>
20380
20420
  </xsl:when>
20381
20421
  <xsl:otherwise> <!-- bitmap image -->
20382
20422
  <xsl:variable name="coverimage_src" select="normalize-space(@src)"/>
@@ -20386,7 +20426,7 @@
20386
20426
  <xsl:with-param name="src" select="$coverimage_src"/>
20387
20427
  </xsl:call-template>
20388
20428
  </xsl:variable>
20389
- <fo:external-graphic src="{$coverpage}" width="{$bitmap_width}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
20429
+ <fo:external-graphic src="{$coverpage}" width="{$bitmap_width}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front" fox:placement="Block"/>
20390
20430
  </xsl:if>
20391
20431
  </xsl:otherwise>
20392
20432
  </xsl:choose>
@@ -160,10 +160,11 @@ module IsoDoc
160
160
  end
161
161
 
162
162
  def commentary_name_anchors(clause, num, root, level)
163
+ t = clause_title(clause)
163
164
  @anchors[clause["id"]] =
164
165
  { label: num, xref: labelled_autonum(@labels["clause"], num),
165
166
  container: root,
166
- title: clause_title(clause), level: level, type: "clause",
167
+ title: t && semx(clause, t, "title"), level: level, type: "clause",
167
168
  elem: @labels["clause"] }
168
169
  end
169
170
 
@@ -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,6 +1,6 @@
1
1
  module Metanorma
2
2
  module Jis
3
- VERSION = "1.1.6".freeze
3
+ VERSION = "1.2.0".freeze
4
4
  end
5
5
  end
6
6
 
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.required_ruby_version = Gem::Requirement.new(">= 3.3.0")
32
32
 
33
33
  spec.add_dependency "japanese_calendar", "~> 0"
34
- spec.add_dependency "metanorma-iso", "~> 3.4.2"
34
+ spec.add_dependency "metanorma-iso", "~> 3.5.0"
35
35
  spec.add_dependency "pubid"
36
36
 
37
37
  spec.add_development_dependency "canon"# , "= 0.2.3"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-jis
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 3.4.2
32
+ version: 3.5.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 3.4.2
39
+ version: 3.5.0
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: pubid
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -358,7 +358,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
358
358
  - !ruby/object:Gem::Version
359
359
  version: '0'
360
360
  requirements: []
361
- rubygems_version: 4.0.10
361
+ rubygems_version: 4.0.16
362
362
  specification_version: 4
363
363
  summary: metanorma-jis lets you write JIS standards in AsciiDoc.
364
364
  test_files: []