metanorma-ieee 0.1.0 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -62,7 +62,7 @@ module IsoDoc
62
62
  linkend = linkend.sub(/^Clause /, "")
63
63
  container = @xrefs.anchor(node["target"], :container, false)
64
64
  prefix_container?(container, node) and
65
- linkend = prefix_container(container, linkend, node["target"])
65
+ linkend = prefix_container(container, linkend, node, node["target"])
66
66
  capitalise_xref(node, linkend, anchor_value(node["target"]))
67
67
  end
68
68
 
@@ -1,10 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <include href="biblio.rng">
4
- <start>
5
- <ref name="document"/>
6
- </start>
7
- </include>
8
3
  <define name="document">
9
4
  <element name="document">
10
5
  <optional>
@@ -1125,26 +1120,4 @@
1125
1120
  </zeroOrMore>
1126
1121
  </element>
1127
1122
  </define>
1128
- <define name="ext">
1129
- <element name="ext">
1130
- <ref name="BibDataExtensionType"/>
1131
- </element>
1132
- </define>
1133
- <define name="BibDataExtensionType">
1134
- <ref name="doctype"/>
1135
- </define>
1136
- <define name="doctype">
1137
- <element name="doctype">
1138
- <ref name="DocumentType"/>
1139
- </element>
1140
- </define>
1141
- <define name="DocumentType">
1142
- <value>document</value>
1143
- </define>
1144
- <define name="BibData">
1145
- <ref name="BibliographicItem"/>
1146
- <optional>
1147
- <ref name="ext"/>
1148
- </optional>
1149
- </define>
1150
1123
  </grammar>
@@ -0,0 +1,164 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <!--
4
+ Add-ons to biblio.rnc for standoc model: defines the extension point BibDataExtensionType
5
+ of relaton
6
+
7
+ Specialisations as for biblio.rnc. Extension point can be redefined completely for a flavour of standoc
8
+ (SDO); but other elements in Bibdata can only be extended (more specialised vocabularies for Bibdata)
9
+ -->
10
+ <include href="biblio.rng">
11
+ <define name="BibData">
12
+ <ref name="BibliographicItem"/>
13
+ <optional>
14
+ <ref name="ext"/>
15
+ </optional>
16
+ </define>
17
+ </include>
18
+ <define name="ext">
19
+ <element name="ext">
20
+ <ref name="BibDataExtensionType"/>
21
+ </element>
22
+ </define>
23
+ <define name="BibDataExtensionType">
24
+ <optional>
25
+ <attribute name="schema-version"/>
26
+ </optional>
27
+ <ref name="doctype"/>
28
+ <optional>
29
+ <ref name="docsubtype"/>
30
+ </optional>
31
+ <optional>
32
+ <ref name="editorialgroup"/>
33
+ </optional>
34
+ <zeroOrMore>
35
+ <ref name="ics"/>
36
+ </zeroOrMore>
37
+ <zeroOrMore>
38
+ <ref name="structuredidentifier"/>
39
+ </zeroOrMore>
40
+ </define>
41
+ <define name="doctype">
42
+ <element name="doctype">
43
+ <optional>
44
+ <attribute name="abbreviation"/>
45
+ </optional>
46
+ <ref name="DocumentType"/>
47
+ </element>
48
+ </define>
49
+ <define name="DocumentType">
50
+ <value>document</value>
51
+ </define>
52
+ <define name="docsubtype">
53
+ <element name="subdoctype">
54
+ <ref name="DocumentSubtype"/>
55
+ </element>
56
+ </define>
57
+ <define name="DocumentSubtype">
58
+ <text/>
59
+ </define>
60
+ <define name="editorialgroup">
61
+ <element name="editorialgroup">
62
+ <oneOrMore>
63
+ <ref name="technical-committee"/>
64
+ </oneOrMore>
65
+ </element>
66
+ </define>
67
+ <define name="technical-committee">
68
+ <element name="technical-committee">
69
+ <ref name="IsoWorkgroup"/>
70
+ </element>
71
+ </define>
72
+ <define name="IsoWorkgroup">
73
+ <optional>
74
+ <attribute name="number"/>
75
+ </optional>
76
+ <optional>
77
+ <attribute name="type"/>
78
+ </optional>
79
+ <optional>
80
+ <attribute name="identifier"/>
81
+ </optional>
82
+ <optional>
83
+ <attribute name="prefix"/>
84
+ </optional>
85
+ <text/>
86
+ </define>
87
+ <define name="ics">
88
+ <element name="ics">
89
+ <element name="code">
90
+ <text/>
91
+ </element>
92
+ <optional>
93
+ <element name="text">
94
+ <text/>
95
+ </element>
96
+ </optional>
97
+ </element>
98
+ </define>
99
+ <define name="structuredidentifier">
100
+ <element name="structuredidentifier">
101
+ <optional>
102
+ <attribute name="type"/>
103
+ </optional>
104
+ <oneOrMore>
105
+ <element name="agency">
106
+ <text/>
107
+ </element>
108
+ </oneOrMore>
109
+ <optional>
110
+ <element name="class">
111
+ <text/>
112
+ </element>
113
+ </optional>
114
+ <element name="docnumber">
115
+ <text/>
116
+ </element>
117
+ <optional>
118
+ <element name="partnumber">
119
+ <text/>
120
+ </element>
121
+ </optional>
122
+ <optional>
123
+ <element name="edition">
124
+ <text/>
125
+ </element>
126
+ </optional>
127
+ <optional>
128
+ <element name="version">
129
+ <text/>
130
+ </element>
131
+ </optional>
132
+ <optional>
133
+ <element name="supplementtype">
134
+ <text/>
135
+ </element>
136
+ </optional>
137
+ <optional>
138
+ <element name="supplementnumber">
139
+ <text/>
140
+ </element>
141
+ </optional>
142
+ <optional>
143
+ <element name="amendment">
144
+ <text/>
145
+ </element>
146
+ </optional>
147
+ <optional>
148
+ <element name="corrigendum">
149
+ <text/>
150
+ </element>
151
+ </optional>
152
+ <optional>
153
+ <element name="language">
154
+ <text/>
155
+ </element>
156
+ </optional>
157
+ <optional>
158
+ <element name="year">
159
+ <text/>
160
+ </element>
161
+ </optional>
162
+ </element>
163
+ </define>
164
+ </grammar>
@@ -33,9 +33,10 @@
33
33
  <param name="pattern">([\+\-]?\d{4})((-?)((0[1-9]|1[0-2])((-?)([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6]))))?</param>
34
34
  </data>
35
35
  </define>
36
- <start>
37
- <ref name="bibitem"/>
38
- </start>
36
+ <!-- start = bibitem -->
37
+ <define name="BibData">
38
+ <ref name="BibliographicItem"/>
39
+ </define>
39
40
  <define name="status">
40
41
  <element name="status">
41
42
  <ref name="stage"/>
@@ -170,27 +171,30 @@
170
171
  </define>
171
172
  <define name="contributor">
172
173
  <element name="contributor">
173
- <zeroOrMore>
174
+ <oneOrMore>
174
175
  <ref name="role"/>
175
- </zeroOrMore>
176
+ </oneOrMore>
176
177
  <ref name="ContributorInfo"/>
177
178
  </element>
178
179
  </define>
179
180
  <define name="role">
180
181
  <element name="role">
181
- <optional>
182
- <attribute name="type">
183
- <choice>
184
- <value>author</value>
185
- <value>performer</value>
186
- <value>publisher</value>
187
- <value>editor</value>
188
- <value>adapter</value>
189
- <value>translator</value>
190
- <value>distributor</value>
191
- </choice>
192
- </attribute>
193
- </optional>
182
+ <attribute name="type">
183
+ <choice>
184
+ <value>author</value>
185
+ <value>performer</value>
186
+ <value>publisher</value>
187
+ <value>editor</value>
188
+ <value>adapter</value>
189
+ <value>translator</value>
190
+ <value>distributor</value>
191
+ <value>realizer</value>
192
+ <value>owner</value>
193
+ <value>authorizer</value>
194
+ <value>enabler</value>
195
+ <value>subject</value>
196
+ </choice>
197
+ </attribute>
194
198
  <zeroOrMore>
195
199
  <ref name="roledescription"/>
196
200
  </zeroOrMore>
@@ -512,6 +516,17 @@
512
516
  </define>
513
517
  <define name="localityStack">
514
518
  <element name="localityStack">
519
+ <optional>
520
+ <attribute name="connective">
521
+ <choice>
522
+ <value>and</value>
523
+ <value>or</value>
524
+ <value>from</value>
525
+ <value>to</value>
526
+ <value/>
527
+ </choice>
528
+ </attribute>
529
+ </optional>
515
530
  <zeroOrMore>
516
531
  <ref name="locality"/>
517
532
  </zeroOrMore>
@@ -524,6 +539,17 @@
524
539
  </define>
525
540
  <define name="sourceLocalityStack">
526
541
  <element name="sourceLocalityStack">
542
+ <optional>
543
+ <attribute name="connective">
544
+ <choice>
545
+ <value>and</value>
546
+ <value>or</value>
547
+ <value>from</value>
548
+ <value>to</value>
549
+ <value/>
550
+ </choice>
551
+ </attribute>
552
+ </optional>
527
553
  <zeroOrMore>
528
554
  <ref name="sourceLocality"/>
529
555
  </zeroOrMore>
@@ -626,6 +652,9 @@
626
652
  <ref name="BibItemType"/>
627
653
  </attribute>
628
654
  </optional>
655
+ <optional>
656
+ <attribute name="schema-version"/>
657
+ </optional>
629
658
  <optional>
630
659
  <ref name="fetched"/>
631
660
  </optional>
@@ -720,6 +749,9 @@
720
749
  <ref name="BibItemType"/>
721
750
  </attribute>
722
751
  </optional>
752
+ <optional>
753
+ <attribute name="schema-version"/>
754
+ </optional>
723
755
  <optional>
724
756
  <ref name="fetched"/>
725
757
  </optional>
@@ -115,10 +115,10 @@
115
115
  an IEEE standard is welcome to join the relevant IEEE working group. You can
116
116
  indicate interest in a working group using the Interests tab in the Manage
117
117
  Profile &#x26; Interests area of the <link target="https://development.standards.ieee.org/myproject-web/public/view.html#landing">IEEE
118
- SA myProject system</link>.<fn><p>Available at: <link target="https://development.standards.ieee.org/myproject-web/public/view.html#landing"/>.</p></fn>
118
+ SA myProject system</link>.<fn reference="_boilerplate_1"><p>Available at: <link target="https://development.standards.ieee.org/myproject-web/public/view.html#landing"/>.</p></fn>
119
119
  An IEEE Account is needed to access the application.</p>
120
120
 
121
- <p>Comments on standards should be submitted using the <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html">Contact Us</link> form.<fn><p>Available at: <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html"/>.</p></fn></p>
121
+ <p>Comments on standards should be submitted using the <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html">Contact Us</link> form.<fn reference="_boilerplate_2"><p>Available at: <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html"/>.</p></fn></p>
122
122
  </clause>
123
123
 
124
124
  <clause><title>Laws and regulations</title>
@@ -187,7 +187,7 @@
187
187
  order to determine whether a given document is the current edition and whether
188
188
  it has been amended through the issuance of amendments, corrigenda, or errata,
189
189
  visit <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee/">IEEE
190
- Xplore</link> or <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html">contact IEEE</link>.<fn><p>Available at <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee"/>.</p></fn>
190
+ Xplore</link> or <link target="https://standards.ieee.org/content/ieee-standards/en/about/contact/index.html">contact IEEE</link>.<fn reference="_boilerplate_3"><p>Available at <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee"/>.</p></fn>
191
191
  For more information about the IEEE SA or IEEE’s standards development process,
192
192
  visit the IEEE SA Website.</p>
193
193
  </clause>
@@ -195,12 +195,12 @@
195
195
  <clause>
196
196
  <title>Errata</title>
197
197
 
198
- <p>Errata, if any, for all IEEE standards can be accessed on the <link target="https://standards.ieee.org/standard/index.html">IEEE SA Website</link>.<fn><p>Available at: <link target="https://standards.ieee.org/standard/index.html"/>.</p></fn> Search for standard number and year of approval to access the web page of the published standard. Errata links are located under the Additional Resources Details section. Errata are also available in <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee/">IEEE Xplore</link>. Users are encouraged to periodically check for errata.</p>
198
+ <p>Errata, if any, for all IEEE standards can be accessed on the <link target="https://standards.ieee.org/standard/index.html">IEEE SA Website</link>.<fn reference="_boilerplate_4"><p>Available at: <link target="https://standards.ieee.org/standard/index.html"/>.</p></fn> Search for standard number and year of approval to access the web page of the published standard. Errata links are located under the Additional Resources Details section. Errata are also available in <link target="https://ieeexplore.ieee.org/browse/standards/collection/ieee/">IEEE Xplore</link>. Users are encouraged to periodically check for errata.</p>
199
199
  </clause>
200
200
 
201
201
  <clause><title>Patents</title>
202
202
 
203
- <p>IEEE Standards are developed in compliance with the <link target="https://standards.ieee.org/about/sasb/patcom/materials.html">IEEE SA Patent Policy</link>.<fn><p>Available at: <link target="https://standards.ieee.org/about/sasb/patcom/materials.html"/>.</p></fn></p>
203
+ <p>IEEE Standards are developed in compliance with the <link target="https://standards.ieee.org/about/sasb/patcom/materials.html">IEEE SA Patent Policy</link>.<fn reference="_boilerplate_5"><p>Available at: <link target="https://standards.ieee.org/about/sasb/patcom/materials.html"/>.</p></fn></p>
204
204
  <p>Attention is called to
205
205
  the possibility that implementation of this standard may require use of subject
206
206
  matter covered by patent rights. By publication of this standard, no position
@@ -247,17 +247,17 @@
247
247
  <p>At the time this draft {{ doctype }} was completed, the {{ working_group }} Working Group had the following membership:</p>
248
248
  <membership>
249
249
  <ul>
250
- <li><dl><dt>name</dt><dd>&#x3c;Chair Name&#x3e;</dd><dt>role</dt><dd>Chair</dd></dl></li>
251
- <li><dl><dt>name</dt><dd>&#x3c;Vice-chair Name&#x3e;</dd><dt>role</dt><dd>Vice Chair</dd></dl></li>
252
- <li><dl><dt>name</dt><dd>Participant1</dd><dt>role</dt><dd>Member</dd></dl></li>
253
- <li><dl><dt>name</dt><dd>Participant2</dd><dt>role</dt><dd>Member</dd></dl></li>
254
- <li><dl><dt>name</dt><dd>Participant3</dd><dt>role</dt><dd>Member</dd></dl></li>
255
- <li><dl><dt>name</dt><dd>Participant4</dd><dt>role</dt><dd>Member</dd></dl></li>
256
- <li><dl><dt>name</dt><dd>Participant5</dd><dt>role</dt><dd>Member</dd></dl></li>
257
- <li><dl><dt>name</dt><dd>Participant6</dd><dt>role</dt><dd>Member</dd></dl></li>
258
- <li><dl><dt>name</dt><dd>Participant7</dd><dt>role</dt><dd>Member</dd></dl></li>
259
- <li><dl><dt>name</dt><dd>Participant8</dd><dt>role</dt><dd>Member</dd></dl></li>
260
- <li><dl><dt>name</dt><dd>Participant9</dd><dt>role</dt><dd>Member</dd></dl></li>
250
+ <li><dl><dt>name</dt><dd><p>&#x3c;Chair Name&#x3e;</p></dd><dt>role</dt><dd><p>Chair</p></dd></dl></li>
251
+ <li><dl><dt>name</dt><dd><p>&#x3c;Vice-chair Name&#x3e;</p></dd><dt>role</dt><dd><p>Vice Chair</p></dd></dl></li>
252
+ <li><dl><dt>name</dt><dd><p>Participant1</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
253
+ <li><dl><dt>name</dt><dd><p>Participant2</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
254
+ <li><dl><dt>name</dt><dd><p>Participant3</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
255
+ <li><dl><dt>name</dt><dd><p>Participant4</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
256
+ <li><dl><dt>name</dt><dd><p>Participant5</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
257
+ <li><dl><dt>name</dt><dd><p>Participant6</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
258
+ <li><dl><dt>name</dt><dd><p>Participant7</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
259
+ <li><dl><dt>name</dt><dd><p>Participant8</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
260
+ <li><dl><dt>name</dt><dd><p>Participant9</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
261
261
  </ul>
262
262
  </membership>
263
263
  </clause>
@@ -265,15 +265,15 @@
265
265
  <p>The following members of the {{ balloting_group_type }} {{ balloting_group }} Standards Association balloting group voted on this {{ doctype }}. Balloters may have voted for approval, disapproval, or abstention.</p>
266
266
  <membership>
267
267
  <ul>
268
- <li><dl><dt>name</dt><dd>Balloter1</dd><dt>role</dt><dd>Member</dd></dl></li>
269
- <li><dl><dt>name</dt><dd>Balloter2</dd><dt>role</dt><dd>Member</dd></dl></li>
270
- <li><dl><dt>name</dt><dd>Balloter3</dd><dt>role</dt><dd>Member</dd></dl></li>
271
- <li><dl><dt>name</dt><dd>Balloter4</dd><dt>role</dt><dd>Member</dd></dl></li>
272
- <li><dl><dt>name</dt><dd>Balloter5</dd><dt>role</dt><dd>Member</dd></dl></li>
273
- <li><dl><dt>name</dt><dd>Balloter6</dd><dt>role</dt><dd>Member</dd></dl></li>
274
- <li><dl><dt>name</dt><dd>Balloter7</dd><dt>role</dt><dd>Member</dd></dl></li>
275
- <li><dl><dt>name</dt><dd>Balloter8</dd><dt>role</dt><dd>Member</dd></dl></li>
276
- <li><dl><dt>name</dt><dd>Balloter9</dd><dt>role</dt><dd>Member</dd></dl></li>
268
+ <li><dl><dt>name</dt><dd><p>Balloter1</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
269
+ <li><dl><dt>name</dt><dd><p>Balloter2</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
270
+ <li><dl><dt>name</dt><dd><p>Balloter3</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
271
+ <li><dl><dt>name</dt><dd><p>Balloter4</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
272
+ <li><dl><dt>name</dt><dd><p>Balloter5</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
273
+ <li><dl><dt>name</dt><dd><p>Balloter6</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
274
+ <li><dl><dt>name</dt><dd><p>Balloter7</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
275
+ <li><dl><dt>name</dt><dd><p>Balloter8</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
276
+ <li><dl><dt>name</dt><dd><p>Balloter9</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
277
277
  </ul>
278
278
  </membership>
279
279
  </clause>
@@ -281,19 +281,19 @@
281
281
  <p>When the IEEE SA Standards Board approved this {{ doctype }} on {{ issueddate }}, it had the following membership:</p>
282
282
  <membership>
283
283
  <ul>
284
- <li><dl><dt>name</dt><dd>&#x3c;Name&#x3e;</dd><dt>role</dt><dd>Chair</dd></dl></li>
285
- <li><dl><dt>name</dt><dd>&#x3c;Name&#x3e;</dd><dt>role</dt><dd>Vice Chair</dd></dl></li>
286
- <li><dl><dt>name</dt><dd>&#x3c;Name&#x3e;</dd><dt>role</dt><dd>Past Chair</dd></dl></li>
287
- <li><dl><dt>name</dt><dd>&#x3c;Name&#x3e;</dd><dt>role</dt><dd>Secretary</dd></dl></li>
288
- <li><dl><dt>name</dt><dd>SBMember1</dd><dt>role</dt><dd>Member</dd></dl></li>
289
- <li><dl><dt>name</dt><dd>SBMember2</dd><dt>role</dt><dd>Member</dd></dl></li>
290
- <li><dl><dt>name</dt><dd>SBMember3</dd><dt>role</dt><dd>Member</dd></dl></li>
291
- <li><dl><dt>name</dt><dd>SBMember4</dd><dt>role</dt><dd>Member</dd></dl></li>
292
- <li><dl><dt>name</dt><dd>SBMember5</dd><dt>role</dt><dd>Member</dd></dl></li>
293
- <li><dl><dt>name</dt><dd>SBMember6</dd><dt>role</dt><dd>Member</dd></dl></li>
294
- <li><dl><dt>name</dt><dd>SBMember7</dd><dt>role</dt><dd>Member</dd></dl></li>
295
- <li><dl><dt>name</dt><dd>SBMember8</dd><dt>role</dt><dd>Member</dd></dl></li>
296
- <li><dl><dt>name</dt><dd>SBMember9</dd><dt>role</dt><dd>Member</dd></dl></li>
284
+ <li><dl><dt>name</dt><dd><p>&#x3c;Name&#x3e;</p></dd><dt>role</dt><dd><p>Chair</p></dd></dl></li>
285
+ <li><dl><dt>name</dt><dd><p>&#x3c;Name&#x3e;</p></dd><dt>role</dt><dd><p>Vice Chair</p></dd></dl></li>
286
+ <li><dl><dt>name</dt><dd><p>&#x3c;Name&#x3e;</p></dd><dt>role</dt><dd><p>Past Chair</p></dd></dl></li>
287
+ <li><dl><dt>name</dt><dd><p>&#x3c;Name&#x3e;</p></dd><dt>role</dt><dd><p>Secretary</p></dd></dl></li>
288
+ <li><dl><dt>name</dt><dd><p>SBMember1</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
289
+ <li><dl><dt>name</dt><dd><p>SBMember2</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
290
+ <li><dl><dt>name</dt><dd><p>SBMember3</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
291
+ <li><dl><dt>name</dt><dd><p>SBMember4</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
292
+ <li><dl><dt>name</dt><dd><p>SBMember5</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
293
+ <li><dl><dt>name</dt><dd><p>SBMember6</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
294
+ <li><dl><dt>name</dt><dd><p>SBMember7</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
295
+ <li><dl><dt>name</dt><dd><p>SBMember8</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
296
+ <li><dl><dt>name</dt><dd><p>SBMember9</p></dd><dt>role</dt><dd><p>Member</p></dd></dl></li>
297
297
  </ul>
298
298
  </membership>
299
299
  <p type="emeritus_sign">*Member Emeritus</p>
@@ -337,7 +337,7 @@
337
337
  {% else %}
338
338
  <clause id="boilerplate_word_usage">
339
339
  <title>Word usage</title>
340
- <p>The word <em>shall</em> indicates mandatory requirements strictly to be followed in order to conform to the standard and from which no deviation is permitted (<em>shall</em> equals <em>is required to</em>).<fn><p>The use of the word <em>must</em> is deprecated and cannot be used when stating mandatory requirements; <em>must</em> is used only to describe unavoidable situations.</p></fn><fn><p>The use of <em>will</em> is deprecated and cannot be used when stating mandatory requirements; <em>will</em> is only used in statements of fact.</p></fn></p>
340
+ <p>The word <em>shall</em> indicates mandatory requirements strictly to be followed in order to conform to the standard and from which no deviation is permitted (<em>shall</em> equals <em>is required to</em>).<fn reference="_boilerplate_6"><p>The use of the word <em>must</em> is deprecated and cannot be used when stating mandatory requirements; <em>must</em> is used only to describe unavoidable situations.</p></fn><fn reference="_boilerplate_7"><p>The use of <em>will</em> is deprecated and cannot be used when stating mandatory requirements; <em>will</em> is only used in statements of fact.</p></fn></p>
341
341
  <p>The word <em>should</em> indicates that among several possibilities one is recommended as particularly suitable, without mentioning or excluding others; or that a certain course of action is preferred but not necessarily required (<em>should</em> equals <em>is recommended that</em>).</p>
342
342
  <p>The word <em>may</em> is used to indicate a course of action permissible within the limits of the standard (<em>may</em> equals <em>is permitted to</em>).</p>
343
343
  <p>The word <em>can</em> is used for statements of possibility and capability, whether material, physical, or causal (<em>can</em> equals <em>is able to</em>).</p>
@@ -10,6 +10,9 @@ module Metanorma
10
10
  initial_note(xml)
11
11
  word_usage(xml)
12
12
  participants(xml)
13
+ xml.xpath("//dl[not(@id)]").each do |dl|
14
+ dl["id"] = "_#{UUIDTools::UUID.random_create}"
15
+ end
13
16
  end
14
17
 
15
18
  def intro_boilerplate(xml, isodoc)
@@ -53,26 +56,41 @@ module Metanorma
53
56
  end
54
57
 
55
58
  def overview_cleanup(xml)
59
+ overview_once_cleanup(xml)
60
+ overview_children_cleanup(xml)
61
+ end
62
+
63
+ def overview_children_cleanup(xml)
56
64
  %w(scope purpose word-usage).each do |x|
57
65
  (xml.xpath("//clause[@type = '#{x}']") -
58
- xml.xpath("//sections/clause[1][@type = 'overview']"\
66
+ xml.xpath("//sections/clause[@type = 'overview']" \
59
67
  "//clause[@type = '#{x}']"))
60
68
  .each { |c| c.delete("type") }
61
69
  end
62
- (xml.xpath("//clause[@type = 'overview']") -
63
- xml.xpath("//sections/clause[1]"))
64
- .each { |c| c.delete("type") }
70
+ end
71
+
72
+ def overview_once_cleanup(xml)
73
+ found = false
74
+ xml.xpath("//sections//clause[@type = 'overview']").each do |c|
75
+ found and c.delete("type")
76
+ found = true if c.parent.name == "sections"
77
+ end
78
+ xml.xpath("//annex//clause[@type = 'overview'] | " \
79
+ "//preface//clause[@type = 'overview']").each do |c|
80
+ c.delete("type")
81
+ end
65
82
  end
66
83
 
67
84
  def note_cleanup(xmldoc)
68
85
  super
69
- n = xmldoc.at("//preface//note[not(@type = 'boilerplate')]"\
70
- "[not(./ancestor::abstract)] | "\
71
- "//sections//note[not(@type = 'boilerplate')] | "\
86
+ n = xmldoc.at("//preface//note[not(@type = 'boilerplate')]" \
87
+ "[not(./ancestor::abstract)] | " \
88
+ "//sections//note[not(@type = 'boilerplate')] | " \
72
89
  "//annex//note[not(@type = 'boilerplate')]") or
73
90
  return
74
91
  ins = n.at("./p[last()]")
75
- ins << "<fn><p>#{@i18n.note_inform_fn}</p></fn>"
92
+ ins << "<fn reference='_boilerplate_cleanup1'>" \
93
+ "<p>#{@i18n.note_inform_fn}</p></fn>"
76
94
  end
77
95
 
78
96
  def table_footnote_renumber1(fnote, idx, seen)
@@ -152,6 +170,7 @@ module Metanorma
152
170
  ul.xpath("./li").each { |li| populate_participants2(li) }
153
171
  ul.xpath(".//p[normalize-space() = '']").each(&:remove)
154
172
  end
173
+ clause.at("./title")&.remove
155
174
  clause.children.to_xml
156
175
  end
157
176
 
@@ -166,14 +185,16 @@ module Metanorma
166
185
  end
167
186
 
168
187
  def populate_participants2(list)
169
- if dl = list.at("./dl")
188
+ curr = list
189
+ p = curr.at("./p") and curr = p
190
+ if dl = curr.at("./dl")
170
191
  ret = extract_participants(dl)
171
192
  dl.children = ret.keys.map do |k|
172
- "<dt>#{k}</dt><dd>#{ret[k]}</dd>"
193
+ "<dt>#{k}</dt><dd><p>#{ret[k]}</p></dd>"
173
194
  end.join
174
195
  else
175
- list.children = "<dl><dt>name</dt><dd>#{list.children.to_xml}</dd>"\
176
- "<dt>role</dt><dd>member</dd></dl>"
196
+ list.children = "<dl><dt>name</dt><dd><p>#{curr.children.to_xml}" \
197
+ "</p></dd><dt>role</dt><dd><p>member</p></dd></dl>"
177
198
  end
178
199
  end
179
200
 
@@ -199,7 +220,7 @@ module Metanorma
199
220
  u.empty? and m.empty? and return
200
221
  ins = xmldoc.at("//bibdata/title")
201
222
  t = provenance_title1(u, m)
202
- ins.next = "<title type='provenance' language='en' "\
223
+ ins.next = "<title type='provenance' language='en' " \
203
224
  "format='application/xml'>#{t}</title>"
204
225
  end
205
226
 
@@ -20,6 +20,9 @@ module Metanorma
20
20
  @hierarchical_assets = node.attr("hierarchical-object-numbering")
21
21
  end
22
22
 
23
+ PREFACE_CLAUSE_NAMES = %w(abstract foreword introduction
24
+ acknowledgements participants).freeze
25
+
23
26
  def sectiontype_streamline(ret)
24
27
  case ret
25
28
  when "definitions", "definitions, acronyms and abbreviations"