metanorma-iec 1.4.1 → 1.4.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -64,8 +64,13 @@ RSpec.describe IsoDoc do
64
64
  </body>
65
65
  </html>
66
66
  OUTPUT
67
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
68
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
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)
69
74
  end
70
75
 
71
76
  it "processes bibliographies under IEV" do
@@ -227,8 +232,13 @@ RSpec.describe IsoDoc do
227
232
  </body>
228
233
  </html>
229
234
  OUTPUT
230
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
231
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
235
+ expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
236
+ .convert("test", input, true)
237
+ .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
238
+ .to be_equivalent_to xmlpp(presxml)
239
+ expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({})
240
+ .convert("test", presxml, true)))
241
+ .to be_equivalent_to xmlpp(html)
232
242
  end
233
243
 
234
244
  it "processes IEV terms" do
@@ -241,8 +251,8 @@ RSpec.describe IsoDoc do
241
251
  <sections>
242
252
  <clause id="_terms_and_definitions" obligation="normative"><title>Terms and definitions</title>
243
253
  <terms id="_general" obligation="normative"><title>General</title>
244
- <term id="paddy1"><preferred>paddy</preferred>
245
- <definition><verbaldefinition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbaldefinition></definition>
254
+ <term id="paddy1"><preferred><expression><name>paddy</name></expression></preferred>
255
+ <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbal-definition></definition>
246
256
  <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892">
247
257
  <p id="_65c9a509-9a89-4b54-a890-274126aeb55c">Foreign seeds, husks, bran, sand, dust.</p>
248
258
  <ul>
@@ -260,11 +270,12 @@ RSpec.describe IsoDoc do
260
270
  <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>
261
271
  </modification>
262
272
  </termsource></term>
263
- <term id="paddy"><preferred>paddy</preferred><admitted>paddy rice</admitted>
264
- <admitted>rough rice</admitted>
265
- <deprecates>cargo rice</deprecates>
273
+ <term id="paddy"><preferred><expression><name>paddy</name></expression></preferred>
274
+ <admitted><expression><name>paddy rice</name></expression></admitted>
275
+ <admitted><expression><name>rough rice</name></expression></admitted>
276
+ <deprecates><expression><name>cargo rice</name></expression></deprecates>
266
277
  <domain>rice</domain>
267
- <definition><verbaldefinition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbaldefinition></definition>
278
+ <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbal-definition></definition>
268
279
  <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f893">
269
280
  <ul>
270
281
  <li>A</li>
@@ -287,6 +298,7 @@ RSpec.describe IsoDoc do
287
298
  INPUT
288
299
 
289
300
  presxml = <<~INPUT
301
+ <?xml version='1.0'?>
290
302
  <iso-standard xmlns="http://riboseinc.com/isoxml" type="presentation">
291
303
  <bibdata type='standard'>
292
304
  <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
@@ -297,7 +309,7 @@ RSpec.describe IsoDoc do
297
309
  <terms id="_general" obligation="normative"><title>192-01 General</title>
298
310
  <term id="paddy1">
299
311
  <name>192-01-01</name>
300
- <preferred>paddy</preferred>
312
+ <preferred><strong>paddy</strong></preferred>
301
313
  <definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></definition>
302
314
  <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f892">
303
315
  <name>EXAMPLE 1</name>
@@ -312,19 +324,16 @@ RSpec.describe IsoDoc do
312
324
  <li>A</li>
313
325
  </ul>
314
326
  </termexample>
315
- <termsource status="modified">
316
- <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
317
- <modification>
318
- <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>
319
- </modification>
320
- </termsource></term>
327
+ <termsource status="modified">SOURCE:
328
+ <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;
329
+ The term "cargo rice" is shown as deprecated, and Note 1 to entry is not included here</termsource>
330
+ </term>
321
331
  <term id="paddy">
322
332
  <name>192-01-02</name>
323
- <preferred>paddy</preferred><admitted>paddy rice</admitted>
333
+ <preferred><strong>paddy</strong></preferred><admitted>paddy rice</admitted>
324
334
  <admitted>rough rice</admitted>
325
335
  <deprecates>cargo rice</deprecates>
326
- <domain>rice</domain>
327
- <definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></definition>
336
+ <definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">&#x3c;rice&#x3e; rice retaining its husk after threshing</p></definition>
328
337
  <termexample id="_bd57bbf1-f948-4bae-b0ce-73c00431f893">
329
338
  <name>EXAMPLE</name>
330
339
  <ul>
@@ -340,7 +349,7 @@ RSpec.describe IsoDoc do
340
349
  <ul><li>A</li></ul>
341
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>
342
351
  </termnote>
343
- <termsource status="identical">
352
+ <termsource status="identical">SOURCE:
344
353
  <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
345
354
  </termsource></term>
346
355
  </terms>
@@ -356,87 +365,95 @@ RSpec.describe IsoDoc do
356
365
  <div class='boilerplate_legal'/>
357
366
  </div>
358
367
  #{IEC_TITLE1}
359
- <div id='_terms_and_definitions'>
360
- <h1>1&#160; Terms and definitions</h1>
361
- <br/>
362
- <div id='_general'>
363
- <p class='zzSTDTitle2'>
364
- <b>192-01 General</b>
365
- </p>
366
- <p class='TermNum' id='paddy1'>192-01-01</p>
367
- <p class='Terms' style='text-align:left;'>paddy</p>
368
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
369
- <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f892' class='example'>
370
- <p>
371
- <span class='example_label'>EXAMPLE 1</span>
372
- &#160; Foreign seeds, husks, bran, sand, dust.
373
- </p>
374
- <ul>
375
- <li>A</li>
376
- </ul>
377
- </div>
378
- <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f894' class='example'>
379
- <p>
380
- <span class='example_label'>EXAMPLE 2</span>
381
- &#160;
382
- </p>
383
- <ul>
384
- <li>A</li>
385
- </ul>
386
- </div>
387
- <p>
388
- [TERMREF]
389
- <a href='#ISO7301'>ISO 7301:2011, 3.1</a>
390
- [MODIFICATION]The term "cargo rice" is shown as deprecated, and
391
- Note 1 to entry is not included here [/TERMREF]
392
- </p>
393
- <p class='TermNum' id='paddy'>192-01-02</p>
394
- <p class='Terms' style='text-align:left;'>paddy, &lt;rice&gt;</p>
395
- <p class='AltTerms' style='text-align:left;'>paddy rice, &lt;rice&gt;</p>
396
- <p class='AltTerms' style='text-align:left;'>rough rice, &lt;rice&gt;</p>
397
- <p class='DeprecatedTerms' style='text-align:left;'>DEPRECATED: cargo rice, &lt;rice&gt;</p>
398
- <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
399
- <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f893' class='example'>
400
- <p>
401
- <span class='example_label'>EXAMPLE</span>
402
- &#160;
403
- </p>
404
- <ul>
405
- <li>A</li>
406
- </ul>
407
- </div>
408
- <div class='Note' id='_671a1994-4783-40d0-bc81-987d06ffb74e'>
409
- <p>
410
- Note 1 to entry: The starch of waxy rice consists almost entirely
411
- of amylopectin. The kernels have a tendency to stick together
412
- after cooking.
413
- </p>
414
- </div>
415
- <div class='Note' id='_671a1994-4783-40d0-bc81-987d06ffb74f'>
416
- <p>
417
- Note 2 to entry:
418
- <ul>
419
- <li>A</li>
420
- </ul>
421
- <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
422
- The starch of waxy rice consists almost entirely of amylopectin.
423
- The kernels have a tendency to stick together after cooking.
424
- </p>
425
- </p>
426
- </div>
427
- <p>
428
- [TERMREF]
429
- <a href='#ISO7301'>ISO 7301:2011, 3.1</a>
430
- [/TERMREF]
431
- </p>
432
- </div>
433
- </div>
434
- </div>
435
- </body>
436
- </html>
368
+ <div id='_terms_and_definitions'>
369
+ <h1>1&#160; Terms and definitions</h1>
370
+ <br/>
371
+ <div id='_general'>
372
+ <p class='zzSTDTitle2'>
373
+ <b>192-01 General</b>
374
+ </p>
375
+ <p class='TermNum' id='paddy1'>192-01-01</p>
376
+ <p class='Terms' style='text-align:left;'>
377
+ <b>paddy</b>
378
+ </p>
379
+ <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
380
+ <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f892' class='example'>
381
+ <p>
382
+ <span class='example_label'>EXAMPLE 1</span>
383
+ &#160; Foreign seeds, husks, bran, sand, dust.
384
+ </p>
385
+ <ul>
386
+ <li>A</li>
387
+ </ul>
388
+ </div>
389
+ <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f894' class='example'>
390
+ <p>
391
+ <span class='example_label'>EXAMPLE 2</span>
392
+ &#160;
393
+ </p>
394
+ <ul>
395
+ <li>A</li>
396
+ </ul>
397
+ </div>
398
+ <p>
399
+ SOURCE:
400
+ <a href='#ISO7301'>ISO 7301:2011, 3.1</a>
401
+ , modified &#8211; The term "cargo rice" is shown as deprecated, and
402
+ Note 1 to entry is not included here
403
+ </p>
404
+ <p class='TermNum' id='paddy'>192-01-02</p>
405
+ <p class='Terms' style='text-align:left;'>
406
+ <b>paddy</b>
407
+ </p>
408
+ <p class='AltTerms' style='text-align:left;'>paddy rice</p>
409
+ <p class='AltTerms' style='text-align:left;'>rough rice</p>
410
+ <p class='DeprecatedTerms' style='text-align:left;'>DEPRECATED: cargo rice</p>
411
+ <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>&lt;rice&gt; rice retaining its husk after threshing</p>
412
+ <div id='_bd57bbf1-f948-4bae-b0ce-73c00431f893' class='example'>
413
+ <p>
414
+ <span class='example_label'>EXAMPLE</span>
415
+ &#160;
416
+ </p>
417
+ <ul>
418
+ <li>A</li>
419
+ </ul>
420
+ </div>
421
+ <div id='_671a1994-4783-40d0-bc81-987d06ffb74e' class='Note'>
422
+ <p>
423
+ Note 1 to entry: The starch of waxy rice consists almost entirely
424
+ of amylopectin. The kernels have a tendency to stick together
425
+ after cooking.
426
+ </p>
427
+ </div>
428
+ <div id='_671a1994-4783-40d0-bc81-987d06ffb74f' class='Note'>
429
+ <p>
430
+ Note 2 to entry:
431
+ <ul>
432
+ <li>A</li>
433
+ </ul>
434
+ <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
435
+ The starch of waxy rice consists almost entirely of amylopectin.
436
+ The kernels have a tendency to stick together after cooking.
437
+ </p>
438
+ </p>
439
+ </div>
440
+ <p>
441
+ SOURCE:
442
+ <a href='#ISO7301'>ISO 7301:2011, 3.1</a>
443
+ </p>
444
+ </div>
445
+ </div>
446
+ </div>
447
+ </body>
448
+ </html>
437
449
  OUTPUT
438
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
439
- expect(xmlpp(IsoDoc::Iec::HtmlConvert.new({}).convert("test", presxml, true))).to be_equivalent_to xmlpp(html)
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)
440
457
  end
441
458
 
442
459
  it "populates Word template with terms reference labels" do
@@ -451,8 +468,8 @@ RSpec.describe IsoDoc do
451
468
  <sections>
452
469
  <clause id="_terms_and_definitions" obligation="normative" displayorder="1"><title>Terms and definitions</title>
453
470
  <terms id="_general" obligation="normative"><title>General</title>
454
- <term id="paddy1"><preferred>paddy</preferred>
455
- <definition><verbaldefinition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbaldefinition></definition>
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>
456
473
  <termsource status="modified">
457
474
  <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
458
475
  <modification>
@@ -477,23 +494,16 @@ RSpec.describe IsoDoc do
477
494
  <title>192-01 General</title>
478
495
  <term id='paddy1'>
479
496
  <name>192-01-01</name>
480
- <preferred>paddy</preferred>
497
+ <preferred><strong>paddy</strong></preferred>
481
498
  <definition>
482
499
  <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
483
500
  </definition>
484
- <termsource status='modified'>
485
- <origin bibitemid='ISO7301' type='inline' citeas='ISO 7301:2011'>
486
- <locality type='clause'>
501
+ <termsource status='modified'>SOURCE:
502
+ <origin bibitemid='ISO7301' type='inline' citeas='ISO 7301:2011'><locality type='clause'>
487
503
  <referenceFrom>3.1</referenceFrom>
488
- </locality>
489
- ISO 7301:2011, 3.1
490
- </origin>
491
- <modification>
492
- <p id='_e73a417d-ad39-417d-a4c8-20e4e2529489'>
504
+ </locality>ISO 7301:2011, 3.1</origin>, modified &#x2013;
493
505
  The term "cargo rice" is shown as deprecated, and Note 1 to
494
506
  entry is not included here
495
- </p>
496
- </modification>
497
507
  </termsource>
498
508
  </term>
499
509
  </terms>
@@ -501,9 +511,13 @@ RSpec.describe IsoDoc do
501
511
  </sections>
502
512
  </iso-standard>
503
513
  OUTPUT
504
- expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({}).convert("test", input, true).sub(%r{<localized-strings>.*</localized-strings>}m, ""))).to be_equivalent_to xmlpp(presxml)
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)
505
518
  IsoDoc::Iec::WordConvert.new({}).convert("test", presxml, false)
506
- word = File.read("test.doc").sub(/^.*<div class="WordSection3">/m, '<div class="WordSection3">')
519
+ word = File.read("test.doc")
520
+ .sub(/^.*<div class="WordSection3">/m, '<div class="WordSection3">')
507
521
  .sub(%r{<br clear="all" style="page-break-before:left;mso-break-type:section-break"/>.*$}m, "")
508
522
  expect(xmlpp(word)).to be_equivalent_to xmlpp(<<~"OUTPUT")
509
523
  <div class='WordSection3'>
@@ -530,7 +544,7 @@ RSpec.describe IsoDoc do
530
544
  <a name='paddy1' id='paddy1'/>
531
545
  192-01-01
532
546
  </p>
533
- <p class='Terms' style='text-align:left;'>paddy</p>
547
+ <p class='Terms' style='text-align:left;'><b>paddy</b></p>
534
548
  <p class='MsoNormal'>
535
549
  <a name='_eb29b35e-123e-4d1c-b50b-2714d41e747f' id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'/>
536
550
  rice retaining its husk after threshing
@@ -538,7 +552,7 @@ RSpec.describe IsoDoc do
538
552
  <p class='MsoNormal'>
539
553
  SOURCE:
540
554
  <a href='#ISO7301'>ISO 7301:2011, 3.1</a>
541
- , modified &#x2014; The term "cargo rice" is shown as deprecated, and
555
+ , modified &#x2013; The term "cargo rice" is shown as deprecated, and
542
556
  Note 1 to entry is not included here
543
557
  </p>
544
558
  </div>
@@ -546,4 +560,331 @@ RSpec.describe IsoDoc do
546
560
  </div>
547
561
  OUTPUT
548
562
  end
563
+
564
+ it "convert termbase references to the current document to xrefs" do
565
+ input = <<~INPUT
566
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
567
+ <bibdata type='standard'>
568
+ <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
569
+ <docnumber>60050</docnumber>
570
+ <ext>
571
+ <doctype>international-standard</doctype>
572
+ <horizontal>false</horizontal>
573
+ <structuredidentifier>
574
+ <project-number part="192">IEC 60050</project-number>
575
+ </structuredidentifier>
576
+ <stagename>International standard</stagename>
577
+ </ext>
578
+ </bibdata>
579
+ <sections>
580
+ <clause id="_terms_and_definitions" obligation="normative" displayorder="1"><title>Terms and definitions</title>
581
+ <terms id="_general" obligation="normative"><title>General</title>
582
+ <term id="term-durability"><preferred><expression><name>durability</name></expression><field-of-application>of an item</field-of-application></preferred>
583
+ <definition><verbaldefinition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">rice retaining its husk after threshing</p></verbaldefinition></definition>
584
+ <termnote id="_5f49cfad-e57e-5029-78cf-5b7e3e10a3b3">
585
+ <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>
586
+ </termnote>
587
+ </term>
588
+ <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>
589
+ </term>
590
+ </terms>
591
+ </clause>
592
+ </sections>
593
+ </iso-standard>
594
+ INPUT
595
+ presxml = <<~PRESXML
596
+ <?xml version='1.0'?>
597
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
598
+ <bibdata type='standard'>
599
+ <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
600
+ <docnumber>60050</docnumber>
601
+ <ext>
602
+ <doctype language=''>international-standard</doctype>
603
+ <doctype language='fr'>Norme international</doctype>
604
+ <doctype language='en'>International Standard</doctype>
605
+ <horizontal language=''>false</horizontal>
606
+ <structuredidentifier>
607
+ <project-number part='192'>IEC 60050</project-number>
608
+ </structuredidentifier>
609
+ <stagename>International standard</stagename>
610
+ </ext>
611
+ </bibdata>
612
+ <sections>
613
+ <clause id='_terms_and_definitions' obligation='normative' displayorder='1'>
614
+ <title depth='1'>1<tab/>Terms and definitions</title>
615
+ <terms id='_general' obligation='normative'>
616
+ <title>192-01 General</title>
617
+ <term id='term-durability'>
618
+ <name>192-01-01</name>
619
+ <preferred><strong>durability</strong>, &#x3c;of an item&#x3e;</preferred>
620
+ <definition>
621
+ <verbaldefinition>
622
+ <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>rice retaining its husk after threshing</p>
623
+ </verbaldefinition>
624
+ </definition>
625
+ <termnote id='_5f49cfad-e57e-5029-78cf-5b7e3e10a3b3'>
626
+ <name>Note 1 to entry</name>
627
+ <p id='_8c830e60-8f09-73a2-6393-2a27d9c5b1ce'>Dependability includes availability (<em>192-01-02</em>
628
+ (<xref target='term-sub-item'>192-01-02</xref>),
629
+ <em>191-01-02</em>
630
+ [term defined in
631
+ <termref base='IEV' target='191-01-02'/>])</p>
632
+ </termnote>
633
+ </term>
634
+ <term id='term-sub-item'>
635
+ <name>192-01-02</name>
636
+ <preferred><strong>sub item</strong></preferred>
637
+ <definition>
638
+ <p id='_6952e988-8803-159d-a32e-57147fbf3d86'>part of the subject being considered</p>
639
+ </definition>
640
+ </term>
641
+ </terms>
642
+ </clause>
643
+ </sections>
644
+ </iso-standard>
645
+ PRESXML
646
+ expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
647
+ .convert("test", input, true)
648
+ .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
649
+ .to be_equivalent_to xmlpp(presxml)
650
+ end
651
+
652
+ it "processes multilingual IEV terms" do
653
+ input = <<~INPUT
654
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
655
+ <bibdata type='standard'>
656
+ <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
657
+ <docnumber>60050</docnumber>
658
+ </bibdata>
659
+ <sections>
660
+ <clause id="_terms_and_definitions" obligation="normative"><title>Terms and definitions</title>
661
+ <terms id="_general" obligation="normative"><title>General</title>
662
+ <term id="item" language="en" tag="item">
663
+ <preferred><expression language="en"><name>system</name></expression><field-of-application>in dependability</field-of-application></preferred>
664
+ <preferred><expression language="de"><name>Betrachtungseinheit</name<grammar><gender>feminine</gender></grammar></expression></preferred>
665
+ <preferred><expression language="ja"><name>アイテム</name></expression></preferred>
666
+ <preferred><expression language="de"><name>Einheit</name><grammar><gender>feminine</gender></grammar></expression></preferred>
667
+ <preferred><expression language="zh"><name>&#20135;&#21697;</name></expression><field-of-application>在可靠性方面</field-of-application></preferred>
668
+ <preferred><expression language="ar"><name>نظام،</name></expression><field-of-application>في الاعتمادیة</field-of-application></preferred>
669
+ <admitted><expression><name>paddy rice</name></expression></admitted>
670
+ <admitted><expression><name>rough rice</name></expression></admitted>
671
+ <deprecates><expression><name>cargo rice</name></expression></deprecates>
672
+ <related type='contrast'><preferred><expression><name>Fifth Designation</name></expression></preferred><xref target="paddy1"/></related>
673
+ <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747f">set of interrelated items that collectively fulfil a requirement</p></verbal-definition></definition>
674
+ <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74e">
675
+ <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">A system is considered to have a defined real or abstract boundary.</p>
676
+ </termnote>
677
+ <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74d">
678
+ <p id="_19830f33-e46c-42cc-94ca-a5ef101132d5">External resources (from outside the system boundary) may be required for the system to operate.</p>
679
+ </termnote>
680
+ <termexample id="_671a1994-4783-40d0-bc81-987d06ffb740">
681
+ <p id="_19830f33-e46c-42cc-94ca-a5ef101132d0">External resources (from outside the system boundary) may be required for the system to operate.</p>
682
+ </termexample>
683
+ <termsource status="modified">
684
+ <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
685
+ <modification>modified by extension to suit the dependability context</modification>
686
+ </termsource></term>
687
+ <term id="item-fr" language="fr" tag="item">
688
+ <preferred><expression language="fr"><name>entité</name<grammar><gender>masculine</gender></grammar></expression>
689
+ <field-of-application>en sûreté de fonctionnement</field-of-application>
690
+ </preferred>
691
+ <related type='contrast'><preferred><expression><name>Designation cinquième</name></expression></preferred><xref target="paddy1"/></related>
692
+ <related type='see'><preferred><expression><name>Designation sixième</name></expression></preferred><xref target="paddy1"/></related>
693
+ <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>
694
+ <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74c">
695
+ <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>
696
+ </termnote>
697
+ <termnote id="_671a1994-4783-40d0-bc81-987d06ffb74b">
698
+ <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>
699
+ </termnote>
700
+ <termexample id="_671a1994-4783-40d0-bc81-987d06ffb741">
701
+ <p id="_19830f33-e46c-42cc-94ca-a5ef101132d1">External resources (from outside the system boundary) may be required for the system to operate.</p>
702
+ </termexample>
703
+ <termsource status="modified">
704
+ <origin bibitemid="ISO7301" type="inline" citeas="ISO 7301:2011"><locality type="clause"><referenceFrom>3.1</referenceFrom></locality>ISO 7301:2011, 3.1</origin>
705
+ <modification>modifié pour adapter au contexte de la sûreté de fonctionnement</modification>
706
+ </termsource></term>
707
+ <term id="paddy1"><preferred><expression><name>paddy</name></expression></preferred>
708
+ <definition><verbal-definition><p id="_eb29b35e-123e-4d1c-b50b-2714d41e747d">rice retaining its husk after threshing</p></verbal-definition></definition>
709
+ </term>
710
+ </terms>
711
+ </clause>
712
+ </sections>
713
+ </iso-standard>
714
+ INPUT
715
+
716
+ presxml = <<~PRESXML
717
+ <iso-standard xmlns='http://riboseinc.com/isoxml' type='presentation'>
718
+ <bibdata type='standard'>
719
+ <docidentifier type='ISO'>IEC 60050-192 ED 1</docidentifier>
720
+ <docnumber>60050</docnumber>
721
+ </bibdata>
722
+ <sections>
723
+ <clause id='_terms_and_definitions' obligation='normative' displayorder='1'>
724
+ <title depth='1'>
725
+ 1
726
+ <tab/>
727
+ Terms and definitions
728
+ </title>
729
+ <terms id='_general' obligation='normative'>
730
+ <title>192-01 General</title>
731
+ <term id='item' language='en,fr'>
732
+ <name>192-01-01</name>
733
+ <preferred>
734
+ <strong>system</strong>
735
+ , &#x3c;in dependability&#x3e;
736
+ </preferred>
737
+ <admitted>paddy rice</admitted>
738
+ <admitted>rough rice</admitted>
739
+ <deprecates>cargo rice</deprecates>
740
+ <definition>
741
+ <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747f'>set of interrelated items that collectively fulfil a requirement</p>
742
+ </definition>
743
+ <p>
744
+ CONTRAST:
745
+ <strong>Fifth Designation</strong>
746
+ (
747
+ <xref target='paddy1'>192-01-02</xref>
748
+ )
749
+ </p>
750
+ <termexample id='_671a1994-4783-40d0-bc81-987d06ffb740'>
751
+ <name>EXAMPLE</name>
752
+ <p id='_19830f33-e46c-42cc-94ca-a5ef101132d0'>
753
+ External resources (from outside the system boundary) may be
754
+ required for the system to operate.
755
+ </p>
756
+ </termexample>
757
+ <termnote id='_671a1994-4783-40d0-bc81-987d06ffb74e'>
758
+ <name>Note 1 to entry</name>
759
+ <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>A system is considered to have a defined real or abstract boundary.</p>
760
+ </termnote>
761
+ <termnote id='_671a1994-4783-40d0-bc81-987d06ffb74d'>
762
+ <name>Note 2 to entry</name>
763
+ <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
764
+ External resources (from outside the system boundary) may be
765
+ required for the system to operate.
766
+ </p>
767
+ </termnote>
768
+ <termsource status='modified'>
769
+ SOURCE:
770
+ <origin bibitemid='ISO7301' type='inline' citeas='ISO 7301:2011'>
771
+ <locality type='clause'>
772
+ <referenceFrom>3.1</referenceFrom>
773
+ </locality>
774
+ ISO 7301:2011, 3.1
775
+ </origin>
776
+ , modified &#x2013; modified by extension to suit the dependability
777
+ context
778
+ </termsource>
779
+ <preferred>
780
+ <strong>entit&#xE9;</strong>
781
+ , &#x3c;en s&#xFB;ret&#xE9; de fonctionnement&#x3e;, m
782
+ </preferred>
783
+ <definition>
784
+ <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747d'>
785
+ ensemble d&#x2019;entit&#xE9;s reli&#xE9;es entre elles qui
786
+ satisfont collectivement &#xE0; une exigence
787
+ </p>
788
+ </definition>
789
+ <p>
790
+ CONTRASTEZ:
791
+ <strong>Designation cinqui&#xE8;me</strong>
792
+ (
793
+ <xref target='paddy1'>192-01-02</xref>
794
+ )
795
+ </p>
796
+ <p>
797
+ VOIR:
798
+ <strong>Designation sixi&#xE8;me</strong>
799
+ (
800
+ <xref target='paddy1'>192-01-02</xref>
801
+ )
802
+ </p>
803
+ <termexample id='_671a1994-4783-40d0-bc81-987d06ffb741'>
804
+ <name>EXEMPLE</name>
805
+ <p id='_19830f33-e46c-42cc-94ca-a5ef101132d1'>
806
+ External resources (from outside the system boundary) may be
807
+ required for the system to operate.
808
+ </p>
809
+ </termexample>
810
+ <termnote id='_671a1994-4783-40d0-bc81-987d06ffb74c'>
811
+ <name>Note 1 &#xE0; l&#x2019;article</name>
812
+ <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
813
+ Un syst&#xE8;me est consid&#xE9;r&#xE9; comme ayant une
814
+ fronti&#xE8;re d&#xE9;finie, r&#xE9;elle ou abstraite.
815
+ </p>
816
+ </termnote>
817
+ <termnote id='_671a1994-4783-40d0-bc81-987d06ffb74b'>
818
+ <name>Note 2 &#xE0; l&#x2019;article</name>
819
+ <p id='_19830f33-e46c-42cc-94ca-a5ef101132d5'>
820
+ Des ressources externes (provenant d&#x2019;au-del&#xE0; de la
821
+ fronti&#xE8;re) peuvent &#xEA;tre n&#xE9;cessaires au
822
+ fonctionnement du syst&#xE8;me.
823
+ </p>
824
+ </termnote>
825
+ <termsource status='modified'>
826
+ SOURCE:
827
+ <origin bibitemid='ISO7301' type='inline' citeas='ISO 7301:2011'>
828
+ <locality type='clause'>
829
+ <referenceFrom>3.1</referenceFrom>
830
+ </locality>
831
+ ISO 7301:2011, 3.1
832
+ </origin>
833
+ , modifi&#xE9; &#x2013; modifi&#xE9; pour adapter au contexte de la
834
+ s&#xFB;ret&#xE9; de fonctionnement
835
+ </termsource>
836
+ <dl type='other-lang'>
837
+ <dt>ar</dt>
838
+ <dd language='ar' script='Arab'>
839
+ <preferred>
840
+ <strong>&#x61C;&#x646;&#x638;&#x627;&#x645;&#x60C;&#x61C;</strong>
841
+ &#x61C;, &#x3c;&#x641;&#x64A;
842
+ &#x627;&#x644;&#x627;&#x639;&#x62A;&#x645;&#x627;&#x62F;&#x6CC;&#x629;&#x3e;&#x61C;
843
+ </preferred>
844
+ </dd>
845
+ <dt>de</dt>
846
+ <dd language='de' script='Latn'>
847
+ <preferred>
848
+ <strong>Betrachtungseinheit</strong>
849
+ , f
850
+ </preferred>
851
+ <preferred>
852
+ <strong>Einheit</strong>
853
+ , f
854
+ </preferred>
855
+ </dd>
856
+ <dt>ja</dt>
857
+ <dd language='ja' script='Jpan'>
858
+ <preferred>
859
+ <strong>&#x30A2;&#x30A4;&#x30C6;&#x30E0;</strong>
860
+ </preferred>
861
+ </dd>
862
+ <dt>zh</dt>
863
+ <dd language='zh' script='Hans'>
864
+ <preferred>
865
+ <strong>&#x4EA7;&#x54C1;</strong>
866
+ &#x3001;&#x3c;&#x5728;&#x53EF;&#x9760;&#x6027;&#x65B9;&#x9762;&#x3e;
867
+ </preferred>
868
+ </dd>
869
+ </dl>
870
+ </term>
871
+ <term id='paddy1'>
872
+ <name>192-01-02</name>
873
+ <preferred>
874
+ <strong>paddy</strong>
875
+ </preferred>
876
+ <definition>
877
+ <p id='_eb29b35e-123e-4d1c-b50b-2714d41e747d'>rice retaining its husk after threshing</p>
878
+ </definition>
879
+ </term>
880
+ </terms>
881
+ </clause>
882
+ </sections>
883
+ </iso-standard>
884
+ PRESXML
885
+ expect(xmlpp(IsoDoc::Iec::PresentationXMLConvert.new({})
886
+ .convert("test", input, true)
887
+ .sub(%r{<localized-strings>.*</localized-strings>}m, "")))
888
+ .to be_equivalent_to xmlpp(presxml)
889
+ end
549
890
  end