metanorma-ribose 2.5.2 → 2.5.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: edac65eda4eb9b0bbe575ac4770019b2f4e65fd77c626b97caa74af6a6187d78
4
- data.tar.gz: f3589092a64694540b3160ab7c66b8342beb3bf1279bff17927126a904dae8bc
3
+ metadata.gz: 0e2a208e23afd90c2aa649421d15bd39117706eca766ef491431b52f5ea176d6
4
+ data.tar.gz: 9b22ff4c6861fee21e9aac9182f6c064441bd0af71076c4e901b9d6dfcda62f5
5
5
  SHA512:
6
- metadata.gz: 9532a580feb0eafd71645919b0faf9d9e8aafdb071f112b1ac342e610362241f2cd87fbf87058782e44eaafd804393e20cda801953788f266eb05fe05b9aaa96
7
- data.tar.gz: 21f16a4cf1ac78a424add2d0736cba58f12cf6f02c09f0a9fa9cdc0e3d56714be44902519139282f596e97be8e4dc98160328c2478a33f1811a40fc8a629320c
6
+ metadata.gz: aa20ac0be3b2af9dfef258d583b4d54ea9ffb783cd73fac4621629dd374589d2378cc9a59f5b94559bbf9eb47223bdbe39ec59132bc8a2ab548304208ab127ca
7
+ data.tar.gz: 102e0dbfea1d9b793693cefcb816defe54bca03fd60ff0e0717b9d842f184aaad551c7645b9b5b317b65a4956bb72c4991958f54a6b0a55fbe0d630f4dad9171
@@ -82,6 +82,9 @@ p kbd, dt kbd, li kbd, label kbd, legend kbd, caption kbd, th kbd, td kbd,
82
82
  p samp, dt samp, li samp, label samp, legend samp, caption samp, th samp, td samp {
83
83
  font-size: {{monospacefontsize}}; }
84
84
 
85
+ sub, sup {
86
+ font-size: 0.75em; }
87
+
85
88
  article, aside, details, figcaption, figure,
86
89
  footer, header, hgroup, menu, nav, section {
87
90
  display: block; }
@@ -4598,6 +4598,7 @@
4598
4598
 
4599
4599
  <fo:block role="SKIP">
4600
4600
  <xsl:apply-templates/>
4601
+ <xsl:if test="$isGenerateTableIF = 'false' and count(node()) = 0"> </xsl:if>
4601
4602
  </fo:block>
4602
4603
  </fo:table-cell>
4603
4604
  </xsl:template> <!-- cell in table header row - 'th' -->
@@ -4661,6 +4662,8 @@
4661
4662
 
4662
4663
  <xsl:if test="$isGenerateTableIF = 'true'"> <fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
4663
4664
 
4665
+ <xsl:if test="$isGenerateTableIF = 'false' and count(node()) = 0"> </xsl:if>
4666
+
4664
4667
  </fo:block>
4665
4668
  </fo:table-cell>
4666
4669
  </xsl:template> <!-- td -->
@@ -4732,7 +4735,8 @@
4732
4735
  </xsl:choose>
4733
4736
  </xsl:variable>
4734
4737
  <xsl:variable name="current_fn_number_text">
4735
- <xsl:value-of select="$current_fn_number"/>
4738
+
4739
+ <xsl:value-of select="$current_fn_number"/>
4736
4740
 
4737
4741
  </xsl:variable>
4738
4742
 
@@ -4768,8 +4772,10 @@
4768
4772
 
4769
4773
  <xsl:call-template name="insert_basic_link">
4770
4774
  <xsl:with-param name="element">
4771
- <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl">
4772
- <xsl:copy-of select="$current_fn_number_text"/>
4775
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}"> <!-- note: role="Lbl" removed in https://github.com/metanorma/mn2pdf/issues/291 -->
4776
+ <fo:inline role="Lbl"> <!-- need for https://github.com/metanorma/metanorma-iso/issues/1003 -->
4777
+ <xsl:copy-of select="$current_fn_number_text"/>
4778
+ </fo:inline>
4773
4779
  </fo:basic-link>
4774
4780
  </xsl:with-param>
4775
4781
  </xsl:call-template>
@@ -5050,7 +5056,7 @@
5050
5056
 
5051
5057
  <xsl:call-template name="refine_fn-reference-style"/>
5052
5058
 
5053
- <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
5059
+ <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
5054
5060
  <xsl:if test="ancestor::*[local-name()='table'][1]/@id"> <!-- for footnotes in tables -->
5055
5061
  <xsl:attribute name="internal-destination">
5056
5062
  <xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
@@ -6061,9 +6067,19 @@
6061
6067
  </fo:inline>
6062
6068
  </xsl:template>
6063
6069
 
6064
- <xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
6070
+ <xsl:template match="text()[ancestor::*[local-name()='smallcap']]" name="smallcaps">
6071
+ <xsl:param name="txt"/>
6065
6072
  <!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
6066
- <xsl:variable name="text" select="."/>
6073
+ <xsl:variable name="text">
6074
+ <xsl:choose>
6075
+ <xsl:when test="$txt != ''">
6076
+ <xsl:value-of select="$txt"/>
6077
+ </xsl:when>
6078
+ <xsl:otherwise>
6079
+ <xsl:value-of select="."/>
6080
+ </xsl:otherwise>
6081
+ </xsl:choose>
6082
+ </xsl:variable>
6067
6083
  <xsl:variable name="ratio_">
6068
6084
  0.75
6069
6085
  </xsl:variable>
@@ -7457,14 +7473,16 @@
7457
7473
  <xsl:template match="*[local-name()='link']" name="link">
7458
7474
  <xsl:variable name="target_normalized" select="translate(@target, '\', '/')"/>
7459
7475
  <xsl:variable name="target_attachment_name" select="substring-after($target_normalized, '_attachments/')"/>
7476
+ <xsl:variable name="isLinkToEmbeddedFile" select="normalize-space(@attachment = 'true' and $pdfAttachmentsList//attachment[@filename = current()/@target])"/>
7460
7477
  <xsl:variable name="target">
7461
7478
  <xsl:choose>
7462
7479
  <xsl:when test="@updatetype = 'true'">
7463
7480
  <xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
7464
7481
  </xsl:when>
7465
7482
  <!-- link to the PDF attachment -->
7466
- <xsl:when test="@attachment = 'true' and $pdfAttachmentsList//attachment[@filename = current()/@target]">
7467
- <xsl:value-of select="concat('url(embedded-file:', @target, ')')"/>
7483
+ <xsl:when test="$isLinkToEmbeddedFile = 'true'">
7484
+ <xsl:variable name="target_file" select="java:org.metanorma.fop.Util.getFilenameFromPath(@target)"/>
7485
+ <xsl:value-of select="concat('url(embedded-file:', $target_file, ')')"/>
7468
7486
  </xsl:when>
7469
7487
  <!-- <xsl:when test="starts-with($target_normalized, '_') and contains($target_normalized, '_attachments/') and $pdfAttachmentsList//attachment[@filename = $target_attachment_name]">
7470
7488
  <xsl:value-of select="concat('url(embedded-file:', $target_attachment_name, ')')"/>
@@ -7495,6 +7513,11 @@
7495
7513
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
7496
7514
  </xsl:if>
7497
7515
 
7516
+ <xsl:if test="$isLinkToEmbeddedFile = 'true'">
7517
+ <xsl:attribute name="color">inherit</xsl:attribute>
7518
+ <xsl:attribute name="text-decoration">none</xsl:attribute>
7519
+ </xsl:if>
7520
+
7498
7521
  <xsl:call-template name="refine_link-style"/>
7499
7522
 
7500
7523
  <xsl:choose>
@@ -7502,9 +7525,15 @@
7502
7525
  <xsl:apply-templates/>
7503
7526
  </xsl:when>
7504
7527
  <xsl:otherwise>
7528
+ <xsl:variable name="alt_text">
7529
+ <xsl:call-template name="getAltText"/>
7530
+ </xsl:variable>
7505
7531
  <xsl:call-template name="insert_basic_link">
7506
7532
  <xsl:with-param name="element">
7507
- <fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
7533
+ <fo:basic-link external-destination="{$target}" fox:alt-text="{$alt_text}">
7534
+ <xsl:if test="$isLinkToEmbeddedFile = 'true'">
7535
+ <xsl:attribute name="role">Annot</xsl:attribute>
7536
+ </xsl:if>
7508
7537
  <xsl:choose>
7509
7538
  <xsl:when test="normalize-space(.) = ''">
7510
7539
  <xsl:call-template name="add-zero-spaces-link-java">
@@ -7517,6 +7546,10 @@
7517
7546
  </xsl:otherwise>
7518
7547
  </xsl:choose>
7519
7548
  </fo:basic-link>
7549
+ <xsl:if test="$isLinkToEmbeddedFile = 'true'">
7550
+ <!-- reserve space at right for PaperClip icon -->
7551
+ <fo:inline keep-with-previous.within-line="always">        </fo:inline>
7552
+ </xsl:if>
7520
7553
  </xsl:with-param>
7521
7554
  </xsl:call-template>
7522
7555
  </xsl:otherwise>
@@ -7524,6 +7557,14 @@
7524
7557
  </fo:inline>
7525
7558
  </xsl:template> <!-- link -->
7526
7559
 
7560
+ <xsl:template name="getAltText">
7561
+ <xsl:choose>
7562
+ <xsl:when test="normalize-space(.) = ''"><xsl:value-of select="@target"/></xsl:when>
7563
+ <xsl:otherwise><xsl:value-of select="normalize-space(translate(normalize-space(), ' —', ' -'))"/></xsl:otherwise>
7564
+ <!-- <xsl:otherwise><xsl:value-of select="@target"/></xsl:otherwise> -->
7565
+ </xsl:choose>
7566
+ </xsl:template>
7567
+
7527
7568
  <!-- ======================== -->
7528
7569
  <!-- Appendix processing -->
7529
7570
  <!-- ======================== -->
@@ -7554,7 +7595,7 @@
7554
7595
  <xsl:template match="*[local-name() = 'callout']">
7555
7596
  <xsl:choose>
7556
7597
  <xsl:when test="normalize-space(@target) = ''">&lt;<xsl:apply-templates/>&gt;</xsl:when>
7557
- <xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link></xsl:otherwise>
7598
+ <xsl:otherwise><fo:basic-link internal-destination="{@target}" fox:alt-text="{normalize-space()}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link></xsl:otherwise>
7558
7599
  </xsl:choose>
7559
7600
  </xsl:template>
7560
7601
 
@@ -7583,7 +7624,10 @@
7583
7624
  <xsl:template match="*[local-name() = 'xref']">
7584
7625
  <xsl:call-template name="insert_basic_link">
7585
7626
  <xsl:with-param name="element">
7586
- <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
7627
+ <xsl:variable name="alt_text">
7628
+ <xsl:call-template name="getAltText"/>
7629
+ </xsl:variable>
7630
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="{$alt_text}" xsl:use-attribute-sets="xref-style">
7587
7631
  <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
7588
7632
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
7589
7633
  </xsl:if>
@@ -10071,12 +10115,14 @@
10071
10115
 
10072
10116
  <xsl:when test="contains(normalize-space($fo_element), 'list')">
10073
10117
 
10074
- <xsl:variable name="provisional_distance_between_starts">
10118
+ <xsl:variable name="provisional_distance_between_starts_">
10075
10119
  7
10076
10120
  </xsl:variable>
10077
- <xsl:variable name="indent">
10121
+ <xsl:variable name="provisional_distance_between_starts" select="normalize-space($provisional_distance_between_starts_)"/>
10122
+ <xsl:variable name="indent_">
10078
10123
  0
10079
10124
  </xsl:variable>
10125
+ <xsl:variable name="indent" select="normalize-space($indent_)"/>
10080
10126
 
10081
10127
  <fo:list-block provisional-distance-between-starts="{$provisional_distance_between_starts}mm">
10082
10128
  <fo:list-item>
@@ -10802,14 +10848,17 @@
10802
10848
  </xsl:when>
10803
10849
  <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
10804
10850
 
10805
- <xsl:variable name="label">
10851
+ <xsl:variable name="type" select="../@type"/>
10806
10852
 
10807
- <xsl:variable name="type" select="../@type"/>
10853
+ <xsl:variable name="label">
10808
10854
 
10809
10855
  <xsl:variable name="style_prefix_">
10810
10856
  <xsl:if test="$type = 'roman'">
10811
10857
  <!-- Example: (i) -->
10812
10858
  </xsl:if>
10859
+ <xsl:if test="$type = 'alphabet'">
10860
+
10861
+ </xsl:if>
10813
10862
  </xsl:variable>
10814
10863
  <xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
10815
10864
 
@@ -10835,13 +10884,15 @@
10835
10884
  <xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
10836
10885
  <xsl:value-of select="$style_prefix"/>
10837
10886
  </xsl:if>
10887
+
10838
10888
  <xsl:value-of select="@label"/>
10889
+
10839
10890
  <xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
10840
10891
  <xsl:value-of select="$style_suffix"/>
10841
10892
  </xsl:if>
10842
10893
  </xsl:variable>
10843
10894
 
10844
- <xsl:value-of select="normalize-space($label)"/>
10895
+ <xsl:value-of select="normalize-space($label)"/>
10845
10896
 
10846
10897
  </xsl:when>
10847
10898
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
@@ -13030,9 +13081,15 @@
13030
13081
  </x:xmpmeta>
13031
13082
  <!-- add attachments -->
13032
13083
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment']">
13033
- <xsl:variable name="description" select="normalize-space(//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment'] = current()/@name]/*[local-name() = 'formattedref'])"/>
13034
-
13035
- <pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" filename="{@name}">
13084
+ <xsl:variable name="bibitem_attachment_" select="//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment'] = current()/@name]"/>
13085
+ <xsl:variable name="bibitem_attachment" select="xalan:nodeset($bibitem_attachment_)"/>
13086
+ <xsl:variable name="description" select="normalize-space($bibitem_attachment/*[local-name() = 'formattedref'])"/>
13087
+ <xsl:variable name="filename" select="java:org.metanorma.fop.Util.getFilenameFromPath(@name)"/>
13088
+ <!-- Todo: need update -->
13089
+ <xsl:variable name="afrelationship" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
13090
+ <xsl:variable name="volatile" select="normalize-space($bibitem_attachment//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
13091
+
13092
+ <pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" filename="{$filename}" link-as-file-annotation="true">
13036
13093
  <xsl:attribute name="src">
13037
13094
  <xsl:choose>
13038
13095
  <xsl:when test="normalize-space() != ''">
@@ -13048,18 +13105,34 @@
13048
13105
  <xsl:if test="$description != ''">
13049
13106
  <xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
13050
13107
  </xsl:if>
13108
+ <xsl:if test="$afrelationship != ''">
13109
+ <xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
13110
+ </xsl:if>
13111
+ <xsl:if test="$volatile != ''">
13112
+ <xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
13113
+ </xsl:if>
13051
13114
  </pdf:embedded-file>
13052
13115
  </xsl:for-each>
13053
13116
  <!-- references to external attachments (no binary-encoded within the Metanorma XML file) -->
13054
13117
  <xsl:if test="not(//*[contains(local-name(), '-standard')]/*[local-name() = 'metanorma-extension']/*[local-name() = 'attachment'])">
13055
13118
  <xsl:for-each select="//*[local-name() = 'bibitem'][@hidden = 'true'][*[local-name() = 'uri'][@type = 'attachment']]">
13056
13119
  <xsl:variable name="attachment_path" select="*[local-name() = 'uri'][@type = 'attachment']"/>
13120
+ <xsl:variable name="attachment_name" select="java:org.metanorma.fop.Util.getFilenameFromPath($attachment_path)"/>
13057
13121
  <xsl:variable name="url" select="concat('url(file:///',$basepath, $attachment_path, ')')"/>
13058
13122
  <xsl:variable name="description" select="normalize-space(*[local-name() = 'formattedref'])"/>
13059
- <pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{$url}" filename="{$attachment_path}">
13123
+ <!-- Todo: need update -->
13124
+ <xsl:variable name="afrelationship" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-AFRelationship'])"/>
13125
+ <xsl:variable name="volatile" select="normalize-space(.//*[local-name() = 'classification'][@type = 'pdf-volatile'])"/>
13126
+ <pdf:embedded-file xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" src="{$url}" filename="{$attachment_name}" link-as-file-annotation="true">
13060
13127
  <xsl:if test="$description != ''">
13061
13128
  <xsl:attribute name="description"><xsl:value-of select="$description"/></xsl:attribute>
13062
13129
  </xsl:if>
13130
+ <xsl:if test="$afrelationship != ''">
13131
+ <xsl:attribute name="afrelationship"><xsl:value-of select="$afrelationship"/></xsl:attribute>
13132
+ </xsl:if>
13133
+ <xsl:if test="$volatile != ''">
13134
+ <xsl:attribute name="volatile"><xsl:value-of select="$volatile"/></xsl:attribute>
13135
+ </xsl:if>
13063
13136
  </pdf:embedded-file>
13064
13137
  </xsl:for-each>
13065
13138
  </xsl:if>
@@ -13079,6 +13152,12 @@
13079
13152
  <!-- Get or calculate depth of the element -->
13080
13153
  <xsl:template name="getLevel">
13081
13154
  <xsl:param name="depth"/>
13155
+ <!-- <xsl:message>
13156
+ <xsl:choose>
13157
+ <xsl:when test="local-name() = 'title'">title=<xsl:value-of select="."/></xsl:when>
13158
+ <xsl:when test="local-name() = 'clause'">clause/title=<xsl:value-of select="*[local-name() = 'title']"/></xsl:when>
13159
+ </xsl:choose>
13160
+ </xsl:message> -->
13082
13161
  <xsl:choose>
13083
13162
  <xsl:when test="normalize-space(@depth) != ''">
13084
13163
  <xsl:value-of select="@depth"/>
@@ -13099,8 +13178,48 @@
13099
13178
  <xsl:when test="ancestor::*[local-name() = 'preface']">
13100
13179
  <xsl:value-of select="$level_total - 2"/>
13101
13180
  </xsl:when>
13181
+ <xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'title']">
13182
+ <!-- determine 'depth' depends on upper clause with title/@depth -->
13183
+ <!-- <xsl:message>title=<xsl:value-of select="."/></xsl:message> -->
13184
+ <xsl:variable name="clause_with_depth_depth" select="ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/*[local-name() = 'title']/@depth"/>
13185
+ <!-- <xsl:message>clause_with_depth_depth=<xsl:value-of select="$clause_with_depth_depth"/></xsl:message> -->
13186
+ <xsl:variable name="clause_with_depth_level" select="count(ancestor::*[local-name() = 'clause'][*[local-name() = 'title']/@depth][1]/ancestor::*)"/>
13187
+ <!-- <xsl:message>clause_with_depth_level=<xsl:value-of select="$clause_with_depth_level"/></xsl:message> -->
13188
+ <xsl:variable name="curr_level" select="count(ancestor::*) - 1"/>
13189
+ <!-- <xsl:message>curr_level=<xsl:value-of select="$curr_level"/></xsl:message> -->
13190
+ <!-- <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/> -->
13191
+ <xsl:variable name="curr_clause_depth" select="number($clause_with_depth_depth) + (number($curr_level) - number($clause_with_depth_level)) "/>
13192
+ <!-- <xsl:message>curr_clause_depth=<xsl:value-of select="$curr_clause_depth"/></xsl:message> -->
13193
+ <xsl:choose>
13194
+ <xsl:when test="string(number($curr_clause_depth)) != 'NaN'">
13195
+ <xsl:value-of select="number($curr_clause_depth)"/>
13196
+ </xsl:when>
13197
+ <xsl:otherwise>
13198
+ <xsl:value-of select="$level_total - 2"/>
13199
+ </xsl:otherwise>
13200
+ </xsl:choose>
13201
+ </xsl:when>
13202
+ <xsl:when test="ancestor::*[local-name() = 'sections'] and self::*[local-name() = 'name'] and parent::*[local-name() = 'term']">
13203
+ <xsl:variable name="upper_terms_depth" select="normalize-space(ancestor::*[local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
13204
+ <xsl:choose>
13205
+ <xsl:when test="string(number($upper_terms_depth)) != 'NaN'">
13206
+ <xsl:value-of select="number($upper_terms_depth + 1)"/>
13207
+ </xsl:when>
13208
+ <xsl:otherwise>
13209
+ <xsl:value-of select="$level_total - 2"/>
13210
+ </xsl:otherwise>
13211
+ </xsl:choose>
13212
+ </xsl:when>
13102
13213
  <xsl:when test="ancestor::*[local-name() = 'sections']">
13103
- <xsl:value-of select="$level_total - 1"/>
13214
+ <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause' or local-name() = 'terms'][1]/*[local-name() = 'title']/@depth)"/>
13215
+ <xsl:choose>
13216
+ <xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
13217
+ <xsl:value-of select="number($upper_clause_depth + 1)"/>
13218
+ </xsl:when>
13219
+ <xsl:otherwise>
13220
+ <xsl:value-of select="$level_total - 1"/>
13221
+ </xsl:otherwise>
13222
+ </xsl:choose>
13104
13223
  </xsl:when>
13105
13224
  <xsl:when test="ancestor::*[local-name() = 'bibliography']">
13106
13225
  <xsl:value-of select="$level_total - 1"/>
@@ -13108,6 +13227,17 @@
13108
13227
  <xsl:when test="parent::*[local-name() = 'annex']">
13109
13228
  <xsl:value-of select="$level_total - 1"/>
13110
13229
  </xsl:when>
13230
+ <xsl:when test="ancestor::*[local-name() = 'annex'] and self::*[local-name() = 'title']">
13231
+ <xsl:variable name="upper_clause_depth" select="normalize-space(ancestor::*[local-name() = 'clause'][2]/*[local-name() = 'title']/@depth)"/>
13232
+ <xsl:choose>
13233
+ <xsl:when test="string(number($upper_clause_depth)) != 'NaN'">
13234
+ <xsl:value-of select="number($upper_clause_depth + 1)"/>
13235
+ </xsl:when>
13236
+ <xsl:otherwise>
13237
+ <xsl:value-of select="$level_total - 1"/>
13238
+ </xsl:otherwise>
13239
+ </xsl:choose>
13240
+ </xsl:when>
13111
13241
  <xsl:when test="ancestor::*[local-name() = 'annex']">
13112
13242
  <xsl:value-of select="$level_total"/>
13113
13243
  </xsl:when>
@@ -13466,6 +13596,20 @@
13466
13596
 
13467
13597
  <!-- END: insert cover page image -->
13468
13598
 
13599
+ <xsl:template name="insertVerticalChar">
13600
+ <xsl:param name="str"/>
13601
+ <xsl:if test="string-length($str) &gt; 0">
13602
+ <fo:inline-container writing-mode="lr-tb" text-align="center" alignment-baseline="central" reference-orientation="90" width="1em" margin="0" padding="0" text-indent="0mm" last-line-end-indent="0mm" start-indent="0mm" end-indent="0mm">
13603
+ <fo:block-container width="1em">
13604
+ <fo:block line-height="1em"><xsl:value-of select="substring($str,1,1)"/></fo:block>
13605
+ </fo:block-container>
13606
+ </fo:inline-container>
13607
+ <xsl:call-template name="insertVerticalChar">
13608
+ <xsl:with-param name="str" select="substring($str, 2)"/>
13609
+ </xsl:call-template>
13610
+ </xsl:if>
13611
+ </xsl:template>
13612
+
13469
13613
  <xsl:template name="number-to-words">
13470
13614
  <xsl:param name="number"/>
13471
13615
  <xsl:param name="first"/>
@@ -13753,4 +13897,18 @@
13753
13897
  </xsl:if>
13754
13898
  </xsl:template>
13755
13899
 
13900
+ <xsl:template match="@*|node()" mode="set_table_role_skip">
13901
+ <xsl:copy>
13902
+ <xsl:apply-templates select="@*|node()" mode="set_table_role_skip"/>
13903
+ </xsl:copy>
13904
+ </xsl:template>
13905
+
13906
+ <xsl:template match="*[starts-with(local-name(), 'table')]" mode="set_table_role_skip">
13907
+ <xsl:copy>
13908
+ <xsl:apply-templates select="@*" mode="set_table_role_skip"/>
13909
+ <xsl:attribute name="role">SKIP</xsl:attribute>
13910
+ <xsl:apply-templates select="node()" mode="set_table_role_skip"/>
13911
+ </xsl:copy>
13912
+ </xsl:template>
13913
+
13756
13914
  </xsl:stylesheet>
@@ -72,6 +72,9 @@ standards defining organization, and that is rendered in a distinct manner</a:do
72
72
  from other documents in the same doctype</a:documentation>
73
73
  </ref>
74
74
  </optional>
75
+ <ref name="flavor">
76
+ <a:documentation>Flavour of Metanorma used to process this document</a:documentation>
77
+ </ref>
75
78
  <optional>
76
79
  <ref name="editorialgroup">
77
80
  <a:documentation>Groups associated with the production of the standards document, typically within
@@ -113,6 +116,16 @@ a standards definition organization</a:documentation>
113
116
  <define name="DocumentSubtype">
114
117
  <text/>
115
118
  </define>
119
+ <define name="flavor">
120
+ <element name="flavor">
121
+ <ref name="MetanormaFlavor"/>
122
+ </element>
123
+ </define>
124
+ <define name="MetanormaFlavor">
125
+ <a:documentation>This is in fact an enum, as of this writing: standoc iso generic ietf ieee itu nist ogc csa cc iho ribose jis iec bsi bipm plateau.
126
+ However we prefer not to hardcode it, given ongoing extension.</a:documentation>
127
+ <text/>
128
+ </define>
116
129
  <define name="editorialgroup">
117
130
  <a:documentation>A group associated with the production of the standards document, typically within
118
131
  a standards definition organization</a:documentation>
@@ -1382,18 +1382,7 @@ Applies whether the resource has already been created or not, and whether it is
1382
1382
  <define name="bdate">
1383
1383
  <a:documentation>Significant date in the lifecycle of the bibliographic item, including its production and its access</a:documentation>
1384
1384
  <element name="date">
1385
- <attribute name="type">
1386
- <a:documentation>The phase of the production of or access to a bibliographic item</a:documentation>
1387
- <choice>
1388
- <ref name="BibliographicDateType"/>
1389
- <text/>
1390
- </choice>
1391
- </attribute>
1392
- <optional>
1393
- <attribute name="text">
1394
- <a:documentation>An optional textual description of the date, especially when a Gregorian date is not applicable</a:documentation>
1395
- </attribute>
1396
- </optional>
1385
+ <ref name="bDateAttributes"/>
1397
1386
  <optional>
1398
1387
  <choice>
1399
1388
  <group>
@@ -1416,6 +1405,20 @@ Applies whether the resource has already been created or not, and whether it is
1416
1405
  </optional>
1417
1406
  </element>
1418
1407
  </define>
1408
+ <define name="bDateAttributes">
1409
+ <attribute name="type">
1410
+ <a:documentation>The phase of the production of or access to a bibliographic item</a:documentation>
1411
+ <choice>
1412
+ <ref name="BibliographicDateType"/>
1413
+ <text/>
1414
+ </choice>
1415
+ </attribute>
1416
+ <optional>
1417
+ <attribute name="text">
1418
+ <a:documentation>An optional textual description of the date, especially when a Gregorian date is not applicable</a:documentation>
1419
+ </attribute>
1420
+ </optional>
1421
+ </define>
1419
1422
  <define name="docidentifier">
1420
1423
  <a:documentation>An identifier of a bibliographic item in an international standard scheme</a:documentation>
1421
1424
  <element name="docidentifier">
@@ -1884,6 +1887,10 @@ Detailed in https://www.relaton.org/model/relations/</a:documentation>
1884
1887
  <value>hasAnnotation</value>
1885
1888
  <value>draftOf</value>
1886
1889
  <value>hasDraft</value>
1890
+ <value>preliminaryDraftOf</value>
1891
+ <value>hasPreliminaryDraft</value>
1892
+ <value>revisionDraftOf</value>
1893
+ <value>hasRevisionDraft</value>
1887
1894
  <value>editionOf</value>
1888
1895
  <value>hasEdition</value>
1889
1896
  <value>updates</value>
@@ -30,6 +30,7 @@
30
30
  <optional>
31
31
  <ref name="docsubtype"/>
32
32
  </optional>
33
+ <ref name="flavor"/>
33
34
  <ref name="editorialgroup"/>
34
35
  <zeroOrMore>
35
36
  <ref name="ics"/>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Ribose
3
- VERSION = "2.5.2".freeze
3
+ VERSION = "2.5.4".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-ribose
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.2
4
+ version: 2.5.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: 2024-09-16 00:00:00.000000000 Z
11
+ date: 2024-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic