metanorma-iec 2.1.11 → 2.1.13

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isodoc/iec/html/htmlstyle.css +6 -0
  3. data/lib/isodoc/iec/iec.international-standard.xsl +460 -152
  4. data/lib/isodoc/iec/presentation_xml_convert.rb +8 -6
  5. data/lib/isodoc/iec/word_convert.rb +9 -35
  6. data/lib/metanorma/iec/biblio.rng +5 -0
  7. data/lib/metanorma/iec/iec_intro_en.xml +11 -12
  8. data/lib/metanorma/iec/iec_intro_fr.xml +11 -11
  9. data/lib/metanorma/iec/isodoc.rng +47 -13
  10. data/lib/metanorma/iec/version.rb +1 -1
  11. data/metanorma-iec.gemspec +5 -2
  12. metadata +4 -36
  13. data/.github/workflows/automerge.yml +0 -31
  14. data/.github/workflows/rake.yml +0 -15
  15. data/.github/workflows/release.yml +0 -24
  16. data/Rakefile +0 -8
  17. data/bin/rspec +0 -18
  18. data/spec/assets/header.html +0 -7
  19. data/spec/assets/html.css +0 -2
  20. data/spec/assets/iso.xml +0 -71
  21. data/spec/assets/rice_image1.png +0 -0
  22. data/spec/assets/word.css +0 -2
  23. data/spec/assets/wordintro.html +0 -4
  24. data/spec/assets/xref_error.adoc +0 -7
  25. data/spec/isodoc/blocks_spec.rb +0 -200
  26. data/spec/isodoc/i18n_spec.rb +0 -607
  27. data/spec/isodoc/iev_spec.rb +0 -888
  28. data/spec/isodoc/inline_spec.rb +0 -256
  29. data/spec/isodoc/iso_spec.rb +0 -211
  30. data/spec/isodoc/metadata_spec.rb +0 -251
  31. data/spec/isodoc/postproc_spec.rb +0 -303
  32. data/spec/isodoc/ref_spec.rb +0 -335
  33. data/spec/isodoc/section_spec.rb +0 -566
  34. data/spec/isodoc/terms_spec.rb +0 -192
  35. data/spec/metanorma/base_spec.rb +0 -1041
  36. data/spec/metanorma/blocks_spec.rb +0 -470
  37. data/spec/metanorma/cleanup_spec.rb +0 -372
  38. data/spec/metanorma/iev_spec.rb +0 -254
  39. data/spec/metanorma/inline_spec.rb +0 -145
  40. data/spec/metanorma/lists_spec.rb +0 -194
  41. data/spec/metanorma/processor_spec.rb +0 -171
  42. data/spec/metanorma/section_spec.rb +0 -348
  43. data/spec/metanorma/validate_spec.rb +0 -56
  44. data/spec/spec_helper.rb +0 -305
@@ -1,888 +0,0 @@
1
- require "spec_helper"
2
-
3
- RSpec.describe IsoDoc do
4
- it "processes introductions under IEV" do
5
- input = <<~INPUT
6
- <iso-standard xmlns="http://riboseinc.com/isoxml">
7
- <bibdata>
8
- <docidentifier type="iso">IEC/PWI 60050-871 ED 2</docidentifier>
9
- <docnumber>60050</docnumber>
10
- </bibdata>
11
- <preface>
12
- <foreword obligation="informative">
13
- <title>Foreword</title>
14
- <p id="A">This is a preamble</p>
15
- </foreword>
16
- <introduction id="B" obligation="informative"><title>Introduction</title>
17
- <clause id="C" inline-header="false" obligation="informative">
18
- <title>Introduction Subsection</title>
19
- </clause>
20
- </introduction></preface><sections/>
21
- </iso-standard>
22
- INPUT
23
-
24
- presxml = <<~OUTPUT
25
- <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
26
- <bibdata>
27
- <docidentifier type='iso'>IEC/PWI 60050-871 ED 2</docidentifier>
28
- <docnumber>60050</docnumber>
29
- </bibdata>
30
- <preface>
31
- <foreword obligation='informative' displayorder="1">
32
- <title>Foreword</title>
33
- <p id='A'>This is a preamble</p>
34
- </foreword>
35
- <introduction id='B' obligation='informative' displayorder="2">
36
- <title depth='1'>Introduction</title>
37
- <clause id='C' inline-header='false' obligation='informative'>
38
- <title depth='2'>Introduction Subsection</title>
39
- </clause>
40
- </introduction>
41
- </preface>
42
- <sections/>
43
- </iso-standard>
44
- OUTPUT
45
-
46
- html = <<~OUTPUT
47
- #{HTML_HDR}
48
- <div>
49
- <h1 class='ForewordTitle'>FOREWORD</h1>
50
- <div class='boilerplate_legal'/>
51
- <p id='A'>This is a preamble</p>
52
- </div>
53
- <br/>
54
- <div class='Section3' id='B'>
55
- <h1 class='IntroTitle'>
56
- Introduction
57
- </h1>
58
- <div id='C'>
59
- <h2>Introduction Subsection</h2>
60
- </div>
61
- </div>
62
- #{IEC_TITLE1}
63
- </div>
64
- </body>
65
- </html>
66
- OUTPUT
67
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
68
- .convert("test", input, true)
69
- .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
70
- .to be_equivalent_to xmlpp(presxml)
71
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({})
72
- .convert("test", presxml, true)))
73
- .to be_equivalent_to xmlpp(html)
74
- end
75
-
76
- it "processes bibliographies under IEV" do
77
- input = <<~INPUT
78
- <iec-standard xmlns='https://www.metanorma.org/ns/iec'>
79
- <bibdata type='standard'>
80
- <docidentifier type='iso'>IEC 60050 ED 1</docidentifier>
81
- <docnumber>60050</docnumber>
82
- <contributor>
83
- <role type='author'/>
84
- <organization>
85
- <name>International Electrotechnical Commission</name>
86
- <abbreviation>IEC</abbreviation>
87
- </organization>
88
- </contributor>
89
- <contributor>
90
- <role type='publisher'/>
91
- <organization>
92
- <name>International Electrotechnical Commission</name>
93
- <abbreviation>IEC</abbreviation>
94
- </organization>
95
- </contributor>
96
- <language>en</language>
97
- <script>Latn</script>
98
- <status>
99
- <stage>60</stage>
100
- <substage>60</substage>
101
- </status>
102
- <copyright>
103
- <from>2020</from>
104
- <owner>
105
- <organization>
106
- <name>International Electrotechnical Commission</name>
107
- <abbreviation>IEC</abbreviation>
108
- </organization>
109
- </owner>
110
- </copyright>
111
- <ext>
112
- <doctype>international-standard</doctype>
113
- <editorialgroup>
114
- <technical-committee/>
115
- <subcommittee/>
116
- <workgroup/>
117
- </editorialgroup>
118
- <structuredidentifier>
119
- <project-number>IEC 60050</project-number>
120
- </structuredidentifier>
121
- </ext>
122
- </bibdata>
123
- <sections> </sections>
124
- <bibliography>
125
- <references obligation='informative' normative="true" id="X">
126
- <title>Normative References</title>
127
- <p id='_'>There are no normative references in this document.</p>
128
- <bibitem id='A'>
129
- <formattedref format='application/x-isodoc+xml'>
130
- <em>TITLE</em>
131
- </formattedref>
132
- <docidentifier>B</docidentifier>
133
- </bibitem>
134
- </references>
135
- <references id='_' obligation='informative' normative="false">
136
- <title>Bibliography</title>
137
- <p id='_'>There are no normative references in this document.</p>
138
- <bibitem id='A'>
139
- <formattedref format='application/x-isodoc+xml'>
140
- <em>TITLE</em>
141
- </formattedref>
142
- <docidentifier>B</docidentifier>
143
- </bibitem>
144
- </references>
145
-
146
- </bibliography>
147
- </iec-standard>
148
- INPUT
149
- presxml = <<~OUTPUT
150
- <iec-standard xmlns='https://www.metanorma.org/ns/iec' type="presentation">
151
- <bibdata type='standard'>
152
- <docidentifier type='iso'>IEC 60050 ED 1</docidentifier>
153
- <docnumber>60050</docnumber>
154
- <contributor>
155
- <role type='author'/>
156
- <organization>
157
- <name>International Electrotechnical Commission</name>
158
- <abbreviation>IEC</abbreviation>
159
- </organization>
160
- </contributor>
161
- <contributor>
162
- <role type='publisher'/>
163
- <organization>
164
- <name>International Electrotechnical Commission</name>
165
- <abbreviation>IEC</abbreviation>
166
- </organization>
167
- </contributor>
168
- <language current="true">en</language>
169
- <script current="true">Latn</script>
170
- <status>
171
- <stage language="">60</stage>
172
- <stage language='fr'>Norme internationale</stage>
173
- <stage language='en'>International Standard</stage>
174
- <substage>60</substage>
175
- </status>
176
- <copyright>
177
- <from>2020</from>
178
- <owner>
179
- <organization>
180
- <name>International Electrotechnical Commission</name>
181
- <abbreviation>IEC</abbreviation>
182
- </organization>
183
- </owner>
184
- </copyright>
185
- <ext>
186
- <doctype language=''>international-standard</doctype>
187
- <doctype language='fr'>Norme internationale</doctype>
188
- <doctype language='en'>International Standard</doctype>
189
- <editorialgroup identifier=' / / '>
190
- <technical-committee/>
191
- <subcommittee/>
192
- <workgroup/>
193
- </editorialgroup>
194
- <structuredidentifier>
195
- <project-number>IEC 60050</project-number>
196
- </structuredidentifier>
197
- </ext>
198
- </bibdata>
199
- <sections> </sections>
200
- <bibliography>
201
- <references obligation='informative' normative='true' id="X" displayorder="1">
202
- <title depth='1'>1<tab/>Normative References</title>
203
- <p id='_'>There are no normative references in this document.</p>
204
- <bibitem id='A'>
205
- <formattedref format='application/x-isodoc+xml'>
206
- <em>TITLE</em> [B]
207
- </formattedref>
208
- <docidentifier>B</docidentifier>
209
- </bibitem>
210
- </references>
211
- <references id='_' obligation='informative' normative='false' displayorder="2">
212
- <title depth='1'>Bibliography</title>
213
- <p id='_'>There are no normative references in this document.</p>
214
- <bibitem id='A'>
215
- <formattedref format='application/x-isodoc+xml'>
216
- <em>TITLE</em> [B]
217
- </formattedref>
218
- <docidentifier type='metanorma-ordinal'>[1]</docidentifier>
219
- <docidentifier>B</docidentifier>
220
- </bibitem>
221
- </references>
222
- </bibliography>
223
- </iec-standard>
224
- OUTPUT
225
- html = <<~OUTPUT
226
- #{HTML_HDR}
227
- <div id=''>
228
- <h1 class='ForewordTitle'>FOREWORD</h1>
229
- <div class='boilerplate_legal'/>
230
- </div>
231
- #{IEC_TITLE1}
232
- <div>
233
- <h1>1&#160; Normative References</h1>
234
- <p id='_'>There are no normative references in this document.</p>
235
- </div>
236
- </div>
237
- </body>
238
- </html>
239
- OUTPUT
240
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
241
- .convert("test", input, true)
242
- .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
243
- .to be_equivalent_to xmlpp(presxml)
244
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({})
245
- .convert("test", presxml, true)))
246
- .to be_equivalent_to xmlpp(html)
247
- end
248
-
249
- it "processes IEV terms" do
250
- input = <<~INPUT
251
- <iso-standard xmlns="http://riboseinc.com/isoxml">
252
- <bibdata type='standard'>
253
- <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
254
- <docnumber>60050</docnumber>
255
- </bibdata>
256
- <sections>
257
- <clause id="_terms_and_definitions" obligation="normative"><title>Terms and definitions</title>
258
- <terms id="_general" obligation="normative"><title>General</title>
259
- <term id="paddy1"><preferred><expression><name>paddy</name></expression></preferred>
260
- <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbal-definition></definition>
261
- <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892">
262
- <p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
263
- <ul>
264
- <li>A</li>
265
- </ul>
266
- </termexample>
267
- <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f894">
268
- <ul>
269
- <li>A</li>
270
- </ul>
271
- </termexample>
272
- <termsource status="modified">
273
- <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
274
- <modification>
275
- <p id="_e73a417d-ad39-417d-a4c8-20e4e2529489">The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here</p>
276
- </modification>
277
- </termsource></term>
278
- <term id="paddy"><preferred><expression><name>paddy</name></expression></preferred>
279
- <admitted><expression><name>paddy rice</name></expression></admitted>
280
- <admitted><expression><name>rough rice</name></expression></admitted>
281
- <deprecates><expression><name>cargo rice</name></expression></deprecates>
282
- <domain>rice</domain>
283
- <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbal-definition></definition>
284
- <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f893">
285
- <ul>
286
- <li>A</li>
287
- </ul>
288
- </termexample>
289
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74e">
290
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p>
291
- </termnote>
292
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74f">
293
- <ul><li>A</li></ul>
294
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p>
295
- </termnote>
296
- <termsource status="identical">
297
- <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
298
- </termsource></term>
299
- </terms>
300
- </clause>
301
- </sections>
302
- </iso-standard>
303
- INPUT
304
-
305
- presxml = <<~INPUT
306
- <?xml version='1.0'?>
307
- <iso-standard xmlns="http://riboseinc.com/isoxml" type="presentation">
308
- <bibdata type='standard'>
309
- <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
310
- <docnumber>60050</docnumber>
311
- </bibdata>
312
- <sections>
313
- <clause id="_terms_and_definitions" obligation="normative" displayorder="1"><title depth="1">1<tab/>Terms and definitions</title>
314
- <terms id="_general" obligation="normative"><title>192-01 General</title>
315
- <term id="paddy1">
316
- <name>192-01-01</name>
317
- <preferred><strong>paddy</strong></preferred>
318
- <definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></definition>
319
- <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892">
320
- <name>EXAMPLE 1</name>
321
- <p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
322
- <ul>
323
- <li>A</li>
324
- </ul>
325
- </termexample>
326
- <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f894">
327
- <name>EXAMPLE 2</name>
328
- <ul>
329
- <li>A</li>
330
- </ul>
331
- </termexample>
332
- <termsource status="modified">SOURCE:
333
- <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>, modified &#x2013;
334
- The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here</termsource>
335
- </term>
336
- <term id="paddy">
337
- <name>192-01-02</name>
338
- <preferred><strong>paddy</strong></preferred><admitted>paddy rice</admitted>
339
- <admitted>rough rice</admitted>
340
- <deprecates>cargo rice</deprecates>
341
- <definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">&#x3c;rice&#x3e; rice retaining its husk after threshing</p></definition>
342
- <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f893">
343
- <name>EXAMPLE</name>
344
- <ul>
345
- <li>A</li>
346
- </ul>
347
- </termexample>
348
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74e">
349
- <name>Note 1 to entry</name>
350
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p>
351
- </termnote>
352
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74f">
353
- <name>Note 2 to entry</name>
354
- <ul><li>A</li></ul>
355
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">The starch of waxy rice consists almost entirely of amylopectin. The kernels have a tendency to stick together after cooking.</p>
356
- </termnote>
357
- <termsource status="identical">SOURCE:
358
- <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
359
- </termsource></term>
360
- </terms>
361
- </clause>
362
- </sections>
363
- </iso-standard>
364
- INPUT
365
-
366
- html = <<~OUTPUT
367
- #{HTML_HDR}
368
- <div id=''>
369
- <h1 class='ForewordTitle'>FOREWORD</h1>
370
- <div class='boilerplate_legal'/>
371
- </div>
372
- #{IEC_TITLE1}
373
- <div id='_terms_and_definitions'>
374
- <h1>1&#160; Terms and definitions</h1>
375
- <br/>
376
- <div id='_general'>
377
- <h2 class='zzSTDTitle2'>
378
- <b>192-01 General</b>
379
- </h2>
380
- <p class='TermNum' id='paddy1'>192-01-01</p>
381
- <p class='Terms' style='text-align:left;'>
382
- <b>paddy</b>
383
- </p>
384
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
385
- <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f892' class='example'>
386
- <p>
387
- <span class='example_label'>EXAMPLE 1</span>
388
- &#160; Foreign seeds, husks, bran, sand, dust.
389
- </p>
390
- <ul>
391
- <li>A</li>
392
- </ul>
393
- </div>
394
- <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f894' class='example'>
395
- <p>
396
- <span class='example_label'>EXAMPLE 2</span>
397
- &#160;
398
- </p>
399
- <ul>
400
- <li>A</li>
401
- </ul>
402
- </div>
403
- <p>
404
- SOURCE: ISO 7301:2011, 3.1, modified &#8211; The term "cargo rice" is shown as deprecated, and
405
- Note 1 to entry is not included here
406
- </p>
407
- <p class='TermNum' id='paddy'>192-01-02</p>
408
- <p class='Terms' style='text-align:left;'>
409
- <b>paddy</b>
410
- </p>
411
- <p class='AltTerms' style='text-align:left;'>paddy rice</p>
412
- <p class='AltTerms' style='text-align:left;'>rough rice</p>
413
- <p class='DeprecatedTerms' style='text-align:left;'>DEPRECATED: cargo rice</p>
414
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>&lt;rice&gt; rice retaining its husk after threshing</p>
415
- <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f893' class='example'>
416
- <p>
417
- <span class='example_label'>EXAMPLE</span>
418
- &#160;
419
- </p>
420
- <ul>
421
- <li>A</li>
422
- </ul>
423
- </div>
424
- <div id='_671a1994-4783-40d0-bc81-987d06ffb74e' class='Note'>
425
- <p>
426
- Note 1 to entry: The starch of waxy rice consists almost entirely
427
- of amylopectin. The kernels have a tendency to stick together
428
- after cooking.
429
- </p>
430
- </div>
431
- <div id='_671a1994-4783-40d0-bc81-987d06ffb74f' class='Note'>
432
- <p>
433
- Note 2 to entry:
434
- <ul>
435
- <li>A</li>
436
- </ul>
437
- <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
438
- The starch of waxy rice consists almost entirely of amylopectin.
439
- The kernels have a tendency to stick together after cooking.
440
- </p>
441
- </p>
442
- </div>
443
- <p>SOURCE: ISO 7301:2011, 3.1 </p>
444
- </div>
445
- </div>
446
- </div>
447
- </body>
448
- </html>
449
- OUTPUT
450
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
451
- .convert("test", input, true)
452
- .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
453
- .to be_equivalent_to xmlpp(presxml)
454
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({})
455
- .convert("test", presxml, true)))
456
- .to be_equivalent_to xmlpp(html)
457
- end
458
-
459
- it "populates Word template with terms reference labels" do
460
- FileUtils.rm_f "test.doc"
461
- FileUtils.rm_f "test.html"
462
- input = <<~INPUT
463
- <iso-standard xmlns="http://riboseinc.com/isoxml">
464
- <bibdata type='standard'>
465
- <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
466
- <docnumber>60050</docnumber>
467
- </bibdata>
468
- <sections>
469
- <clause id="_terms_and_definitions" obligation="normative" displayorder="1"><title>Terms and definitions</title>
470
- <terms id="_general" obligation="normative"><title>General</title>
471
- <term id="paddy1"><preferred><expression><name>paddy</name></expression></preferred>
472
- <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbal-definition></definition>
473
- <termsource status="modified">
474
- <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
475
- <modification>
476
- <p id="_e73a417d-ad39-417d-a4c8-20e4e2529489">The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here</p>
477
- </modification>
478
- </termsource></term>
479
- </terms>
480
- </clause>
481
- </sections>
482
- </iso-standard>
483
- INPUT
484
- presxml = <<~OUTPUT
485
- <iso-standard xmlns='http://riboseinc.com/isoxml' type="presentation">
486
- <bibdata type='standard'>
487
- <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
488
- <docnumber>60050</docnumber>
489
- </bibdata>
490
- <sections>
491
- <clause id='_terms_and_definitions' obligation='normative' displayorder="1">
492
- <title depth='1'>1<tab/>Terms and definitions</title>
493
- <terms id='_general' obligation='normative'>
494
- <title>192-01 General</title>
495
- <term id='paddy1'>
496
- <name>192-01-01</name>
497
- <preferred><strong>paddy</strong></preferred>
498
- <definition>
499
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
500
- </definition>
501
- <termsource status='modified'>SOURCE:
502
- <origin bibitemid='ISO7301' type='inline' citeas='ISO 7301:2011'><locality type='clause'>
503
- <referenceFrom>3.1</referenceFrom>
504
- </locality>ISO 7301:2011, 3.1</origin>, modified &#x2013;
505
- The term "cargo rice" is shown as deprecated, and Note 1 to
506
- entry is not included here
507
- </termsource>
508
- </term>
509
- </terms>
510
- </clause>
511
- </sections>
512
- </iso-standard>
513
- OUTPUT
514
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
515
- .convert("test", input, true)
516
- .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
517
- .to be_equivalent_to xmlpp(presxml)
518
- IsoDoc::Iec::WordConvert.new({}).convert("test", presxml, false)
519
- word = File.read("test.doc")
520
- .sub(/^.*<div class="WordSection3">/m, '<div class="WordSection3">')
521
- .sub(%r{<br clear="all" style="page-break-before:left;mso-break-type:section-break"/>.*$}m, "")
522
- expect(xmlpp(word)).to be_equivalent_to xmlpp(<<~"OUTPUT")
523
- <div class='WordSection3'>
524
- <p class='zzSTDTitle1'>
525
- <b/>
526
- </p>
527
- <p class='zzSTDTitle1'>&#xA0;</p>
528
- <div>
529
- <a name='_terms_and_definitions' id='_terms_and_definitions'/>
530
- <h1 class='main'>
531
- 1
532
- <span style='mso-tab-count:1'>&#xA0; </span>
533
- Terms and definitions
534
- </h1>
535
- <p class='MsoNormal'>
536
- <br clear='all' style='mso-special-character:line-break;page-break-before:always'/>
537
- </p>
538
- <div>
539
- <a name='_general' id='_general'/>
540
- <h2 class='zzSTDTitle2'>
541
- <b>192-01 General</b>
542
- </h2>
543
- <p class='TermNum'>
544
- <a name='paddy1' id='paddy1'/>
545
- 192-01-01
546
- </p>
547
- <p class='Terms' style='text-align:left;'><b>paddy</b></p>
548
- <p class='MsoNormal'>
549
- <a name='_eb29b35e-123e-4d1c-b50b-2714d41e747f' id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'/>
550
- rice retaining its husk after threshing
551
- </p>
552
- <p class='MsoNormal'>
553
- SOURCE: ISO 7301:2011, 3.1, modified &#x2013; The term "cargo rice" is shown as deprecated, and
554
- Note 1 to entry is not included here
555
- </p>
556
- </div>
557
- </div>
558
- </div>
559
- OUTPUT
560
- end
561
-
562
- it "convert termbase references to the current document to xrefs" do
563
- input = <<~INPUT
564
- <iso-standard xmlns="http://riboseinc.com/isoxml">
565
- <bibdata type='standard'>
566
- <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
567
- <docnumber>60050</docnumber>
568
- <ext>
569
- <doctype>international-standard</doctype>
570
- <horizontal>false</horizontal>
571
- <structuredidentifier>
572
- <project-number part="192">IEC 60050</project-number>
573
- </structuredidentifier>
574
- <stagename>International standard</stagename>
575
- </ext>
576
- </bibdata>
577
- <sections>
578
- <clause id="_terms_and_definitions" obligation="normative" displayorder="1"><title>Terms and definitions</title>
579
- <terms id="_general" obligation="normative"><title>General</title>
580
- <term id="term-durability"><preferred><expression><name>durability</name></expression><field-of-application>of an item</field-of-application></preferred>
581
- <definition><verbaldefinition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbaldefinition></definition>
582
- <termnote id="_5f49cfad-e57e-5029-78cf-5b7e3e10a3b3">
583
- <p id="_8c830e60-8f09-73a2-6393-2a27d9c5b1ce">Dependability includes availability (<concept><refterm>192-01-02</refterm><renderterm>192-01-02</renderterm><termref base="IEV" target="192-01-02"/></concept>, <concept><refterm>191-01-02</refterm><renderterm>191-01-02</renderterm><termref base="IEV" target="191-01-02"/></concept>)</p>
584
- </termnote>
585
- </term>
586
- <term id="term-sub-item"><preferred><expression><name>sub item</name></expression></preferred><definition><verbal-definition><p id="_6952e988-8803-159d-a32e-57147fbf3d86">part of the subject being considered</p></verbal-definition></definition>
587
- </term>
588
- </terms>
589
- </clause>
590
- </sections>
591
- </iso-standard>
592
- INPUT
593
- presxml = <<~PRESXML
594
- <?xml version='1.0'?>
595
- <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
596
- <bibdata type='standard'>
597
- <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
598
- <docnumber>60050</docnumber>
599
- <ext>
600
- <doctype language=''>international-standard</doctype>
601
- <doctype language='fr'>Norme internationale</doctype>
602
- <doctype language='en'>International Standard</doctype>
603
- <horizontal>false</horizontal>
604
- <structuredidentifier>
605
- <project-number part='192'>IEC 60050</project-number>
606
- </structuredidentifier>
607
- <stagename>International standard</stagename>
608
- </ext>
609
- </bibdata>
610
- <sections>
611
- <clause id='_terms_and_definitions' obligation='normative' displayorder='1'>
612
- <title depth='1'>1<tab/>Terms and definitions</title>
613
- <terms id='_general' obligation='normative'>
614
- <title>192-01 General</title>
615
- <term id='term-durability'>
616
- <name>192-01-01</name>
617
- <preferred><strong>durability</strong>, &#x3c;of an item&#x3e;</preferred>
618
- <definition>
619
- <verbaldefinition>
620
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
621
- </verbaldefinition>
622
- </definition>
623
- <termnote id='_5f49cfad-e57e-5029-78cf-5b7e3e10a3b3'>
624
- <name>Note 1 to entry</name>
625
- <p id='_8c830e60-8f09-73a2-6393-2a27d9c5b1ce'>Dependability includes availability (<em>192-01-02</em>
626
- (<xref target='term-sub-item'><span class='citesec'>192-01-02</span></xref>),
627
- <em>191-01-02</em>
628
- [term defined in
629
- <termref base='IEV' target='191-01-02'/>])</p>
630
- </termnote>
631
- </term>
632
- <term id='term-sub-item'>
633
- <name>192-01-02</name>
634
- <preferred><strong>sub item</strong></preferred>
635
- <definition>
636
- <p id='_6952e988-8803-159d-a32e-57147fbf3d86'>part of the subject being considered</p>
637
- </definition>
638
- </term>
639
- </terms>
640
- </clause>
641
- </sections>
642
- </iso-standard>
643
- PRESXML
644
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
645
- .convert("test", input, true)
646
- .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
647
- .to be_equivalent_to xmlpp(presxml)
648
- end
649
-
650
- it "processes multilingual IEV terms" do
651
- input = <<~INPUT
652
- <iso-standard xmlns="http://riboseinc.com/isoxml">
653
- <bibdata type='standard'>
654
- <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
655
- <docnumber>60050</docnumber>
656
- </bibdata>
657
- <sections>
658
- <clause id="_terms_and_definitions" obligation="normative"><title>Terms and definitions</title>
659
- <terms id="_general" obligation="normative"><title>General</title>
660
- <term id="item" language="en" tag="item">
661
- <preferred><expression language="en"><name>system</name></expression><field-of-application>in dependability</field-of-application></preferred>
662
- <preferred><expression language="de"><name>Betrachtungseinheit</name<grammar><gender>feminine</gender></grammar></expression></preferred>
663
- <preferred><expression language="ja"><name>アイテム</name></expression></preferred>
664
- <preferred><expression language="de"><name>Einheit</name><grammar><gender>feminine</gender></grammar></expression></preferred>
665
- <preferred><expression language="zh"><name>&#20135;&#21697;</name></expression><field-of-application>在可靠性方面</field-of-application></preferred>
666
- <preferred><expression language="ar"><name>نظام،</name></expression><field-of-application>في الاعتمادیة</field-of-application></preferred>
667
- <admitted><expression><name>paddy rice</name></expression></admitted>
668
- <admitted><expression><name>rough rice</name></expression></admitted>
669
- <deprecates><expression><name>cargo rice</name></expression></deprecates>
670
- <related type='contrast'><preferred><expression><name>Fifth Designation</name></expression></preferred><xref target="paddy1"/></related>
671
- <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">set of interrelated items that collectively fulfil a requirement</p></verbal-definition></definition>
672
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74e">
673
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">A system is considered to have a defined real or abstract boundary.</p>
674
- </termnote>
675
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74d">
676
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">External resources (from outside the system boundary) may be required for the system to operate.</p>
677
- </termnote>
678
- <termexample id="_671a1994-4783-40d0-bc81-987d06ffb740">
679
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d0">External resources (from outside the system boundary) may be required for the system to operate.</p>
680
- </termexample>
681
- <termsource status="modified">
682
- <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
683
- <modification>modified by extension to suit the dependability context</modification>
684
- </termsource></term>
685
- <term id="item-fr" language="fr" tag="item">
686
- <preferred><expression language="fr"><name>entité</name<grammar><gender>masculine</gender></grammar></expression>
687
- <field-of-application>en sûreté de fonctionnement</field-of-application>
688
- </preferred>
689
- <related type='contrast'><preferred><expression><name>Designation cinquième</name></expression></preferred><xref target="paddy1"/></related>
690
- <related type='see'><preferred><expression><name>Designation sixième</name></expression></preferred><xref target="paddy1"/></related>
691
- <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747d">ensemble d’entités reliées entre elles qui satisfont collectivement à une exigence</p></verbal-definition></definition>
692
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74c">
693
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">Un système est considéré comme ayant une frontière définie, réelle ou abstraite.</p>
694
- </termnote>
695
- <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74b">
696
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">Des ressources externes (provenant d’au-delà de la frontière) peuvent être nécessaires au fonctionnement du système.</p>
697
- </termnote>
698
- <termexample id="_671a1994-4783-40d0-bc81-987d06ffb741">
699
- <p id="_19830f33-e46c-42cc-94ca-a5ef101132d1">External resources (from outside the system boundary) may be required for the system to operate.</p>
700
- </termexample>
701
- <termsource status="modified">
702
- <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
703
- <modification>modifié pour adapter au contexte de la sûreté de fonctionnement</modification>
704
- </termsource></term>
705
- <term id="paddy1"><preferred><expression><name>paddy</name></expression></preferred>
706
- <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747d">rice retaining its husk after threshing</p></verbal-definition></definition>
707
- </term>
708
- </terms>
709
- </clause>
710
- </sections>
711
- </iso-standard>
712
- INPUT
713
-
714
- presxml = <<~PRESXML
715
- <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
716
- <bibdata type='standard'>
717
- <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
718
- <docnumber>60050</docnumber>
719
- </bibdata>
720
- <sections>
721
- <clause id='_terms_and_definitions' obligation='normative' displayorder='1'>
722
- <title depth='1'>
723
- 1
724
- <tab/>
725
- Terms and definitions
726
- </title>
727
- <terms id='_general' obligation='normative'>
728
- <title>192-01 General</title>
729
- <term id='item' language='en,fr'>
730
- <name>192-01-01</name>
731
- <preferred>
732
- <strong>system</strong>
733
- , &#x3c;in dependability&#x3e;
734
- </preferred>
735
- <admitted>paddy rice</admitted>
736
- <admitted>rough rice</admitted>
737
- <deprecates>cargo rice</deprecates>
738
- <definition>
739
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>set of interrelated items that collectively fulfil a requirement</p>
740
- </definition>
741
- <p>
742
- CONTRAST:
743
- <strong>Fifth Designation</strong>
744
- (
745
- <xref target='paddy1'><span class='citesec'>192-01-02</span></xref>
746
- )
747
- </p>
748
- <termexample id='_671a1994-4783-40d0-bc81-987d06ffb740'>
749
- <name>EXAMPLE</name>
750
- <p id='_19830f33-e46c-42cc-94ca-a5ef101132d0'>
751
- External resources (from outside the system boundary) may be
752
- required for the system to operate.
753
- </p>
754
- </termexample>
755
- <termnote id='_671a1994-4783-40d0-bc81-987d06ffb74e'>
756
- <name>Note 1 to entry</name>
757
- <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>A system is considered to have a defined real or abstract boundary.</p>
758
- </termnote>
759
- <termnote id='_671a1994-4783-40d0-bc81-987d06ffb74d'>
760
- <name>Note 2 to entry</name>
761
- <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
762
- External resources (from outside the system boundary) may be
763
- required for the system to operate.
764
- </p>
765
- </termnote>
766
- <termsource status='modified'>
767
- SOURCE:
768
- <origin bibitemid='ISO7301' type='inline' citeas='ISO 7301:2011'>
769
- <locality type='clause'>
770
- <referenceFrom>3.1</referenceFrom>
771
- </locality>
772
- ISO 7301:2011, 3.1
773
- </origin>
774
- , modified &#x2013; modified by extension to suit the dependability
775
- context
776
- </termsource>
777
- <preferred>
778
- <strong>entit&#xE9;</strong>
779
- , &#x3c;en s&#xFB;ret&#xE9; de fonctionnement&#x3e;, m
780
- </preferred>
781
- <definition>
782
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747d'>
783
- ensemble d&#x2019;entit&#xE9;s reli&#xE9;es entre elles qui
784
- satisfont collectivement &#xE0; une exigence
785
- </p>
786
- </definition>
787
- <p>
788
- CONTRASTEZ:
789
- <strong>Designation cinqui&#xE8;me</strong>
790
- (
791
- <xref target='paddy1'><span class='citesec'>192-01-02</span></xref>
792
- )
793
- </p>
794
- <p>
795
- VOIR:
796
- <strong>Designation sixi&#xE8;me</strong>
797
- (
798
- <xref target='paddy1'><span class='citesec'>192-01-02</span></xref>
799
- )
800
- </p>
801
- <termexample id='_671a1994-4783-40d0-bc81-987d06ffb741'>
802
- <name>EXEMPLE</name>
803
- <p id='_19830f33-e46c-42cc-94ca-a5ef101132d1'>
804
- External resources (from outside the system boundary) may be
805
- required for the system to operate.
806
- </p>
807
- </termexample>
808
- <termnote id='_671a1994-4783-40d0-bc81-987d06ffb74c'>
809
- <name>Note 1 &#xE0; l&#x2019;article</name>
810
- <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
811
- Un syst&#xE8;me est consid&#xE9;r&#xE9; comme ayant une
812
- fronti&#xE8;re d&#xE9;finie, r&#xE9;elle ou abstraite.
813
- </p>
814
- </termnote>
815
- <termnote id='_671a1994-4783-40d0-bc81-987d06ffb74b'>
816
- <name>Note 2 &#xE0; l&#x2019;article</name>
817
- <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
818
- Des ressources externes (provenant d&#x2019;au-del&#xE0; de la
819
- fronti&#xE8;re) peuvent &#xEA;tre n&#xE9;cessaires au
820
- fonctionnement du syst&#xE8;me.
821
- </p>
822
- </termnote>
823
- <termsource status='modified'>
824
- SOURCE:
825
- <origin bibitemid='ISO7301' type='inline' citeas='ISO 7301:2011'>
826
- <locality type='clause'>
827
- <referenceFrom>3.1</referenceFrom>
828
- </locality>
829
- ISO 7301:2011, 3.1
830
- </origin>
831
- , modifi&#xE9; &#x2013; modifi&#xE9; pour adapter au contexte de la
832
- s&#xFB;ret&#xE9; de fonctionnement
833
- </termsource>
834
- <dl type='other-lang'>
835
- <dt>ar</dt>
836
- <dd language='ar' script='Arab'>
837
- <preferred>
838
- <strong>&#x61C;&#x646;&#x638;&#x627;&#x645;&#x60C;&#x61C;</strong>
839
- &#x61C;, &#x3c;&#x641;&#x64A;
840
- &#x627;&#x644;&#x627;&#x639;&#x62A;&#x645;&#x627;&#x62F;&#x6CC;&#x629;&#x3e;&#x61C;
841
- </preferred>
842
- </dd>
843
- <dt>de</dt>
844
- <dd language='de' script='Latn'>
845
- <preferred>
846
- <strong>Betrachtungseinheit</strong>
847
- , f
848
- </preferred>
849
- <preferred>
850
- <strong>Einheit</strong>
851
- , f
852
- </preferred>
853
- </dd>
854
- <dt>ja</dt>
855
- <dd language='ja' script='Jpan'>
856
- <preferred>
857
- <strong>&#x30A2;&#x30A4;&#x30C6;&#x30E0;</strong>
858
- </preferred>
859
- </dd>
860
- <dt>zh</dt>
861
- <dd language='zh' script='Hans'>
862
- <preferred>
863
- <strong>&#x4EA7;&#x54C1;</strong>
864
- &#xff0c; &#x3c;&#x5728;&#x53EF;&#x9760;&#x6027;&#x65B9;&#x9762;/&#x3e;
865
- </preferred>
866
- </dd>
867
- </dl>
868
- </term>
869
- <term id='paddy1'>
870
- <name>192-01-02</name>
871
- <preferred>
872
- <strong>paddy</strong>
873
- </preferred>
874
- <definition>
875
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747d'>rice retaining its husk after threshing</p>
876
- </definition>
877
- </term>
878
- </terms>
879
- </clause>
880
- </sections>
881
- </iso-standard>
882
- PRESXML
883
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
884
- .convert("test", input, true)
885
- .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
886
- .to be_equivalent_to xmlpp(presxml)
887
- end
888
- end