metanorma-iec 2.8.9 → 2.8.10

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: ac19342ac00ffd2864809a234ebe386440f6e3c8ed183d9adba35377d5285f37
4
- data.tar.gz: 645567607413485c04a70c83cda7ac93f2450b2a42d856994e5d72f5c379f231
3
+ metadata.gz: dde5546faaaac61a175265f3912b32e899f302c8c791e49c55690c0014c2d646
4
+ data.tar.gz: 1d614cc13478675748fda9ec61e50177142f6d6170273bd7c93b9cb14a5dd692
5
5
  SHA512:
6
- metadata.gz: 796f8b1d9c80314e4bf1a28223d6fca4435d418c29b13ceb5343dbab15e44fb678efadb25c5a59ee8ca05d3d44b9250c68b20b5f6267ba1164dff67459e321b2
7
- data.tar.gz: 5ac701fa60ad88317901f25b108af1bddd63d5648e96b4364713268676ace86e71d7344fc15aa09529d01e96a974be85834fa5e5bb068c41f219a05b6f654d18
6
+ metadata.gz: 4aa551d1fee1db1e4997db561d06399bda209f724add6caee875f2462e155c677bbbf4c0097ba1e33f9a712c753267665c29d8a4f15566e8188acdf2b097f542
7
+ data.tar.gz: c0ebeb5bfab426f4f874c2420c6a680f7c3229d54f003080bc24285a5801b29f3a94ce61bfe9048e67a28e9604abefcde16e2ba8f07d14b81cfe010ff4a996f0
data/.rubocop.yml CHANGED
@@ -3,8 +3,20 @@
3
3
  inherit_from:
4
4
  - https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml
5
5
 
6
+ # Rubocop plugins enabled centrally so every metanorma-org gem picks them up
7
+ # on cimas sync — best practice belongs at the shared-template layer, not
8
+ # per-repo. Per ronaldtse feedback on metanorma/ci#332.
9
+ plugins:
10
+ - rubocop-rspec
11
+ - rubocop-performance
12
+ - rubocop-rake
13
+
6
14
  # local repo-specific modifications
7
15
  # ...
8
16
 
9
17
  AllCops:
10
- TargetRubyVersion: 3.4
18
+ # 3.3 matches the org-wide minimum being pushed via #274 (Raise minimum
19
+ # Ruby version to 3.3 due to EOL of 3.2 on 2026-03-31). Was 3.4 before
20
+ # this commit — 3.4 was above the org's stated minimum and would have
21
+ # applied Rubocop rules that fail-close on gems still targeting 3.3.
22
+ TargetRubyVersion: 3.3
@@ -7861,6 +7861,12 @@ les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pa
7861
7861
  <style name="{$key}-left"><xsl:value-of select="$value"/></style>
7862
7862
  <style name="{$key}-bottom"><xsl:value-of select="$value"/></style>
7863
7863
  </xsl:if>
7864
+ <xsl:if test="$key = 'page-break-inside' and $value = 'avoid'">
7865
+ <style name="keep-together.within-page">always</style>
7866
+ </xsl:if>
7867
+ <xsl:if test="$key = 'page-break-after' and $value = 'always'">
7868
+ <style name="break-after">page</style>
7869
+ </xsl:if>
7864
7870
  </xsl:for-each>
7865
7871
  </xsl:variable>
7866
7872
  <xsl:variable name="styles" select="xalan:nodeset($styles_)"/>
@@ -7904,6 +7910,11 @@ les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pa
7904
7910
 
7905
7911
  <fo:block role="SKIP">
7906
7912
 
7913
+ <xsl:variable name="styles">
7914
+ <styles><xsl:call-template name="setTableStyles"/></styles>
7915
+ </xsl:variable>
7916
+ <xsl:copy-of select="xalan:nodeset($styles)/styles/@break-after"/>
7917
+
7907
7918
  <xsl:if test="$isGenerateTableIF = 'true'">
7908
7919
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
7909
7920
  </xsl:if>
@@ -10044,11 +10055,27 @@ les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pa
10044
10055
  <!-- ====== -->
10045
10056
  <!-- ====== -->
10046
10057
 
10047
- <xsl:attribute-set name="quote-style">
10058
+ <xsl:attribute-set name="quote-container-style">
10048
10059
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
10049
10060
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
10061
+ <xsl:attribute name="role">SKIP</xsl:attribute>
10062
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
10063
+ </xsl:attribute-set>
10064
+
10065
+ <xsl:template name="refine_quote-container-style">
10066
+ <xsl:if test="parent::mn:note">
10067
+ <xsl:if test="not(ancestor::mn:table)">
10068
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
10069
+ </xsl:if>
10070
+ </xsl:if>
10071
+ </xsl:template>
10072
+
10073
+ <xsl:attribute-set name="quote-style">
10074
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
10075
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
10050
10076
  <xsl:attribute name="margin-top">5pt</xsl:attribute>
10051
10077
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
10078
+
10052
10079
  </xsl:attribute-set> <!-- quote-style -->
10053
10080
 
10054
10081
  <xsl:template name="refine_quote-style">
@@ -10056,9 +10083,10 @@ les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pa
10056
10083
 
10057
10084
  <xsl:attribute-set name="quote-source-style">
10058
10085
  <xsl:attribute name="text-align">right</xsl:attribute>
10086
+ <xsl:attribute name="margin-right">-12mm</xsl:attribute>
10059
10087
  <xsl:attribute name="margin-top">15pt</xsl:attribute>
10060
- <xsl:attribute name="margin-left">12mm</xsl:attribute>
10061
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
10088
+ <xsl:attribute name="margin-left">1mm</xsl:attribute>
10089
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
10062
10090
  </xsl:attribute-set> <!-- quote-source-style -->
10063
10091
 
10064
10092
  <xsl:template name="refine_quote-source-style">
@@ -10081,12 +10109,9 @@ les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pa
10081
10109
 
10082
10110
  <xsl:call-template name="setBlockSpanAll"/>
10083
10111
 
10084
- <xsl:if test="parent::mn:note">
10085
- <xsl:if test="not(ancestor::mn:table)">
10086
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
10087
- </xsl:if>
10088
- </xsl:if>
10089
- <fo:block-container margin-left="0mm" role="SKIP">
10112
+ <fo:block-container xsl:use-attribute-sets="quote-container-style">
10113
+ <xsl:call-template name="refine_quote-container-style"/>
10114
+
10090
10115
  <fo:block-container xsl:use-attribute-sets="quote-style" role="SKIP">
10091
10116
 
10092
10117
  <xsl:call-template name="refine_quote-style"/>
@@ -10098,14 +10123,16 @@ les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pa
10098
10123
  </fo:block-container>
10099
10124
  </fo:block-container>
10100
10125
  <xsl:if test="mn:author or mn:fmt-source or mn:attribution">
10101
- <fo:block xsl:use-attribute-sets="quote-source-style">
10102
- <xsl:call-template name="refine_quote-source-style"/>
10103
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
10104
- <xsl:apply-templates select="mn:author"/>
10105
- <xsl:apply-templates select="mn:fmt-source"/>
10106
- <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
10107
- <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
10108
- </fo:block>
10126
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
10127
+ <fo:block xsl:use-attribute-sets="quote-source-style">
10128
+ <xsl:call-template name="refine_quote-source-style"/>
10129
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
10130
+ <xsl:apply-templates select="mn:author"/>
10131
+ <xsl:apply-templates select="mn:fmt-source"/>
10132
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
10133
+ <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
10134
+ </fo:block>
10135
+ </fo:block-container>
10109
10136
  </xsl:if>
10110
10137
 
10111
10138
  </fo:block-container>
@@ -15288,6 +15315,10 @@ les coordonnées ci-après ou contactez le Comité national de l'IEC de votre pa
15288
15315
  <fo:block break-after="page"/>
15289
15316
  </xsl:template>
15290
15317
 
15318
+ <xsl:template match="mn:pagebreak[ancestor::mn:table]" priority="2">
15319
+ <fo:block break-after="page"/>
15320
+ </xsl:template>
15321
+
15291
15322
  <xsl:variable name="font_main_root_style">
15292
15323
  <root-style xsl:use-attribute-sets="root-style">
15293
15324
  </root-style>
@@ -1902,15 +1902,40 @@ or as the string "auto"</a:documentation>
1902
1902
  <a:documentation>Mathematically formatted text</a:documentation>
1903
1903
  <element name="stem">
1904
1904
  <ref name="StemAttributes"/>
1905
- <oneOrMore>
1906
- <choice>
1905
+ <optional>
1906
+ <text>
1907
1907
  <a:documentation>The content of the mathematically formatted text</a:documentation>
1908
- <text/>
1909
- <ref name="AnyElement"/>
1910
- </choice>
1911
- </oneOrMore>
1908
+ </text>
1909
+ </optional>
1910
+ <optional>
1911
+ <ref name="mathml"/>
1912
+ </optional>
1913
+ <optional>
1914
+ <ref name="asciimath"/>
1915
+ </optional>
1916
+ <optional>
1917
+ <ref name="latexmath"/>
1918
+ </optional>
1912
1919
  </element>
1913
1920
  </define>
1921
+ <define name="latexmath">
1922
+ <a:documentation>Encoding of LatexMath</a:documentation>
1923
+ <element name="latexmath">
1924
+ <text/>
1925
+ </element>
1926
+ </define>
1927
+ <define name="asciimath">
1928
+ <a:documentation>Encoding of AsciiMath</a:documentation>
1929
+ <element name="asciimath">
1930
+ <text/>
1931
+ </element>
1932
+ </define>
1933
+ <define name="mathml">
1934
+ <a:documentation>Encoding of MathML: the official W3C MathML 3.0 grammar (namespace
1935
+ http://www.w3.org/1998/Math/MathML), via the metanorma wrapper in
1936
+ grammars/mathml/. See grammars/mathml/README.adoc and basicdoc-models#35.</a:documentation>
1937
+ <externalRef href="metanorma-mathml.rng"/>
1938
+ </define>
1914
1939
  <define name="StemAttributes">
1915
1940
  <attribute name="type">
1916
1941
  <a:documentation>The notation used to mathematically format the text</a:documentation>
@@ -852,7 +852,7 @@ titlecase, or lowercase</a:documentation>
852
852
  <a:documentation>Width of the figure block in rendering</a:documentation>
853
853
  </attribute>
854
854
  </optional>
855
- <ref name="BlockAttributes"/>
855
+ <ref name="BlockAttributesCore"/>
856
856
  </define>
857
857
  <define name="SourceAttributes" combine="interleave">
858
858
  <ref name="BlockAttributes"/>
@@ -1283,7 +1283,11 @@ That concept may be defined as a term within the current document, or it may be
1283
1283
  <a:documentation>Class of input form</a:documentation>
1284
1284
  </attribute>
1285
1285
  </optional>
1286
- <ref name="BlockAttributes"/>
1286
+ <ref name="BlockAttributesCore">
1287
+ <a:documentation>form declares its own class above, so it uses BlockAttributesCore to
1288
+ avoid duplicating the custom-class slot in BlockAttributes. Treated like
1289
+ figure. See metanorma/metanorma-standoc#1197</a:documentation>
1290
+ </ref>
1287
1291
  <zeroOrMore>
1288
1292
  <!-- Input form contents -->
1289
1293
  <choice>
@@ -2768,7 +2772,11 @@ links within an SVG file, so that the SVG file can hyperlink to anchors within t
2768
2772
  </oneOrMore>
2769
2773
  </element>
2770
2774
  </define>
2771
- <define name="BlockAttributes">
2775
+ <define name="BlockAttributesCore">
2776
+ <a:documentation>Block attributes excluding the custom CSS class. Blocks that already carry
2777
+ their own `class` attribute (e.g. figure, via basicdoc FigureAttributes)
2778
+ include this directly, to avoid a duplicate-attribute collision with the
2779
+ `class` added in BlockAttributes. See metanorma/metanorma-standoc#1197</a:documentation>
2772
2780
  <optional>
2773
2781
  <attribute name="keep-with-next">
2774
2782
  <a:documentation>Keep this block on the same page as the following block in paged media</a:documentation>
@@ -2800,6 +2808,17 @@ to span across both columns</a:documentation>
2800
2808
  </attribute>
2801
2809
  </optional>
2802
2810
  </define>
2811
+ <define name="BlockAttributes">
2812
+ <a:documentation>Universal block attributes, including a custom CSS class (space-separated,
2813
+ appended additively to the block's built-in HTML class, HTML output only).
2814
+ See metanorma/metanorma-standoc#1197</a:documentation>
2815
+ <ref name="BlockAttributesCore"/>
2816
+ <optional>
2817
+ <attribute name="class">
2818
+ <a:documentation>Custom CSS class(es) for the block in HTML output</a:documentation>
2819
+ </attribute>
2820
+ </optional>
2821
+ </define>
2803
2822
  <define name="DisplayDirective">
2804
2823
  <a:documentation>Directive on how to render a block in Presentation XML </a:documentation>
2805
2824
  <optional>
@@ -0,0 +1,257 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
4
+ application for describing mathematical notation and capturing
5
+ both its structure and content.
6
+
7
+ Copyright 1998-2014 W3C (MIT, ERCIM, Keio, Beihang)
8
+
9
+ Use and distribution of this code are permitted under the terms
10
+ W3C Software Notice and License
11
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
12
+ -->
13
+ <grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
14
+ <start>
15
+ <ref name="math"/>
16
+ </start>
17
+ <define name="math">
18
+ <element name="math">
19
+ <ref name="math.attributes"/>
20
+ <zeroOrMore>
21
+ <ref name="MathExpression"/>
22
+ </zeroOrMore>
23
+ </element>
24
+ </define>
25
+ <define name="MathExpression">
26
+ <ref name="semantics"/>
27
+ </define>
28
+ <define name="NonMathMLAtt">
29
+ <attribute>
30
+ <anyName>
31
+ <except>
32
+ <nsName ns=""/>
33
+ <nsName/>
34
+ </except>
35
+ </anyName>
36
+ <data type="string"/>
37
+ </attribute>
38
+ </define>
39
+ <define name="CommonDeprecatedAtt">
40
+ <optional>
41
+ <attribute name="other"/>
42
+ </optional>
43
+ </define>
44
+ <define name="CommonAtt">
45
+ <optional>
46
+ <attribute name="id">
47
+ <data type="ID"/>
48
+ </attribute>
49
+ </optional>
50
+ <optional>
51
+ <attribute name="xref"/>
52
+ </optional>
53
+ <optional>
54
+ <attribute name="class">
55
+ <data type="NMTOKENS"/>
56
+ </attribute>
57
+ </optional>
58
+ <optional>
59
+ <attribute name="style">
60
+ <data type="string"/>
61
+ </attribute>
62
+ </optional>
63
+ <optional>
64
+ <attribute name="href">
65
+ <data type="anyURI"/>
66
+ </attribute>
67
+ </optional>
68
+ <ref name="CommonDeprecatedAtt"/>
69
+ <zeroOrMore>
70
+ <ref name="NonMathMLAtt"/>
71
+ </zeroOrMore>
72
+ </define>
73
+ <define name="math.attributes">
74
+ <ref name="CommonAtt"/>
75
+ <optional>
76
+ <attribute name="display">
77
+ <choice>
78
+ <value>block</value>
79
+ <value>inline</value>
80
+ </choice>
81
+ </attribute>
82
+ </optional>
83
+ <optional>
84
+ <attribute name="maxwidth">
85
+ <ref name="length"/>
86
+ </attribute>
87
+ </optional>
88
+ <optional>
89
+ <attribute name="overflow">
90
+ <choice>
91
+ <value>linebreak</value>
92
+ <value>scroll</value>
93
+ <value>elide</value>
94
+ <value>truncate</value>
95
+ <value>scale</value>
96
+ </choice>
97
+ </attribute>
98
+ </optional>
99
+ <optional>
100
+ <attribute name="altimg">
101
+ <data type="anyURI"/>
102
+ </attribute>
103
+ </optional>
104
+ <optional>
105
+ <attribute name="altimg-width">
106
+ <ref name="length"/>
107
+ </attribute>
108
+ </optional>
109
+ <optional>
110
+ <attribute name="altimg-height">
111
+ <ref name="length"/>
112
+ </attribute>
113
+ </optional>
114
+ <optional>
115
+ <attribute name="altimg-valign">
116
+ <choice>
117
+ <ref name="length"/>
118
+ <value>top</value>
119
+ <value>middle</value>
120
+ <value>bottom</value>
121
+ </choice>
122
+ </attribute>
123
+ </optional>
124
+ <optional>
125
+ <attribute name="alttext"/>
126
+ </optional>
127
+ <optional>
128
+ <attribute name="cdgroup">
129
+ <data type="anyURI"/>
130
+ </attribute>
131
+ </optional>
132
+ <ref name="math.deprecatedattributes"/>
133
+ </define>
134
+ <!--
135
+ the mathml3-presentation schema adds additional attributes
136
+ to the math element, all those valid on mstyle
137
+ -->
138
+ <define name="math.deprecatedattributes">
139
+ <optional>
140
+ <attribute name="mode">
141
+ <data type="string"/>
142
+ </attribute>
143
+ </optional>
144
+ <optional>
145
+ <attribute name="macros">
146
+ <data type="string"/>
147
+ </attribute>
148
+ </optional>
149
+ </define>
150
+ <define name="name">
151
+ <attribute name="name">
152
+ <data type="NCName"/>
153
+ </attribute>
154
+ </define>
155
+ <define name="cd">
156
+ <attribute name="cd">
157
+ <data type="NCName"/>
158
+ </attribute>
159
+ </define>
160
+ <define name="src">
161
+ <optional>
162
+ <attribute name="src">
163
+ <data type="anyURI"/>
164
+ </attribute>
165
+ </optional>
166
+ </define>
167
+ <define name="annotation">
168
+ <element name="annotation">
169
+ <ref name="annotation.attributes"/>
170
+ <text/>
171
+ </element>
172
+ </define>
173
+ <define name="annotation-xml.model">
174
+ <zeroOrMore>
175
+ <choice>
176
+ <ref name="MathExpression"/>
177
+ <ref name="anyElement"/>
178
+ </choice>
179
+ </zeroOrMore>
180
+ </define>
181
+ <define name="anyElement">
182
+ <element>
183
+ <anyName>
184
+ <except>
185
+ <nsName/>
186
+ </except>
187
+ </anyName>
188
+ <zeroOrMore>
189
+ <choice>
190
+ <attribute>
191
+ <anyName/>
192
+ </attribute>
193
+ <text/>
194
+ <ref name="anyElement"/>
195
+ </choice>
196
+ </zeroOrMore>
197
+ </element>
198
+ </define>
199
+ <define name="annotation-xml">
200
+ <element name="annotation-xml">
201
+ <ref name="annotation.attributes"/>
202
+ <ref name="annotation-xml.model"/>
203
+ </element>
204
+ </define>
205
+ <define name="annotation.attributes">
206
+ <ref name="CommonAtt"/>
207
+ <optional>
208
+ <ref name="cd"/>
209
+ </optional>
210
+ <optional>
211
+ <ref name="name"/>
212
+ </optional>
213
+ <ref name="DefEncAtt"/>
214
+ <optional>
215
+ <ref name="src"/>
216
+ </optional>
217
+ </define>
218
+ <define name="DefEncAtt">
219
+ <optional>
220
+ <attribute name="encoding">
221
+ <data type="string"/>
222
+ </attribute>
223
+ </optional>
224
+ <optional>
225
+ <attribute name="definitionURL">
226
+ <data type="anyURI"/>
227
+ </attribute>
228
+ </optional>
229
+ </define>
230
+ <define name="semantics">
231
+ <element name="semantics">
232
+ <ref name="semantics.attributes"/>
233
+ <ref name="MathExpression"/>
234
+ <zeroOrMore>
235
+ <choice>
236
+ <ref name="annotation"/>
237
+ <ref name="annotation-xml"/>
238
+ </choice>
239
+ </zeroOrMore>
240
+ </element>
241
+ </define>
242
+ <define name="semantics.attributes">
243
+ <ref name="CommonAtt"/>
244
+ <ref name="DefEncAtt"/>
245
+ <optional>
246
+ <ref name="cd"/>
247
+ </optional>
248
+ <optional>
249
+ <ref name="name"/>
250
+ </optional>
251
+ </define>
252
+ <define name="length">
253
+ <data type="string">
254
+ <param name="pattern">\s*((-?[0-9]*([0-9]\.?|\.[0-9])[0-9]*(e[mx]|in|cm|mm|p[xtc]|%)?)|(negative)?((very){0,2}thi(n|ck)|medium)mathspace)\s*</param>
255
+ </data>
256
+ </define>
257
+ </grammar>