metanorma-iec 2.1.11 → 2.1.13

Sign up to get free protection for your applications and to get access to all the features.
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