metanorma-m3aawg 2.2.2 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9518c9b0243d2af6756c53c9e8c7ca134f47a27e8c1a7f3853e64afe5356c683
4
- data.tar.gz: 2ed5fda8227b7437f18bf8e2c3d3e79a78d1d1991e011498fdd3f5c79ced59c7
3
+ metadata.gz: 20ccba6b8dcbacdb98acd212ad5b39fd551ea3eca04312e45b6ed1f0ca1ca756
4
+ data.tar.gz: f60b3e61fe706e7d491669fc1d67c263c917b19249d9d406b9985e3ad8ffb1a4
5
5
  SHA512:
6
- metadata.gz: 6918e142b7feb406bb74ce70ecb8c1b44ebc4cba50db0294e996f60abc75d671044acc10242ca73b455fba4fc3a2bbc5f71a67c19814094d014a26c35f820aa6
7
- data.tar.gz: 93b117b5c02bed144d6cbf4a014525c3dfa946f4e6aef6288d251554d85fe534dbef17c75083dfde1d3d8d960a3aa558625166623737efb08a2d37a2314822f9
6
+ metadata.gz: d5d9c93276b937d88dcea515b646316aa6bb9556dd1f07cf9f37086e4d51745c3aa49dce7f075cdd89c5de75ce669adee1971ae4013870fb11175b791049fc99
7
+ data.tar.gz: 14ab48069ae129ccbe77be12cfcb442c5cc2d211dc908163d502372cc48381fd5a14e18d8d8d3b21c6456b012c98e427a26df5ec6d39104ef1ad464982c6936a
@@ -450,6 +450,10 @@ div.figure {
450
450
  max-width: 100%;
451
451
  height: auto; }
452
452
 
453
+ table div.figure {
454
+ padding: 0;
455
+ margin: 0; }
456
+
453
457
  /*
454
458
  Document types + stages
455
459
  */
@@ -102,6 +102,12 @@ div.figure {
102
102
  margin: 2em 0 2em -1em;
103
103
  }
104
104
 
105
+ table div.figure {
106
+ padding: 0;
107
+ margin: 0;
108
+ }
109
+
110
+
105
111
  /*
106
112
  Document types + stages
107
113
  */
@@ -10,8 +10,8 @@ module IsoDoc
10
10
  Metanorma::M3AAWG.configuration
11
11
  end
12
12
 
13
- def colophon(body, _docxml)
14
- body.div **{ class: "colophon" } do |div|
13
+ def colophon(_docxml, body)
14
+ body.div class: "colophon" do |div|
15
15
  div << <<~"COLOPHON"
16
16
  <p>As with all M<sup>3</sup>AAWG documents that we publish,
17
17
  please check the M<sup>3</sup>AAWG website
@@ -23,17 +23,6 @@ module IsoDoc
23
23
  end
24
24
  end
25
25
 
26
- def make_body(xml, docxml)
27
- body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72",
28
- "xml:lang": "EN-US", class: "container" }
29
- xml.body **body_attr do |body|
30
- make_body1(body, docxml)
31
- make_body2(body, docxml)
32
- make_body3(body, docxml)
33
- colophon(body, docxml)
34
- end
35
- end
36
-
37
26
  include BaseRender
38
27
  include Init
39
28
  end
@@ -705,14 +705,14 @@
705
705
  BUT DON'T put any another conditions together with $namespace = '...' (such conditions will be ignored). For another conditions, please use nested xsl:if or xsl:choose -->
706
706
 
707
707
  <!--
708
- <misc-container>
708
+ <metanorma-extension>
709
709
  <presentation-metadata>
710
710
  <papersize>letter</papersize>
711
711
  </presentation-metadata>
712
- </misc-container>
712
+ </metanorma-extension>
713
713
  -->
714
714
 
715
- <xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/>
715
+ <xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/>
716
716
  <xsl:variable name="papersize_width_">
717
717
  <xsl:choose>
718
718
  <xsl:when test="$papersize = 'letter'">215.9</xsl:when>
@@ -829,7 +829,7 @@
829
829
  <xsl:variable name="titles" select="xalan:nodeset($titles_)"/>
830
830
 
831
831
  <xsl:variable name="title-list-tables">
832
- <xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
832
+ <xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
833
833
  <xsl:value-of select="$toc_table_title"/>
834
834
  <xsl:if test="normalize-space($toc_table_title) = ''">
835
835
  <xsl:call-template name="getTitle">
@@ -839,7 +839,7 @@
839
839
  </xsl:variable>
840
840
 
841
841
  <xsl:variable name="title-list-figures">
842
- <xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
842
+ <xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
843
843
  <xsl:value-of select="$toc_figure_title"/>
844
844
  <xsl:if test="normalize-space($toc_figure_title) = ''">
845
845
  <xsl:call-template name="getTitle">
@@ -849,7 +849,7 @@
849
849
  </xsl:variable>
850
850
 
851
851
  <xsl:variable name="title-list-recommendations">
852
- <xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
852
+ <xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
853
853
  <xsl:value-of select="$toc_requirement_title"/>
854
854
  <xsl:if test="normalize-space($toc_requirement_title) = ''">
855
855
  <xsl:call-template name="getTitle">
@@ -921,7 +921,7 @@
921
921
  <xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
922
922
 
923
923
  <xsl:variable name="additional_fonts_">
924
- <xsl:for-each select="//*[contains(local-name(), '-standard')][1]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value'] | //*[contains(local-name(), '-standard')][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
924
+ <xsl:for-each select="//*[contains(local-name(), '-standard')][1]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value'] | //*[contains(local-name(), '-standard')][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
925
925
  <xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
926
926
  </xsl:for-each>
927
927
  </xsl:variable>
@@ -1965,10 +1965,10 @@
1965
1965
 
1966
1966
  <xsl:template name="processTablesFigures_Contents">
1967
1967
  <xsl:param name="always"/>
1968
- <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
1968
+ <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
1969
1969
  <xsl:call-template name="processTables_Contents"/>
1970
1970
  </xsl:if>
1971
- <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
1971
+ <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
1972
1972
  <xsl:call-template name="processFigures_Contents"/>
1973
1973
  </xsl:if>
1974
1974
  </xsl:template>
@@ -2311,6 +2311,8 @@
2311
2311
  <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2312
2312
  </xsl:if>
2313
2313
 
2314
+ <xsl:call-template name="setBordersTableArray"/>
2315
+
2314
2316
  </xsl:element>
2315
2317
  </xsl:variable>
2316
2318
 
@@ -2408,7 +2410,7 @@
2408
2410
  <xsl:variable name="isDeleted" select="@deleted"/>
2409
2411
 
2410
2412
  <xsl:choose>
2411
- <xsl:when test="@width">
2413
+ <xsl:when test="@width and @width != 'full-page-width' and @width != 'text-width'">
2412
2414
 
2413
2415
  <!-- centered table when table name is centered (see table-name-style) -->
2414
2416
 
@@ -2455,6 +2457,10 @@
2455
2457
 
2456
2458
  </xsl:template>
2457
2459
 
2460
+ <xsl:template name="setBordersTableArray">
2461
+
2462
+ </xsl:template>
2463
+
2458
2464
  <xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2459
2465
  <xsl:param name="continued"/>
2460
2466
  <xsl:if test="normalize-space() != ''">
@@ -2729,6 +2735,7 @@
2729
2735
  This makes columns with large differences between minimum and maximum widths wider than columns with smaller differences. -->
2730
2736
  <xsl:when test="(@width_max &gt; $page_width and @width_min &lt; $page_width) or (@width_min &gt;= $page_width)">
2731
2737
  <!-- difference between the available space and the minimum table width -->
2738
+ <_width_min><xsl:value-of select="@width_min"/></_width_min>
2732
2739
  <xsl:variable name="W" select="$page_width - @width_min"/>
2733
2740
  <W><xsl:value-of select="$W"/></W>
2734
2741
  <!-- difference between maximum and minimum width of the table -->
@@ -2929,6 +2936,8 @@
2929
2936
  <fo:table-row>
2930
2937
  <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2931
2938
 
2939
+ <xsl:call-template name="setBordersTableArray"/>
2940
+
2932
2941
  <!-- fn will be processed inside 'note' processing -->
2933
2942
 
2934
2943
  <!-- for BSI (not PAS) display Notes before footnotes -->
@@ -3050,6 +3059,8 @@
3050
3059
  <xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3051
3060
  <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3052
3061
 
3062
+ <xsl:call-template name="setBordersTableArray"/>
3063
+
3053
3064
  <xsl:call-template name="setTableRowAttributes"/>
3054
3065
 
3055
3066
  <xsl:apply-templates/>
@@ -3073,6 +3084,8 @@
3073
3084
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
3074
3085
  </xsl:if>
3075
3086
 
3087
+ <xsl:call-template name="setBordersTableArray"/>
3088
+
3076
3089
  <xsl:call-template name="setTableRowAttributes"/>
3077
3090
  <xsl:apply-templates/>
3078
3091
  </fo:table-row>
@@ -3092,6 +3105,8 @@
3092
3105
  <xsl:with-param name="default">center</xsl:with-param>
3093
3106
  </xsl:call-template>
3094
3107
 
3108
+ <xsl:call-template name="setBordersTableArray"/>
3109
+
3095
3110
  <xsl:if test="$lang = 'ar'">
3096
3111
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3097
3112
  </xsl:if>
@@ -3144,6 +3159,8 @@
3144
3159
 
3145
3160
  <!-- bsi -->
3146
3161
 
3162
+ <xsl:call-template name="setBordersTableArray"/>
3163
+
3147
3164
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3148
3165
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3149
3166
  </xsl:if>
@@ -3336,17 +3353,20 @@
3336
3353
  <xsl:for-each select="xalan:nodeset($references)//fn">
3337
3354
  <xsl:variable name="reference" select="@reference"/>
3338
3355
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3339
- <fo:block xsl:use-attribute-sets="table-fn-style">
3340
3356
 
3341
- <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3357
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3342
3358
 
3343
- <xsl:value-of select="@reference"/>
3359
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3360
+
3361
+ <xsl:value-of select="@reference"/>
3362
+
3363
+ </fo:inline>
3364
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3365
+ <xsl:copy-of select="./node()"/>
3366
+ </fo:inline>
3367
+
3368
+ </fo:block>
3344
3369
 
3345
- </fo:inline>
3346
- <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3347
- <xsl:copy-of select="./node()"/>
3348
- </fo:inline>
3349
- </fo:block>
3350
3370
  </xsl:if>
3351
3371
  </xsl:for-each>
3352
3372
  </xsl:template>
@@ -4287,12 +4307,12 @@
4287
4307
  <xsl:param name="value"/>
4288
4308
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
4289
4309
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
4290
- <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
4291
- <xsl:attribute name="height">5mm</xsl:attribute>
4310
+ <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-10%"><!-- alignment-baseline="middle" -->
4311
+ <xsl:attribute name="height">3.5mm</xsl:attribute> <!-- 5mm -->
4292
4312
  <xsl:attribute name="content-width">100%</xsl:attribute>
4293
4313
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4294
4314
  <xsl:attribute name="scaling">uniform</xsl:attribute>
4295
- <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4315
+ <!-- <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4296
4316
  <g>
4297
4317
  <xsl:if test="$type = 'closing' or $type = 'end'">
4298
4318
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
@@ -4306,6 +4326,27 @@
4306
4326
  </xsl:if>
4307
4327
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
4308
4328
  </text>
4329
+ </svg> -->
4330
+ <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4331
+ <g>
4332
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4333
+ <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
4334
+ </xsl:if>
4335
+ <polyline points="0,2.5 {$maxwidth},2.5 {$maxwidth + 20},40 {$maxwidth},77.5 0,77.5" stroke="black" stroke-width="5" fill="white"/>
4336
+ <line x1="9.5" y1="0" x2="9.5" y2="80" stroke="black" stroke-width="19"/>
4337
+ </g>
4338
+ <xsl:variable name="text_x">
4339
+ <xsl:choose>
4340
+ <xsl:when test="$type = 'closing' or $type = 'end'">28</xsl:when>
4341
+ <xsl:otherwise>22</xsl:otherwise>
4342
+ </xsl:choose>
4343
+ </xsl:variable>
4344
+ <text font-family="Arial" x="{$text_x}" y="50" font-size="40pt">
4345
+ <xsl:value-of select="$kind"/>
4346
+ </text>
4347
+ <text font-family="Arial" x="{$text_x + 33}" y="65" font-size="38pt">
4348
+ <xsl:value-of select="$value"/>
4349
+ </text>
4309
4350
  </svg>
4310
4351
  </fo:instream-foreign-object>
4311
4352
  </xsl:template>
@@ -4560,18 +4601,23 @@
4560
4601
 
4561
4602
  <xsl:template name="add-zero-spaces-java">
4562
4603
  <xsl:param name="text" select="."/>
4563
- <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space, arrow right -->
4564
- <xsl:variable name="text1" select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |→)','$1​')"/>
4604
+
4605
+ <!-- add zero-width space (#x200B) after dot with next non-digit -->
4606
+ <xsl:variable name="text1" select="java:replaceAll(java:java.lang.String.new($text),'(\.)([^\d\s])','$1​$2')"/>
4607
+ <!-- add zero-width space (#x200B) after characters: dash, equal, underscore, em dash, thin space, arrow right -->
4608
+ <xsl:variable name="text2" select="java:replaceAll(java:java.lang.String.new($text1),'(-|=|_|—| |→)','$1​')"/>
4609
+ <!-- add zero-width space (#x200B) after characters: colon, if there aren't digits after -->
4610
+ <xsl:variable name="text3" select="java:replaceAll(java:java.lang.String.new($text2),'(:)(\D)','$1​$2')"/>
4565
4611
  <!-- add zero-width space (#x200B) after characters: 'great than' -->
4566
- <xsl:variable name="text2" select="java:replaceAll(java:java.lang.String.new($text1), '(\u003e)(?!\u003e)', '$1​')"/><!-- negative lookahead: 'great than' not followed by 'great than' -->
4612
+ <xsl:variable name="text4" select="java:replaceAll(java:java.lang.String.new($text3), '(\u003e)(?!\u003e)', '$1​')"/><!-- negative lookahead: 'great than' not followed by 'great than' -->
4567
4613
  <!-- add zero-width space (#x200B) before characters: 'less than' -->
4568
- <xsl:variable name="text3" select="java:replaceAll(java:java.lang.String.new($text2), '(?&lt;!\u003c)(\u003c)', '​$1')"/> <!-- (?<!\u003c)(\u003c) --> <!-- negative lookbehind: 'less than' not preceeded by 'less than' -->
4614
+ <xsl:variable name="text5" select="java:replaceAll(java:java.lang.String.new($text4), '(?&lt;!\u003c)(\u003c)', '​$1')"/> <!-- (?<!\u003c)(\u003c) --> <!-- negative lookbehind: 'less than' not preceeded by 'less than' -->
4569
4615
  <!-- add zero-width space (#x200B) before character: { -->
4570
- <xsl:variable name="text4" select="java:replaceAll(java:java.lang.String.new($text3), '(?&lt;!\W)(\{)', '​$1')"/> <!-- negative lookbehind: '{' not preceeded by 'punctuation char' -->
4616
+ <xsl:variable name="text6" select="java:replaceAll(java:java.lang.String.new($text5), '(?&lt;!\W)(\{)', '​$1')"/> <!-- negative lookbehind: '{' not preceeded by 'punctuation char' -->
4571
4617
  <!-- add zero-width space (#x200B) after character: , -->
4572
- <xsl:variable name="text5" select="java:replaceAll(java:java.lang.String.new($text4), '(\,)(?!\d)', '$1​')"/> <!-- negative lookahead: ',' not followed by digit -->
4618
+ <xsl:variable name="text7" select="java:replaceAll(java:java.lang.String.new($text6), '(\,)(?!\d)', '$1​')"/> <!-- negative lookahead: ',' not followed by digit -->
4573
4619
 
4574
- <xsl:value-of select="$text5"/>
4620
+ <xsl:value-of select="$text7"/>
4575
4621
  </xsl:template>
4576
4622
 
4577
4623
  <xsl:template name="add-zero-spaces-link-java">
@@ -4580,7 +4626,9 @@
4580
4626
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$1')"/> <!-- http://. https:// or www. -->
4581
4627
  <xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
4582
4628
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
4583
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1​')"/>
4629
+ <xsl:variable name="url" select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1​')"/>
4630
+ <!-- remove zero-width space at the end -->
4631
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($url), '​$', '')"/>
4584
4632
  </xsl:template>
4585
4633
 
4586
4634
  <!-- add zero space after dash character (for table's entries) -->
@@ -4717,7 +4765,7 @@
4717
4765
  </xsl:copy>
4718
4766
  </xsl:template>
4719
4767
 
4720
- <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p']) and not(*[local-name()='sourcecode'])]" mode="table-without-br">
4768
+ <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p']) and not(*[local-name()='sourcecode']) and not(*[local-name()='ul']) and not(*[local-name()='ol'])]" mode="table-without-br">
4721
4769
  <xsl:copy>
4722
4770
  <xsl:copy-of select="@*"/>
4723
4771
  <p>
@@ -4793,6 +4841,14 @@
4793
4841
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),' {2,}',' ')"/>
4794
4842
  </xsl:template>
4795
4843
 
4844
+ <xsl:template match="*[local-name()='th' or local-name()='td']//*[local-name() = 'ol' or local-name() = 'ul']" mode="table-without-br">
4845
+ <xsl:apply-templates mode="table-without-br"/>
4846
+ </xsl:template>
4847
+
4848
+ <xsl:template match="*[local-name()='th' or local-name()='td']//*[local-name() = 'li']" mode="table-without-br">
4849
+ <xsl:apply-templates mode="table-without-br"/>
4850
+ </xsl:template>
4851
+
4796
4852
  <!-- mode="table-without-br" -->
4797
4853
  <!-- ================================== -->
4798
4854
  <!-- END: Step 0. replace <br/> to <p>...</p> -->
@@ -5606,7 +5662,7 @@
5606
5662
 
5607
5663
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
5608
5664
 
5609
- <fo:block-container margin-left="0mm">
5665
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5610
5666
 
5611
5667
  <fo:block>
5612
5668
 
@@ -5786,11 +5842,14 @@
5786
5842
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
5787
5843
  </xsl:call-template>
5788
5844
 
5845
+ <!-- Example: Dimensions in millimeters -->
5846
+ <xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
5847
+
5789
5848
  <fo:block xsl:use-attribute-sets="figure-style">
5790
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5849
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
5791
5850
  </fo:block>
5792
5851
  <xsl:call-template name="fn_display_figure"/>
5793
- <xsl:for-each select="*[local-name() = 'note']">
5852
+ <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
5794
5853
  <xsl:call-template name="note"/>
5795
5854
  </xsl:for-each>
5796
5855
 
@@ -6047,24 +6106,47 @@
6047
6106
 
6048
6107
  </xsl:when>
6049
6108
  <xsl:otherwise>
6050
- <fo:block xsl:use-attribute-sets="image-style">
6051
- <fo:instream-foreign-object fox:alt-text="{$alt-text}">
6052
- <xsl:attribute name="width">100%</xsl:attribute>
6053
- <xsl:attribute name="content-height">100%</xsl:attribute>
6054
- <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
6055
- <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
6056
- <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
6057
- <!-- effective height 297 - 27.4 - 13 = 256.6 -->
6058
- <!-- effective width 210 - 12.5 - 25 = 172.5 -->
6059
- <!-- effective height / width = 1.48, 1.4 - with title -->
6060
- <xsl:if test="$svg_height &gt; ($svg_width * 1.4)"> <!-- for images with big height -->
6061
- <xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
6062
- <xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
6063
- </xsl:if>
6064
- <xsl:attribute name="scaling">uniform</xsl:attribute>
6065
- <xsl:copy-of select="$svg_content"/>
6066
- </fo:instream-foreign-object>
6067
- </fo:block>
6109
+
6110
+ <xsl:variable name="element">
6111
+ <xsl:choose>
6112
+ <xsl:when test="ancestor::*[local-name() = 'tr'] and $isGenerateTableIF = 'true'">
6113
+ <fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
6114
+ </xsl:when>
6115
+ <xsl:otherwise>
6116
+ <fo:block xsl:use-attribute-sets="image-style">
6117
+ <xsl:if test="ancestor::*[local-name() = 'dt']">
6118
+ <xsl:attribute name="text-align">left</xsl:attribute>
6119
+ </xsl:if>
6120
+ </fo:block>
6121
+ </xsl:otherwise>
6122
+ </xsl:choose>
6123
+ </xsl:variable>
6124
+
6125
+ <xsl:for-each select="xalan:nodeset($element)/*">
6126
+ <xsl:copy>
6127
+ <xsl:copy-of select="@*"/>
6128
+ <!-- <fo:block xsl:use-attribute-sets="image-style"> -->
6129
+ <fo:instream-foreign-object fox:alt-text="{$alt-text}">
6130
+ <xsl:if test="$isGenerateTableIF = 'false'">
6131
+ <xsl:attribute name="width">100%</xsl:attribute>
6132
+ </xsl:if>
6133
+ <xsl:attribute name="content-height">100%</xsl:attribute>
6134
+ <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
6135
+ <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
6136
+ <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
6137
+ <!-- effective height 297 - 27.4 - 13 = 256.6 -->
6138
+ <!-- effective width 210 - 12.5 - 25 = 172.5 -->
6139
+ <!-- effective height / width = 1.48, 1.4 - with title -->
6140
+ <xsl:if test="$svg_height &gt; ($svg_width * 1.4)"> <!-- for images with big height -->
6141
+ <xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
6142
+ <xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
6143
+ </xsl:if>
6144
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
6145
+ <xsl:copy-of select="$svg_content"/>
6146
+ </fo:instream-foreign-object>
6147
+ <!-- </fo:block> -->
6148
+ </xsl:copy>
6149
+ </xsl:for-each>
6068
6150
  </xsl:otherwise>
6069
6151
  </xsl:choose>
6070
6152
  </xsl:template>
@@ -6156,6 +6238,13 @@
6156
6238
  </xsl:for-each>
6157
6239
  </xsl:template>
6158
6240
 
6241
+ <!-- For the structures like: <dt><image src="" mimetype="image/svg+xml" height="" width=""><svg xmlns="http://www.w3.org/2000/svg" ... -->
6242
+ <xsl:template match="*[local-name() != 'figure']/*[local-name() = 'image'][*[local-name() = 'svg']]" priority="3">
6243
+ <xsl:for-each select="*[local-name() = 'svg']">
6244
+ <xsl:call-template name="image_svg"/>
6245
+ </xsl:for-each>
6246
+ </xsl:template>
6247
+
6159
6248
  <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
6160
6249
  <xsl:variable name="svg_content" select="document(@src)"/>
6161
6250
  <xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
@@ -6294,6 +6383,8 @@
6294
6383
  <xsl:value-of select="."/>
6295
6384
  </xsl:template>
6296
6385
 
6386
+ <xsl:template match="*[local-name() = 'add'][starts-with(., $ace_tag)]/text()" mode="bookmarks" priority="3"/>
6387
+
6297
6388
  <xsl:template match="node()" mode="contents">
6298
6389
  <xsl:apply-templates mode="contents"/>
6299
6390
  </xsl:template>
@@ -6601,7 +6692,15 @@
6601
6692
  <xsl:value-of select="@section"/>
6602
6693
  <xsl:text> </xsl:text>
6603
6694
  </xsl:if>
6604
- <xsl:value-of select="normalize-space(title)"/>
6695
+ <xsl:variable name="title">
6696
+ <xsl:for-each select="title/node()">
6697
+ <xsl:choose>
6698
+ <xsl:when test="local-name() = 'add' and starts-with(., $ace_tag)"><!-- skip --></xsl:when>
6699
+ <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
6700
+ </xsl:choose>
6701
+ </xsl:for-each>
6702
+ </xsl:variable>
6703
+ <xsl:value-of select="normalize-space($title)"/>
6605
6704
  </fo:bookmark-title>
6606
6705
  <xsl:apply-templates mode="bookmark"/>
6607
6706
  </fo:bookmark>
@@ -6627,6 +6726,12 @@
6627
6726
  <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/>
6628
6727
  <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/>
6629
6728
 
6729
+ <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note'][@type = 'units'] | *[local-name() = 'image']/*[local-name() = 'note'][@type = 'units']" priority="2">
6730
+ <fo:block text-align="right" keep-with-next="always">
6731
+ <xsl:apply-templates/>
6732
+ </fo:block>
6733
+ </xsl:template>
6734
+
6630
6735
  <!-- ====== -->
6631
6736
  <!-- ====== -->
6632
6737
  <xsl:template match="*[local-name() = 'title']" mode="contents_item">
@@ -6776,6 +6881,10 @@
6776
6881
  </xsl:for-each>
6777
6882
  </xsl:template>
6778
6883
 
6884
+ <xsl:template match="*[local-name() = 'add'][starts-with(., $ace_tag)]/text()" mode="contents_item" priority="2">
6885
+ <xsl:value-of select="."/>
6886
+ </xsl:template>
6887
+
6779
6888
  <!-- Note: to enable the addition of character span markup with semantic styling for DIS Word output -->
6780
6889
  <xsl:template match="*[local-name() = 'span']" mode="contents_item">
6781
6890
  <xsl:apply-templates mode="contents_item"/>
@@ -6785,7 +6894,7 @@
6785
6894
  <!-- sourcecode -->
6786
6895
  <!-- =============== -->
6787
6896
 
6788
- <xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'source-highlighter-css']"/>
6897
+ <xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'source-highlighter-css']"/>
6789
6898
  <xsl:variable name="sourcecode_css_" select="java:org.metanorma.fop.Util.parseCSS($source-highlighter-css_)"/>
6790
6899
  <xsl:variable name="sourcecode_css" select="xalan:nodeset($sourcecode_css_)"/>
6791
6900
 
@@ -8853,8 +8962,8 @@
8853
8962
 
8854
8963
  <xsl:variable name="toc_level">
8855
8964
  <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
8856
- <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
8857
- <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
8965
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
8966
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
8858
8967
  <xsl:choose>
8859
8968
  <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
8860
8969
  <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
@@ -9843,6 +9952,7 @@
9843
9952
  <xsl:choose>
9844
9953
  <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
9845
9954
  <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
9955
+ <xsl:when test="$align = 'justified'">justify</xsl:when>
9846
9956
  <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
9847
9957
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
9848
9958
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
@@ -705,14 +705,14 @@
705
705
  BUT DON'T put any another conditions together with $namespace = '...' (such conditions will be ignored). For another conditions, please use nested xsl:if or xsl:choose -->
706
706
 
707
707
  <!--
708
- <misc-container>
708
+ <metanorma-extension>
709
709
  <presentation-metadata>
710
710
  <papersize>letter</papersize>
711
711
  </presentation-metadata>
712
- </misc-container>
712
+ </metanorma-extension>
713
713
  -->
714
714
 
715
- <xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/>
715
+ <xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/>
716
716
  <xsl:variable name="papersize_width_">
717
717
  <xsl:choose>
718
718
  <xsl:when test="$papersize = 'letter'">215.9</xsl:when>
@@ -829,7 +829,7 @@
829
829
  <xsl:variable name="titles" select="xalan:nodeset($titles_)"/>
830
830
 
831
831
  <xsl:variable name="title-list-tables">
832
- <xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
832
+ <xsl:variable name="toc_table_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']"/>
833
833
  <xsl:value-of select="$toc_table_title"/>
834
834
  <xsl:if test="normalize-space($toc_table_title) = ''">
835
835
  <xsl:call-template name="getTitle">
@@ -839,7 +839,7 @@
839
839
  </xsl:variable>
840
840
 
841
841
  <xsl:variable name="title-list-figures">
842
- <xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
842
+ <xsl:variable name="toc_figure_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']"/>
843
843
  <xsl:value-of select="$toc_figure_title"/>
844
844
  <xsl:if test="normalize-space($toc_figure_title) = ''">
845
845
  <xsl:call-template name="getTitle">
@@ -849,7 +849,7 @@
849
849
  </xsl:variable>
850
850
 
851
851
  <xsl:variable name="title-list-recommendations">
852
- <xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
852
+ <xsl:variable name="toc_requirement_title" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='requirement']/*[local-name() = 'title']"/>
853
853
  <xsl:value-of select="$toc_requirement_title"/>
854
854
  <xsl:if test="normalize-space($toc_requirement_title) = ''">
855
855
  <xsl:call-template name="getTitle">
@@ -921,7 +921,7 @@
921
921
  <xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
922
922
 
923
923
  <xsl:variable name="additional_fonts_">
924
- <xsl:for-each select="//*[contains(local-name(), '-standard')][1]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value'] | //*[contains(local-name(), '-standard')][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
924
+ <xsl:for-each select="//*[contains(local-name(), '-standard')][1]/*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value'] | //*[contains(local-name(), '-standard')][1]/*[local-name() = 'presentation-metadata'][*[local-name() = 'name'] = 'fonts']/*[local-name() = 'value']">
925
925
  <xsl:value-of select="."/><xsl:if test="position() != last()">, </xsl:if>
926
926
  </xsl:for-each>
927
927
  </xsl:variable>
@@ -1965,10 +1965,10 @@
1965
1965
 
1966
1966
  <xsl:template name="processTablesFigures_Contents">
1967
1967
  <xsl:param name="always"/>
1968
- <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
1968
+ <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='table']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
1969
1969
  <xsl:call-template name="processTables_Contents"/>
1970
1970
  </xsl:if>
1971
- <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
1971
+ <xsl:if test="(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'toc'][@type='figure']/*[local-name() = 'title']) or normalize-space($always) = 'true'">
1972
1972
  <xsl:call-template name="processFigures_Contents"/>
1973
1973
  </xsl:if>
1974
1974
  </xsl:template>
@@ -2311,6 +2311,8 @@
2311
2311
  <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2312
2312
  </xsl:if>
2313
2313
 
2314
+ <xsl:call-template name="setBordersTableArray"/>
2315
+
2314
2316
  </xsl:element>
2315
2317
  </xsl:variable>
2316
2318
 
@@ -2408,7 +2410,7 @@
2408
2410
  <xsl:variable name="isDeleted" select="@deleted"/>
2409
2411
 
2410
2412
  <xsl:choose>
2411
- <xsl:when test="@width">
2413
+ <xsl:when test="@width and @width != 'full-page-width' and @width != 'text-width'">
2412
2414
 
2413
2415
  <!-- centered table when table name is centered (see table-name-style) -->
2414
2416
 
@@ -2455,6 +2457,10 @@
2455
2457
 
2456
2458
  </xsl:template>
2457
2459
 
2460
+ <xsl:template name="setBordersTableArray">
2461
+
2462
+ </xsl:template>
2463
+
2458
2464
  <xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2459
2465
  <xsl:param name="continued"/>
2460
2466
  <xsl:if test="normalize-space() != ''">
@@ -2729,6 +2735,7 @@
2729
2735
  This makes columns with large differences between minimum and maximum widths wider than columns with smaller differences. -->
2730
2736
  <xsl:when test="(@width_max &gt; $page_width and @width_min &lt; $page_width) or (@width_min &gt;= $page_width)">
2731
2737
  <!-- difference between the available space and the minimum table width -->
2738
+ <_width_min><xsl:value-of select="@width_min"/></_width_min>
2732
2739
  <xsl:variable name="W" select="$page_width - @width_min"/>
2733
2740
  <W><xsl:value-of select="$W"/></W>
2734
2741
  <!-- difference between maximum and minimum width of the table -->
@@ -2929,6 +2936,8 @@
2929
2936
  <fo:table-row>
2930
2937
  <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2931
2938
 
2939
+ <xsl:call-template name="setBordersTableArray"/>
2940
+
2932
2941
  <!-- fn will be processed inside 'note' processing -->
2933
2942
 
2934
2943
  <!-- for BSI (not PAS) display Notes before footnotes -->
@@ -3050,6 +3059,8 @@
3050
3059
  <xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3051
3060
  <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3052
3061
 
3062
+ <xsl:call-template name="setBordersTableArray"/>
3063
+
3053
3064
  <xsl:call-template name="setTableRowAttributes"/>
3054
3065
 
3055
3066
  <xsl:apply-templates/>
@@ -3073,6 +3084,8 @@
3073
3084
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
3074
3085
  </xsl:if>
3075
3086
 
3087
+ <xsl:call-template name="setBordersTableArray"/>
3088
+
3076
3089
  <xsl:call-template name="setTableRowAttributes"/>
3077
3090
  <xsl:apply-templates/>
3078
3091
  </fo:table-row>
@@ -3092,6 +3105,8 @@
3092
3105
  <xsl:with-param name="default">center</xsl:with-param>
3093
3106
  </xsl:call-template>
3094
3107
 
3108
+ <xsl:call-template name="setBordersTableArray"/>
3109
+
3095
3110
  <xsl:if test="$lang = 'ar'">
3096
3111
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3097
3112
  </xsl:if>
@@ -3144,6 +3159,8 @@
3144
3159
 
3145
3160
  <!-- bsi -->
3146
3161
 
3162
+ <xsl:call-template name="setBordersTableArray"/>
3163
+
3147
3164
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3148
3165
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3149
3166
  </xsl:if>
@@ -3336,17 +3353,20 @@
3336
3353
  <xsl:for-each select="xalan:nodeset($references)//fn">
3337
3354
  <xsl:variable name="reference" select="@reference"/>
3338
3355
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3339
- <fo:block xsl:use-attribute-sets="table-fn-style">
3340
3356
 
3341
- <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3357
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3342
3358
 
3343
- <xsl:value-of select="@reference"/>
3359
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3360
+
3361
+ <xsl:value-of select="@reference"/>
3362
+
3363
+ </fo:inline>
3364
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3365
+ <xsl:copy-of select="./node()"/>
3366
+ </fo:inline>
3367
+
3368
+ </fo:block>
3344
3369
 
3345
- </fo:inline>
3346
- <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3347
- <xsl:copy-of select="./node()"/>
3348
- </fo:inline>
3349
- </fo:block>
3350
3370
  </xsl:if>
3351
3371
  </xsl:for-each>
3352
3372
  </xsl:template>
@@ -4287,12 +4307,12 @@
4287
4307
  <xsl:param name="value"/>
4288
4308
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
4289
4309
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
4290
- <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
4291
- <xsl:attribute name="height">5mm</xsl:attribute>
4310
+ <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-10%"><!-- alignment-baseline="middle" -->
4311
+ <xsl:attribute name="height">3.5mm</xsl:attribute> <!-- 5mm -->
4292
4312
  <xsl:attribute name="content-width">100%</xsl:attribute>
4293
4313
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4294
4314
  <xsl:attribute name="scaling">uniform</xsl:attribute>
4295
- <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4315
+ <!-- <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4296
4316
  <g>
4297
4317
  <xsl:if test="$type = 'closing' or $type = 'end'">
4298
4318
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
@@ -4306,6 +4326,27 @@
4306
4326
  </xsl:if>
4307
4327
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
4308
4328
  </text>
4329
+ </svg> -->
4330
+ <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4331
+ <g>
4332
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4333
+ <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
4334
+ </xsl:if>
4335
+ <polyline points="0,2.5 {$maxwidth},2.5 {$maxwidth + 20},40 {$maxwidth},77.5 0,77.5" stroke="black" stroke-width="5" fill="white"/>
4336
+ <line x1="9.5" y1="0" x2="9.5" y2="80" stroke="black" stroke-width="19"/>
4337
+ </g>
4338
+ <xsl:variable name="text_x">
4339
+ <xsl:choose>
4340
+ <xsl:when test="$type = 'closing' or $type = 'end'">28</xsl:when>
4341
+ <xsl:otherwise>22</xsl:otherwise>
4342
+ </xsl:choose>
4343
+ </xsl:variable>
4344
+ <text font-family="Arial" x="{$text_x}" y="50" font-size="40pt">
4345
+ <xsl:value-of select="$kind"/>
4346
+ </text>
4347
+ <text font-family="Arial" x="{$text_x + 33}" y="65" font-size="38pt">
4348
+ <xsl:value-of select="$value"/>
4349
+ </text>
4309
4350
  </svg>
4310
4351
  </fo:instream-foreign-object>
4311
4352
  </xsl:template>
@@ -4560,18 +4601,23 @@
4560
4601
 
4561
4602
  <xsl:template name="add-zero-spaces-java">
4562
4603
  <xsl:param name="text" select="."/>
4563
- <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space, arrow right -->
4564
- <xsl:variable name="text1" select="java:replaceAll(java:java.lang.String.new($text),'(-|\.|:|=|_|—| |→)','$1​')"/>
4604
+
4605
+ <!-- add zero-width space (#x200B) after dot with next non-digit -->
4606
+ <xsl:variable name="text1" select="java:replaceAll(java:java.lang.String.new($text),'(\.)([^\d\s])','$1​$2')"/>
4607
+ <!-- add zero-width space (#x200B) after characters: dash, equal, underscore, em dash, thin space, arrow right -->
4608
+ <xsl:variable name="text2" select="java:replaceAll(java:java.lang.String.new($text1),'(-|=|_|—| |→)','$1​')"/>
4609
+ <!-- add zero-width space (#x200B) after characters: colon, if there aren't digits after -->
4610
+ <xsl:variable name="text3" select="java:replaceAll(java:java.lang.String.new($text2),'(:)(\D)','$1​$2')"/>
4565
4611
  <!-- add zero-width space (#x200B) after characters: 'great than' -->
4566
- <xsl:variable name="text2" select="java:replaceAll(java:java.lang.String.new($text1), '(\u003e)(?!\u003e)', '$1​')"/><!-- negative lookahead: 'great than' not followed by 'great than' -->
4612
+ <xsl:variable name="text4" select="java:replaceAll(java:java.lang.String.new($text3), '(\u003e)(?!\u003e)', '$1​')"/><!-- negative lookahead: 'great than' not followed by 'great than' -->
4567
4613
  <!-- add zero-width space (#x200B) before characters: 'less than' -->
4568
- <xsl:variable name="text3" select="java:replaceAll(java:java.lang.String.new($text2), '(?&lt;!\u003c)(\u003c)', '​$1')"/> <!-- (?<!\u003c)(\u003c) --> <!-- negative lookbehind: 'less than' not preceeded by 'less than' -->
4614
+ <xsl:variable name="text5" select="java:replaceAll(java:java.lang.String.new($text4), '(?&lt;!\u003c)(\u003c)', '​$1')"/> <!-- (?<!\u003c)(\u003c) --> <!-- negative lookbehind: 'less than' not preceeded by 'less than' -->
4569
4615
  <!-- add zero-width space (#x200B) before character: { -->
4570
- <xsl:variable name="text4" select="java:replaceAll(java:java.lang.String.new($text3), '(?&lt;!\W)(\{)', '​$1')"/> <!-- negative lookbehind: '{' not preceeded by 'punctuation char' -->
4616
+ <xsl:variable name="text6" select="java:replaceAll(java:java.lang.String.new($text5), '(?&lt;!\W)(\{)', '​$1')"/> <!-- negative lookbehind: '{' not preceeded by 'punctuation char' -->
4571
4617
  <!-- add zero-width space (#x200B) after character: , -->
4572
- <xsl:variable name="text5" select="java:replaceAll(java:java.lang.String.new($text4), '(\,)(?!\d)', '$1​')"/> <!-- negative lookahead: ',' not followed by digit -->
4618
+ <xsl:variable name="text7" select="java:replaceAll(java:java.lang.String.new($text6), '(\,)(?!\d)', '$1​')"/> <!-- negative lookahead: ',' not followed by digit -->
4573
4619
 
4574
- <xsl:value-of select="$text5"/>
4620
+ <xsl:value-of select="$text7"/>
4575
4621
  </xsl:template>
4576
4622
 
4577
4623
  <xsl:template name="add-zero-spaces-link-java">
@@ -4580,7 +4626,9 @@
4580
4626
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$1')"/> <!-- http://. https:// or www. -->
4581
4627
  <xsl:variable name="url_continue" select="java:replaceAll(java:java.lang.String.new($text), $regex_url_start, '$2')"/>
4582
4628
  <!-- add zero-width space (#x200B) after characters: dash, dot, colon, equal, underscore, em dash, thin space -->
4583
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1​')"/>
4629
+ <xsl:variable name="url" select="java:replaceAll(java:java.lang.String.new($url_continue),'(-|\.|:|=|_|—| |,|/)','$1​')"/>
4630
+ <!-- remove zero-width space at the end -->
4631
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($url), '​$', '')"/>
4584
4632
  </xsl:template>
4585
4633
 
4586
4634
  <!-- add zero space after dash character (for table's entries) -->
@@ -4717,7 +4765,7 @@
4717
4765
  </xsl:copy>
4718
4766
  </xsl:template>
4719
4767
 
4720
- <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p']) and not(*[local-name()='sourcecode'])]" mode="table-without-br">
4768
+ <xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p']) and not(*[local-name()='sourcecode']) and not(*[local-name()='ul']) and not(*[local-name()='ol'])]" mode="table-without-br">
4721
4769
  <xsl:copy>
4722
4770
  <xsl:copy-of select="@*"/>
4723
4771
  <p>
@@ -4793,6 +4841,14 @@
4793
4841
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),' {2,}',' ')"/>
4794
4842
  </xsl:template>
4795
4843
 
4844
+ <xsl:template match="*[local-name()='th' or local-name()='td']//*[local-name() = 'ol' or local-name() = 'ul']" mode="table-without-br">
4845
+ <xsl:apply-templates mode="table-without-br"/>
4846
+ </xsl:template>
4847
+
4848
+ <xsl:template match="*[local-name()='th' or local-name()='td']//*[local-name() = 'li']" mode="table-without-br">
4849
+ <xsl:apply-templates mode="table-without-br"/>
4850
+ </xsl:template>
4851
+
4796
4852
  <!-- mode="table-without-br" -->
4797
4853
  <!-- ================================== -->
4798
4854
  <!-- END: Step 0. replace <br/> to <p>...</p> -->
@@ -5606,7 +5662,7 @@
5606
5662
 
5607
5663
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
5608
5664
 
5609
- <fo:block-container margin-left="0mm">
5665
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5610
5666
 
5611
5667
  <fo:block>
5612
5668
 
@@ -5786,11 +5842,14 @@
5786
5842
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
5787
5843
  </xsl:call-template>
5788
5844
 
5845
+ <!-- Example: Dimensions in millimeters -->
5846
+ <xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
5847
+
5789
5848
  <fo:block xsl:use-attribute-sets="figure-style">
5790
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5849
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
5791
5850
  </fo:block>
5792
5851
  <xsl:call-template name="fn_display_figure"/>
5793
- <xsl:for-each select="*[local-name() = 'note']">
5852
+ <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
5794
5853
  <xsl:call-template name="note"/>
5795
5854
  </xsl:for-each>
5796
5855
 
@@ -6047,24 +6106,47 @@
6047
6106
 
6048
6107
  </xsl:when>
6049
6108
  <xsl:otherwise>
6050
- <fo:block xsl:use-attribute-sets="image-style">
6051
- <fo:instream-foreign-object fox:alt-text="{$alt-text}">
6052
- <xsl:attribute name="width">100%</xsl:attribute>
6053
- <xsl:attribute name="content-height">100%</xsl:attribute>
6054
- <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
6055
- <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
6056
- <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
6057
- <!-- effective height 297 - 27.4 - 13 = 256.6 -->
6058
- <!-- effective width 210 - 12.5 - 25 = 172.5 -->
6059
- <!-- effective height / width = 1.48, 1.4 - with title -->
6060
- <xsl:if test="$svg_height &gt; ($svg_width * 1.4)"> <!-- for images with big height -->
6061
- <xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
6062
- <xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
6063
- </xsl:if>
6064
- <xsl:attribute name="scaling">uniform</xsl:attribute>
6065
- <xsl:copy-of select="$svg_content"/>
6066
- </fo:instream-foreign-object>
6067
- </fo:block>
6109
+
6110
+ <xsl:variable name="element">
6111
+ <xsl:choose>
6112
+ <xsl:when test="ancestor::*[local-name() = 'tr'] and $isGenerateTableIF = 'true'">
6113
+ <fo:inline xsl:use-attribute-sets="image-style" text-align="left"/>
6114
+ </xsl:when>
6115
+ <xsl:otherwise>
6116
+ <fo:block xsl:use-attribute-sets="image-style">
6117
+ <xsl:if test="ancestor::*[local-name() = 'dt']">
6118
+ <xsl:attribute name="text-align">left</xsl:attribute>
6119
+ </xsl:if>
6120
+ </fo:block>
6121
+ </xsl:otherwise>
6122
+ </xsl:choose>
6123
+ </xsl:variable>
6124
+
6125
+ <xsl:for-each select="xalan:nodeset($element)/*">
6126
+ <xsl:copy>
6127
+ <xsl:copy-of select="@*"/>
6128
+ <!-- <fo:block xsl:use-attribute-sets="image-style"> -->
6129
+ <fo:instream-foreign-object fox:alt-text="{$alt-text}">
6130
+ <xsl:if test="$isGenerateTableIF = 'false'">
6131
+ <xsl:attribute name="width">100%</xsl:attribute>
6132
+ </xsl:if>
6133
+ <xsl:attribute name="content-height">100%</xsl:attribute>
6134
+ <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
6135
+ <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
6136
+ <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
6137
+ <!-- effective height 297 - 27.4 - 13 = 256.6 -->
6138
+ <!-- effective width 210 - 12.5 - 25 = 172.5 -->
6139
+ <!-- effective height / width = 1.48, 1.4 - with title -->
6140
+ <xsl:if test="$svg_height &gt; ($svg_width * 1.4)"> <!-- for images with big height -->
6141
+ <xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
6142
+ <xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
6143
+ </xsl:if>
6144
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
6145
+ <xsl:copy-of select="$svg_content"/>
6146
+ </fo:instream-foreign-object>
6147
+ <!-- </fo:block> -->
6148
+ </xsl:copy>
6149
+ </xsl:for-each>
6068
6150
  </xsl:otherwise>
6069
6151
  </xsl:choose>
6070
6152
  </xsl:template>
@@ -6156,6 +6238,13 @@
6156
6238
  </xsl:for-each>
6157
6239
  </xsl:template>
6158
6240
 
6241
+ <!-- For the structures like: <dt><image src="" mimetype="image/svg+xml" height="" width=""><svg xmlns="http://www.w3.org/2000/svg" ... -->
6242
+ <xsl:template match="*[local-name() != 'figure']/*[local-name() = 'image'][*[local-name() = 'svg']]" priority="3">
6243
+ <xsl:for-each select="*[local-name() = 'svg']">
6244
+ <xsl:call-template name="image_svg"/>
6245
+ </xsl:for-each>
6246
+ </xsl:template>
6247
+
6159
6248
  <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
6160
6249
  <xsl:variable name="svg_content" select="document(@src)"/>
6161
6250
  <xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
@@ -6294,6 +6383,8 @@
6294
6383
  <xsl:value-of select="."/>
6295
6384
  </xsl:template>
6296
6385
 
6386
+ <xsl:template match="*[local-name() = 'add'][starts-with(., $ace_tag)]/text()" mode="bookmarks" priority="3"/>
6387
+
6297
6388
  <xsl:template match="node()" mode="contents">
6298
6389
  <xsl:apply-templates mode="contents"/>
6299
6390
  </xsl:template>
@@ -6601,7 +6692,15 @@
6601
6692
  <xsl:value-of select="@section"/>
6602
6693
  <xsl:text> </xsl:text>
6603
6694
  </xsl:if>
6604
- <xsl:value-of select="normalize-space(title)"/>
6695
+ <xsl:variable name="title">
6696
+ <xsl:for-each select="title/node()">
6697
+ <xsl:choose>
6698
+ <xsl:when test="local-name() = 'add' and starts-with(., $ace_tag)"><!-- skip --></xsl:when>
6699
+ <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
6700
+ </xsl:choose>
6701
+ </xsl:for-each>
6702
+ </xsl:variable>
6703
+ <xsl:value-of select="normalize-space($title)"/>
6605
6704
  </fo:bookmark-title>
6606
6705
  <xsl:apply-templates mode="bookmark"/>
6607
6706
  </fo:bookmark>
@@ -6627,6 +6726,12 @@
6627
6726
  <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/>
6628
6727
  <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/>
6629
6728
 
6729
+ <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note'][@type = 'units'] | *[local-name() = 'image']/*[local-name() = 'note'][@type = 'units']" priority="2">
6730
+ <fo:block text-align="right" keep-with-next="always">
6731
+ <xsl:apply-templates/>
6732
+ </fo:block>
6733
+ </xsl:template>
6734
+
6630
6735
  <!-- ====== -->
6631
6736
  <!-- ====== -->
6632
6737
  <xsl:template match="*[local-name() = 'title']" mode="contents_item">
@@ -6776,6 +6881,10 @@
6776
6881
  </xsl:for-each>
6777
6882
  </xsl:template>
6778
6883
 
6884
+ <xsl:template match="*[local-name() = 'add'][starts-with(., $ace_tag)]/text()" mode="contents_item" priority="2">
6885
+ <xsl:value-of select="."/>
6886
+ </xsl:template>
6887
+
6779
6888
  <!-- Note: to enable the addition of character span markup with semantic styling for DIS Word output -->
6780
6889
  <xsl:template match="*[local-name() = 'span']" mode="contents_item">
6781
6890
  <xsl:apply-templates mode="contents_item"/>
@@ -6785,7 +6894,7 @@
6785
6894
  <!-- sourcecode -->
6786
6895
  <!-- =============== -->
6787
6896
 
6788
- <xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'source-highlighter-css']"/>
6897
+ <xsl:variable name="source-highlighter-css_" select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'source-highlighter-css']"/>
6789
6898
  <xsl:variable name="sourcecode_css_" select="java:org.metanorma.fop.Util.parseCSS($source-highlighter-css_)"/>
6790
6899
  <xsl:variable name="sourcecode_css" select="xalan:nodeset($sourcecode_css_)"/>
6791
6900
 
@@ -8853,8 +8962,8 @@
8853
8962
 
8854
8963
  <xsl:variable name="toc_level">
8855
8964
  <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
8856
- <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
8857
- <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
8965
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
8966
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'metanorma-extension']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
8858
8967
  <xsl:choose>
8859
8968
  <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
8860
8969
  <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
@@ -9843,6 +9952,7 @@
9843
9952
  <xsl:choose>
9844
9953
  <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
9845
9954
  <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
9955
+ <xsl:when test="$align = 'justified'">justify</xsl:when>
9846
9956
  <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
9847
9957
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
9848
9958
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
@@ -10,18 +10,9 @@ module IsoDoc
10
10
  Metanorma::M3AAWG.configuration
11
11
  end
12
12
 
13
- def colophon(body, docxml)
13
+ def colophon(_docxml, body)
14
14
  section_break(body)
15
- body.div **{ class: "colophon" } do |div|
16
- end
17
- end
18
-
19
- def make_body(xml, docxml)
20
- body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72" }
21
- xml.body **body_attr do |body|
22
- make_body2(body, docxml)
23
- make_body3(body, docxml)
24
- colophon(body, docxml)
15
+ body.div class: "colophon" do |div|
25
16
  end
26
17
  end
27
18
 
@@ -522,7 +522,6 @@
522
522
  <value>tip</value>
523
523
  <value>important</value>
524
524
  <value>caution</value>
525
- <value>statement</value>
526
525
  </choice>
527
526
  </define>
528
527
  <define name="figure">
@@ -216,6 +216,9 @@
216
216
  <optional>
217
217
  <ref name="fullname"/>
218
218
  </optional>
219
+ <zeroOrMore>
220
+ <ref name="credential"/>
221
+ </zeroOrMore>
219
222
  <zeroOrMore>
220
223
  <ref name="affiliation"/>
221
224
  </zeroOrMore>
@@ -232,6 +235,11 @@
232
235
  <ref name="FullNameType"/>
233
236
  </element>
234
237
  </define>
238
+ <define name="credential">
239
+ <element name="credential">
240
+ <text/>
241
+ </element>
242
+ </define>
235
243
  <define name="FullNameType">
236
244
  <choice>
237
245
  <group>
@@ -305,7 +313,9 @@
305
313
  <zeroOrMore>
306
314
  <ref name="affiliationdescription"/>
307
315
  </zeroOrMore>
308
- <ref name="organization"/>
316
+ <optional>
317
+ <ref name="organization"/>
318
+ </optional>
309
319
  </element>
310
320
  </define>
311
321
  <define name="affiliationname">
@@ -1316,7 +1326,7 @@
1316
1326
  <value>commentaryOf</value>
1317
1327
  <value>hasCommentary</value>
1318
1328
  <value>related</value>
1319
- <value>complements</value>
1329
+ <value>hasComplement</value>
1320
1330
  <value>complementOf</value>
1321
1331
  <value>obsoletes</value>
1322
1332
  <value>obsoletedBy</value>
@@ -66,6 +66,7 @@
66
66
  <value>caution</value>
67
67
  <value>statement</value>
68
68
  <value>editorial</value>
69
+ <value>box</value>
69
70
  </choice>
70
71
  </define>
71
72
  <define name="index">
@@ -1577,10 +1578,13 @@
1577
1578
  <zeroOrMore>
1578
1579
  <ref name="indexsect"/>
1579
1580
  </zeroOrMore>
1581
+ <optional>
1582
+ <ref name="colophon"/>
1583
+ </optional>
1580
1584
  </element>
1581
1585
  </define>
1582
1586
  <define name="misccontainer">
1583
- <element name="misc-container">
1587
+ <element name="metanorma-extension">
1584
1588
  <oneOrMore>
1585
1589
  <ref name="AnyElement"/>
1586
1590
  </oneOrMore>
@@ -1599,6 +1603,13 @@
1599
1603
  </oneOrMore>
1600
1604
  </element>
1601
1605
  </define>
1606
+ <define name="colophon">
1607
+ <element name="colophon">
1608
+ <oneOrMore>
1609
+ <ref name="content"/>
1610
+ </oneOrMore>
1611
+ </element>
1612
+ </define>
1602
1613
  <define name="foreword">
1603
1614
  <element name="foreword">
1604
1615
  <ref name="Content-Section"/>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module M3AAWG
3
- VERSION = "2.2.2".freeze
3
+ VERSION = "2.2.4".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-m3aawg
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 2.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-30 00:00:00.000000000 Z
11
+ date: 2023-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities