metanorma-ogc 1.4.1 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/asciidoctor/ogc/basicdoc.rng +21 -4
  3. data/lib/asciidoctor/ogc/cleanup.rb +173 -0
  4. data/lib/asciidoctor/ogc/converter.rb +19 -76
  5. data/lib/asciidoctor/ogc/isodoc.rng +218 -52
  6. data/lib/asciidoctor/ogc/reqt.rng +23 -2
  7. data/lib/asciidoctor/ogc/validate.rb +35 -20
  8. data/lib/isodoc/ogc/base_convert.rb +47 -10
  9. data/lib/isodoc/ogc/html/htmlstyle.css +10 -0
  10. data/lib/isodoc/ogc/html/htmlstyle.scss +12 -0
  11. data/lib/isodoc/ogc/html/ogc.css +4 -0
  12. data/lib/isodoc/ogc/html/ogc.scss +4 -0
  13. data/lib/isodoc/ogc/html/wordstyle.css +12 -1
  14. data/lib/isodoc/ogc/html/wordstyle.scss +12 -1
  15. data/lib/isodoc/ogc/html/wordstyle_wp.css +12 -1
  16. data/lib/isodoc/ogc/html/wordstyle_wp.scss +12 -1
  17. data/lib/isodoc/ogc/i18n-en.yaml +10 -8
  18. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +268 -33
  19. data/lib/isodoc/ogc/ogc.best-practice.xsl +268 -33
  20. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +268 -33
  21. data/lib/isodoc/ogc/ogc.community-practice.xsl +268 -33
  22. data/lib/isodoc/ogc/ogc.community-standard.xsl +268 -33
  23. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +268 -33
  24. data/lib/isodoc/ogc/ogc.engineering-report.xsl +268 -33
  25. data/lib/isodoc/ogc/ogc.other.xsl +268 -33
  26. data/lib/isodoc/ogc/ogc.policy.xsl +268 -33
  27. data/lib/isodoc/ogc/ogc.reference-model.xsl +268 -33
  28. data/lib/isodoc/ogc/ogc.release-notes.xsl +268 -33
  29. data/lib/isodoc/ogc/ogc.standard.xsl +268 -33
  30. data/lib/isodoc/ogc/ogc.test-suite.xsl +268 -33
  31. data/lib/isodoc/ogc/ogc.user-guide.xsl +268 -33
  32. data/lib/isodoc/ogc/ogc.white-paper.xsl +167 -10
  33. data/lib/isodoc/ogc/presentation_xml_convert.rb +6 -3
  34. data/lib/isodoc/ogc/reqt.rb +49 -36
  35. data/lib/isodoc/ogc/xref.rb +1 -2
  36. data/lib/metanorma/ogc/version.rb +1 -1
  37. metadata +3 -2
@@ -1,7 +1,13 @@
1
1
  module Asciidoctor
2
2
  module Ogc
3
3
  class Converter < Standoc::Converter
4
- def title_validate(root)
4
+ def validate(doc)
5
+ content_validate(doc)
6
+ schema_validate(formattedstr_strip(doc.dup),
7
+ File.join(File.dirname(__FILE__), "ogc.rng"))
8
+ end
9
+
10
+ def title_validate(_root)
5
11
  nil
6
12
  end
7
13
 
@@ -18,8 +24,9 @@ module Asciidoctor
18
24
  def stage_validate(xmldoc)
19
25
  stage = xmldoc&.at("//bibdata/status/stage")&.text
20
26
  %w(swg-draft oab-review public-rfc tc-vote
21
- approved deprecated retired).include? stage or
22
- @log.add("Document Attributes", nil, "#{stage} is not a recognised status")
27
+ approved deprecated retired).include? stage or
28
+ @log.add("Document Attributes", nil,
29
+ "#{stage} is not a recognised status")
23
30
  end
24
31
 
25
32
  def version_validate(xmldoc)
@@ -27,10 +34,12 @@ module Asciidoctor
27
34
  doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
28
35
  if %w(engineering-report discussion-paper).include? doctype
29
36
  version.nil? or
30
- @log.add("Document Attributes", nil, "Version not permitted for #{doctype}")
37
+ @log.add("Document Attributes", nil,
38
+ "Version not permitted for #{doctype}")
31
39
  else
32
40
  version.nil? and
33
- @log.add("Document Attributes", nil, "Version required for #{doctype}")
41
+ @log.add("Document Attributes", nil,
42
+ "Version required for #{doctype}")
34
43
  end
35
44
  end
36
45
 
@@ -41,7 +50,7 @@ module Asciidoctor
41
50
  end
42
51
 
43
52
  STANDARDTYPE = %w{standard standard-with-suite abstract-specification
44
- community-standard profile}.freeze
53
+ community-standard profile}.freeze
45
54
 
46
55
  # spec of permissible section sequence
47
56
  # we skip normative references, it goes to end of list
@@ -49,24 +58,25 @@ module Asciidoctor
49
58
  [
50
59
  {
51
60
  msg: "Prefatory material must be followed by (clause) Scope",
52
- val: ["./self::clause[@type = 'scope']" ]
61
+ val: ["./self::clause[@type = 'scope']"],
53
62
  },
54
63
  {
55
64
  msg: "Scope must be followed by Conformance",
56
- val: ["./self::clause[@type = 'conformance']" ]
65
+ val: ["./self::clause[@type = 'conformance']"],
57
66
  },
58
67
  {
59
68
  msg: "Normative References must be followed by "\
60
- "Terms and Definitions",
61
- val: ["./self::terms | .//terms"]
69
+ "Terms and Definitions",
70
+ val: ["./self::terms | .//terms"],
62
71
  },
63
- ].freeze
72
+ ].freeze
64
73
 
65
74
  def seqcheck(names, msg, accepted)
66
75
  n = names.shift
67
76
  return [] if n.nil?
77
+
68
78
  test = accepted.map { |a| n.at(a) }
69
- if test.all? { |a| a.nil? }
79
+ if test.all?(&:nil?)
70
80
  @log.add("Style", nil, msg)
71
81
  end
72
82
  names
@@ -74,7 +84,9 @@ module Asciidoctor
74
84
 
75
85
  def sections_sequence_validate(root)
76
86
  return unless STANDARDTYPE.include?(
77
- root&.at("//bibdata/ext/doctype")&.text)
87
+ root&.at("//bibdata/ext/doctype")&.text,
88
+ )
89
+
78
90
  names = root.xpath("//sections/* | //bibliography/*")
79
91
  names = seqcheck(names, SEQ[0][:msg], SEQ[0][:val])
80
92
  names = seqcheck(names, SEQ[1][:msg], SEQ[1][:val])
@@ -84,25 +96,28 @@ module Asciidoctor
84
96
  n = names.shift
85
97
  end
86
98
  if n.nil? || n.name != "clause"
87
- @log.add("Style", nil, "Document must contain at least one clause")
99
+ @log.add("Style", nil,
100
+ "Document must contain at least one clause")
88
101
  return
89
102
  end
90
103
  root.at("//references | //clause[descendant::references]"\
91
104
  "[not(parent::clause)]") or
92
- @log.add("Style", nil, "Normative References are mandatory")
105
+ @log.add("Style", nil, "Normative References are mandatory")
93
106
  end
94
107
 
95
108
  def preface_sequence_validate(root)
96
- root.at("//preface/abstract") or @log.add("Style", nil, "Abstract is missing!")
109
+ root.at("//preface/abstract") or @log.add("Style", nil,
110
+ "Abstract is missing!")
97
111
  root.at("//bibdata/keyword | //bibdata/ext/keyword") or
98
112
  @log.add("Style", nil, "Keywords are missing!")
99
- root.at("//foreword") or @log.add("Style", nil, "Preface is missing!")
113
+ root.at("//foreword") or @log.add("Style", nil,
114
+ "Preface is missing!")
100
115
  root.at("//bibdata/contributor[role/@type = 'author']/organization/"\
101
116
  "name") or
102
- @log.add("Style", nil, "Submitting Organizations is missing!")
103
- root.at("//submitters") or @log.add("Style", nil, "Submitters is missing!")
117
+ @log.add("Style", nil, "Submitting Organizations is missing!")
118
+ root.at("//submitters") or @log.add("Style", nil,
119
+ "Submitters is missing!")
104
120
  end
105
121
  end
106
122
  end
107
123
  end
108
-
@@ -15,7 +15,7 @@ module IsoDoc
15
15
  end
16
16
 
17
17
  def hi_parse(node, out)
18
- out.span **{class: "hi"} do |e|
18
+ out.span **{ class: "hi" } do |e|
19
19
  node.children.each { |n| parse(n, e) }
20
20
  end
21
21
  end
@@ -27,23 +27,58 @@ module IsoDoc
27
27
 
28
28
  def term_cleanup(docxml)
29
29
  docxml.xpath("//p[@class = 'Terms']").each do |d|
30
- h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
31
- h2.add_child("&nbsp;")
32
- h2.add_child(d.remove)
30
+ term_cleanup_merge_termnum(d)
31
+ term_cleanup_merge_admitted(d)
33
32
  end
34
33
  docxml
35
34
  end
36
35
 
36
+ def term_cleanup_merge_termnum(term)
37
+ h2 = term.at("./preceding-sibling::*[@class = 'TermNum'][1]")
38
+ term["class"] = h2["class"]
39
+ term["id"] = h2["id"]
40
+ term.children.first.previous = "&#xa0;"
41
+ term.children.first.previous = h2.remove.children
42
+ end
43
+
44
+ def term_cleanup_merge_admitted(term)
45
+ term.xpath("./following-sibling::p[@class = 'AltTerms' or "\
46
+ "@class = 'DeprecatedTerms']").each do |a|
47
+ term << " "
48
+ term << a.children
49
+ a.remove
50
+ end
51
+ end
52
+
53
+ def deprecated_term_parse(node, out)
54
+ out.p **{ class: "DeprecatedTerms" } do |p|
55
+ node.children.each { |c| parse(c, p) }
56
+ p << "&#xa0;"
57
+ p.span **{ class: "AdmittedLabel" } do |s|
58
+ s << l10n(@i18n.deprecated)
59
+ end
60
+ end
61
+ end
62
+
63
+ def admitted_term_parse(node, out)
64
+ out.p **{ class: "AltTerms" } do |p|
65
+ node.children.each { |c| parse(c, p) }
66
+ p << "&#xa0;"
67
+ p.span **{ class: "AdmittedLabel" } do |s|
68
+ s << l10n(@i18n.admitted)
69
+ end
70
+ end
71
+ end
72
+
37
73
  def example_parse(node, out)
38
74
  name = node.at(ns("./name"))
39
- example_name_parse(node, out, name) #if name
75
+ example_name_parse(node, out, name) # if name
40
76
  super
41
77
  end
42
78
 
43
- def example_label(node, div, name)
44
- end
79
+ def example_label(node, div, name); end
45
80
 
46
- def example_name_parse(node, div, name)
81
+ def example_name_parse(_node, div, name)
47
82
  div.p **{ class: "SourceTitle", style: "text-align:center;" } do |p|
48
83
  name&.children&.each { |n| parse(n, p) }
49
84
  end
@@ -56,6 +91,7 @@ module IsoDoc
56
91
 
57
92
  def is_clause?(name)
58
93
  return true if name == "submitters"
94
+
59
95
  super
60
96
  end
61
97
 
@@ -84,8 +120,8 @@ module IsoDoc
84
120
  def make_tr_attr(td, row, totalrows, header)
85
121
  ret = super
86
122
  if td.at("./ancestor::xmlns:table[@class = 'recommendation'] | "\
87
- "./ancestor::xmlns:table[@class = 'requirement'] | "\
88
- "./ancestor::xmlns:table[@class = 'permission']")
123
+ "./ancestor::xmlns:table[@class = 'requirement'] | "\
124
+ "./ancestor::xmlns:table[@class = 'permission']")
89
125
  ret[:style] = "vertical-align:top;"
90
126
  ret[:class] = "recommend"
91
127
  end
@@ -94,6 +130,7 @@ module IsoDoc
94
130
 
95
131
  def para_class(node)
96
132
  return node["class"] if node["class"]
133
+
97
134
  super
98
135
  end
99
136
  end
@@ -784,6 +784,12 @@ ul > li {
784
784
  ul > li:first-child {
785
785
  margin-top: 1em; }
786
786
 
787
+ ul ul > li:first-child {
788
+ margin-top: 0; }
789
+
790
+ ol ul > li:first-child {
791
+ margin-top: 0; }
792
+
787
793
  span.keyword {
788
794
  font-weight: 600; }
789
795
 
@@ -865,6 +871,10 @@ p.AltTerms {
865
871
  font-size: 24px;
866
872
  margin-top: 1em; }
867
873
 
874
+ span.AdmittedLabel {
875
+ color: #00335b;
876
+ background-color: #CFE2F3; }
877
+
868
878
  /* Links, selection */
869
879
  a, a:visited {
870
880
  text-decoration: none;
@@ -273,6 +273,13 @@ ul {
273
273
  }
274
274
  }
275
275
 
276
+ ul ul > li:first-child {
277
+ margin-top: 0;
278
+ }
279
+ ol ul > li:first-child {
280
+ margin-top: 0;
281
+ }
282
+
276
283
 
277
284
  span.keyword {
278
285
  font-weight: 600;
@@ -363,6 +370,11 @@ p.AltTerms {
363
370
  margin-top: 1em;
364
371
  }
365
372
 
373
+ span.AdmittedLabel {
374
+ color: #00335b;
375
+ background-color: #CFE2F3;
376
+ }
377
+
366
378
 
367
379
  /* Links, selection */
368
380
 
@@ -851,3 +851,7 @@ div.warning p {
851
851
 
852
852
  span.hi {
853
853
  background-color: yellow; }
854
+
855
+ span.AdmittedLabel {
856
+ color: #00335b;
857
+ background-color: #CFE2F3; }
@@ -809,3 +809,7 @@ padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;
809
809
  span.hi {
810
810
  background-color: yellow;
811
811
  }
812
+ span.AdmittedLabel {
813
+ color: #00335b;
814
+ background-color: #CFE2F3;
815
+ }
@@ -153,6 +153,7 @@ p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxS
153
153
  p.MsoCommentText, li.MsoCommentText, div.MsoCommentText {
154
154
  mso-style-noshow: yes;
155
155
  mso-style-unhide: no;
156
+ mso-style-name: "Comment Text";
156
157
  margin: 0cm;
157
158
  margin-bottom: .0001pt;
158
159
  mso-pagination: widow-orphan;
@@ -373,6 +374,7 @@ h1 {
373
374
  mso-style-priority: 1;
374
375
  mso-style-unhide: no;
375
376
  mso-style-qformat: yes;
377
+ mso-style-name: "Heading 1";
376
378
  mso-style-link: "Heading 1 Char";
377
379
  mso-style-next: Normal;
378
380
  margin-top: 13.5pt;
@@ -459,6 +461,7 @@ h2 {
459
461
  mso-style-priority: 2;
460
462
  mso-style-unhide: no;
461
463
  mso-style-qformat: yes;
464
+ mso-style-name: "Heading 2";
462
465
  mso-style-parent: "Heading 1";
463
466
  mso-style-link: "Heading 2 Char";
464
467
  mso-style-next: Normal;
@@ -487,7 +490,8 @@ h3 {
487
490
  mso-style-priority: 3;
488
491
  mso-style-unhide: no;
489
492
  mso-style-qformat: yes;
490
- mso-style-parent: "Heading 1";
493
+ mso-style-name: "Heading 3";
494
+ mso-style-parent: "Heading 2";
491
495
  mso-style-link: "Heading 3 Char";
492
496
  mso-style-next: Normal;
493
497
  margin-top: 3.0pt;
@@ -514,6 +518,7 @@ h4 {
514
518
  mso-style-priority: 4;
515
519
  mso-style-unhide: no;
516
520
  mso-style-qformat: yes;
521
+ mso-style-name: "Heading 4";
517
522
  mso-style-parent: "Heading 3";
518
523
  mso-style-link: "Heading 4 Char";
519
524
  mso-style-next: Normal;
@@ -541,6 +546,7 @@ h5 {
541
546
  mso-style-priority: 5;
542
547
  mso-style-unhide: no;
543
548
  mso-style-qformat: yes;
549
+ mso-style-name: "Heading 5";
544
550
  mso-style-parent: "Heading 4";
545
551
  mso-style-link: "Heading 5 Char";
546
552
  mso-style-next: Normal;
@@ -568,6 +574,7 @@ h6 {
568
574
  mso-style-priority: 6;
569
575
  mso-style-unhide: no;
570
576
  mso-style-qformat: yes;
577
+ mso-style-name: "Heading 6";
571
578
  mso-style-parent: "Heading 5";
572
579
  mso-style-link: "Heading 6 Char";
573
580
  mso-style-next: Normal;
@@ -594,6 +601,7 @@ h6 {
594
601
  p.MsoToc1, li.MsoToc1, div.MsoToc1 {
595
602
  mso-style-priority: 39;
596
603
  mso-style-unhide: no;
604
+ mso-style-name: "TOC 1";
597
605
  mso-style-next: Normal;
598
606
  margin-top: 6.0pt;
599
607
  margin-right: 25.0pt;
@@ -617,6 +625,7 @@ p.MsoToc2, li.MsoToc2, div.MsoToc2 {
617
625
  mso-style-noshow: yes;
618
626
  mso-style-priority: 39;
619
627
  mso-style-unhide: no;
628
+ mso-style-name: "TOC 2";
620
629
  mso-style-parent: "TOC 1";
621
630
  mso-style-next: Normal;
622
631
  margin-top: 0cm;
@@ -641,6 +650,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3 {
641
650
  mso-style-noshow: yes;
642
651
  mso-style-priority: 39;
643
652
  mso-style-unhide: no;
653
+ mso-style-name: "TOC 3";
644
654
  mso-style-parent: "TOC 2";
645
655
  mso-style-next: Normal;
646
656
  margin-top: 0cm;
@@ -663,6 +673,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3 {
663
673
 
664
674
  span.MsoFootnoteReference {
665
675
  mso-style-priority: 99;
676
+ mso-style-name: "Footnote Reference";
666
677
  vertical-align: super; }
667
678
 
668
679
  p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText {
@@ -139,6 +139,7 @@ p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxS
139
139
  p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
140
140
  {mso-style-noshow:yes;
141
141
  mso-style-unhide:no;
142
+ mso-style-name:"Comment Text";
142
143
  margin:0cm;
143
144
  margin-bottom:.0001pt;
144
145
  mso-pagination:widow-orphan;
@@ -342,6 +343,7 @@ h1
342
343
  {mso-style-priority:1;
343
344
  mso-style-unhide:no;
344
345
  mso-style-qformat:yes;
346
+ mso-style-name:"Heading 1";
345
347
  mso-style-link:"Heading 1 Char";
346
348
  mso-style-next:Normal;
347
349
  margin-top:13.5pt;
@@ -425,6 +427,7 @@ h2
425
427
  {mso-style-priority:2;
426
428
  mso-style-unhide:no;
427
429
  mso-style-qformat:yes;
430
+ mso-style-name:"Heading 2";
428
431
  mso-style-parent:"Heading 1";
429
432
  mso-style-link:"Heading 2 Char";
430
433
  mso-style-next:Normal;
@@ -452,7 +455,8 @@ h3
452
455
  {mso-style-priority:3;
453
456
  mso-style-unhide:no;
454
457
  mso-style-qformat:yes;
455
- mso-style-parent:"Heading 1";
458
+ mso-style-name:"Heading 3";
459
+ mso-style-parent:"Heading 2";
456
460
  mso-style-link:"Heading 3 Char";
457
461
  mso-style-next:Normal;
458
462
  margin-top:3.0pt;
@@ -478,6 +482,7 @@ h4
478
482
  {mso-style-priority:4;
479
483
  mso-style-unhide:no;
480
484
  mso-style-qformat:yes;
485
+ mso-style-name:"Heading 4";
481
486
  mso-style-parent:"Heading 3";
482
487
  mso-style-link:"Heading 4 Char";
483
488
  mso-style-next:Normal;
@@ -504,6 +509,7 @@ h5
504
509
  {mso-style-priority:5;
505
510
  mso-style-unhide:no;
506
511
  mso-style-qformat:yes;
512
+ mso-style-name:"Heading 5";
507
513
  mso-style-parent:"Heading 4";
508
514
  mso-style-link:"Heading 5 Char";
509
515
  mso-style-next:Normal;
@@ -530,6 +536,7 @@ h6
530
536
  {mso-style-priority:6;
531
537
  mso-style-unhide:no;
532
538
  mso-style-qformat:yes;
539
+ mso-style-name:"Heading 6";
533
540
  mso-style-parent:"Heading 5";
534
541
  mso-style-link:"Heading 6 Char";
535
542
  mso-style-next:Normal;
@@ -555,6 +562,7 @@ h6
555
562
  p.MsoToc1, li.MsoToc1, div.MsoToc1
556
563
  {mso-style-priority:39;
557
564
  mso-style-unhide:no;
565
+ mso-style-name:"TOC 1";
558
566
  mso-style-next:Normal;
559
567
  margin-top:6.0pt;
560
568
  margin-right:25.0pt;
@@ -577,6 +585,7 @@ p.MsoToc2, li.MsoToc2, div.MsoToc2
577
585
  {mso-style-noshow:yes;
578
586
  mso-style-priority:39;
579
587
  mso-style-unhide:no;
588
+ mso-style-name:"TOC 2";
580
589
  mso-style-parent:"TOC 1";
581
590
  mso-style-next:Normal;
582
591
  margin-top:0cm;
@@ -600,6 +609,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3
600
609
  {mso-style-noshow:yes;
601
610
  mso-style-priority:39;
602
611
  mso-style-unhide:no;
612
+ mso-style-name:"TOC 3";
603
613
  mso-style-parent:"TOC 2";
604
614
  mso-style-next:Normal;
605
615
  margin-top:0cm;
@@ -621,6 +631,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3
621
631
  mso-bidi-font-weight:normal;}
622
632
  span.MsoFootnoteReference
623
633
  {mso-style-priority:99;
634
+ mso-style-name:"Footnote Reference";
624
635
  vertical-align:super;}
625
636
  p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
626
637
  {mso-style-noshow:yes;
@@ -161,6 +161,7 @@ p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxS
161
161
  p.MsoCommentText, li.MsoCommentText, div.MsoCommentText {
162
162
  mso-style-noshow: yes;
163
163
  mso-style-unhide: no;
164
+ mso-style-name: "Comment Text";
164
165
  margin-top: 8.0pt;
165
166
  margin-right: 0cm;
166
167
  margin-bottom: 0cm;
@@ -470,6 +471,7 @@ h1 {
470
471
  mso-style-priority: 1;
471
472
  mso-style-unhide: no;
472
473
  mso-style-qformat: yes;
474
+ mso-style-name: "Heading 1";
473
475
  mso-style-link: "Heading 1 Char";
474
476
  mso-style-next: Normal;
475
477
  margin-top: 18.0pt;
@@ -539,6 +541,7 @@ h1.Annex
539
541
  mso-style-priority: 2;
540
542
  mso-style-unhide: no;
541
543
  mso-style-qformat: yes;
544
+ mso-style-name: "Heading 2";
542
545
  mso-style-parent: "Heading 1";
543
546
  mso-style-link: "Heading 2 Char";
544
547
  mso-style-next: Normal;
@@ -568,7 +571,8 @@ h3 {
568
571
  mso-style-priority: 3;
569
572
  mso-style-unhide: no;
570
573
  mso-style-qformat: yes;
571
- mso-style-parent: "Heading 1";
574
+ mso-style-name: "Heading 3";
575
+ mso-style-parent: "Heading 2";
572
576
  mso-style-link: "Heading 3 Char";
573
577
  mso-style-next: Normal;
574
578
  margin-top: 2.0pt;
@@ -594,6 +598,7 @@ h4 {
594
598
  mso-style-priority: 4;
595
599
  mso-style-unhide: no;
596
600
  mso-style-qformat: yes;
601
+ mso-style-name: "Heading 4";
597
602
  mso-style-parent: "Heading 3";
598
603
  mso-style-link: "Heading 4 Char";
599
604
  mso-style-next: Normal;
@@ -620,6 +625,7 @@ h5 {
620
625
  mso-style-priority: 5;
621
626
  mso-style-unhide: no;
622
627
  mso-style-qformat: yes;
628
+ mso-style-name: "Heading 5";
623
629
  mso-style-parent: "Heading 4";
624
630
  mso-style-link: "Heading 5 Char";
625
631
  mso-style-next: Normal;
@@ -645,6 +651,7 @@ h6 {
645
651
  mso-style-priority: 6;
646
652
  mso-style-unhide: no;
647
653
  mso-style-qformat: yes;
654
+ mso-style-name: "Heading 6";
648
655
  mso-style-parent: "Heading 5";
649
656
  mso-style-link: "Heading 6 Char";
650
657
  mso-style-next: Normal;
@@ -674,6 +681,7 @@ h6 {
674
681
  p.MsoToc1, li.MsoToc1, div.MsoToc1 {
675
682
  mso-style-priority: 39;
676
683
  mso-style-unhide: no;
684
+ mso-style-name: "TOC 1";
677
685
  mso-style-next: Normal;
678
686
  margin-top: 8.0pt;
679
687
  margin-right: 0cm;
@@ -693,6 +701,7 @@ p.MsoToc2, li.MsoToc2, div.MsoToc2 {
693
701
  mso-style-noshow: yes;
694
702
  mso-style-priority: 39;
695
703
  mso-style-unhide: no;
704
+ mso-style-name: "TOC 2";
696
705
  mso-style-parent: "TOC 1";
697
706
  mso-style-next: Normal;
698
707
  mso-pagination: widow-orphan;
@@ -714,6 +723,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3 {
714
723
  mso-style-noshow: yes;
715
724
  mso-style-priority: 39;
716
725
  mso-style-unhide: no;
726
+ mso-style-name: "TOC 3";
717
727
  mso-style-parent: "TOC 2";
718
728
  mso-style-next: Normal;
719
729
  margin-top: 8.0pt;
@@ -732,6 +742,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3 {
732
742
 
733
743
  span.MsoFootnoteReference {
734
744
  mso-style-priority: 99;
745
+ mso-style-name: "Footnote Reference";
735
746
  vertical-align: super; }
736
747
 
737
748
  p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText {
@@ -147,6 +147,7 @@ p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxS
147
147
  p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
148
148
  {mso-style-noshow:yes;
149
149
  mso-style-unhide:no;
150
+ mso-style-name:"Comment Text";
150
151
  margin-top:8.0pt;
151
152
  margin-right:0cm;
152
153
  margin-bottom:0cm;
@@ -438,6 +439,7 @@ h1
438
439
  {mso-style-priority:1;
439
440
  mso-style-unhide:no;
440
441
  mso-style-qformat:yes;
442
+ mso-style-name:"Heading 1";
441
443
  mso-style-link:"Heading 1 Char";
442
444
  mso-style-next:Normal;
443
445
  margin-top:18.0pt;
@@ -506,6 +508,7 @@ h1.Annex
506
508
  {mso-style-priority:2;
507
509
  mso-style-unhide:no;
508
510
  mso-style-qformat:yes;
511
+ mso-style-name:"Heading 2";
509
512
  mso-style-parent:"Heading 1";
510
513
  mso-style-link:"Heading 2 Char";
511
514
  mso-style-next:Normal;
@@ -535,7 +538,8 @@ h3
535
538
  {mso-style-priority:3;
536
539
  mso-style-unhide:no;
537
540
  mso-style-qformat:yes;
538
- mso-style-parent:"Heading 1";
541
+ mso-style-name:"Heading 3";
542
+ mso-style-parent:"Heading 2";
539
543
  mso-style-link:"Heading 3 Char";
540
544
  mso-style-next:Normal;
541
545
  margin-top:2.0pt;
@@ -560,6 +564,7 @@ h4
560
564
  {mso-style-priority:4;
561
565
  mso-style-unhide:no;
562
566
  mso-style-qformat:yes;
567
+ mso-style-name:"Heading 4";
563
568
  mso-style-parent:"Heading 3";
564
569
  mso-style-link:"Heading 4 Char";
565
570
  mso-style-next:Normal;
@@ -585,6 +590,7 @@ h5
585
590
  {mso-style-priority:5;
586
591
  mso-style-unhide:no;
587
592
  mso-style-qformat:yes;
593
+ mso-style-name:"Heading 5";
588
594
  mso-style-parent:"Heading 4";
589
595
  mso-style-link:"Heading 5 Char";
590
596
  mso-style-next:Normal;
@@ -609,6 +615,7 @@ h6
609
615
  {mso-style-priority:6;
610
616
  mso-style-unhide:no;
611
617
  mso-style-qformat:yes;
618
+ mso-style-name:"Heading 6";
612
619
  mso-style-parent:"Heading 5";
613
620
  mso-style-link:"Heading 6 Char";
614
621
  mso-style-next:Normal;
@@ -637,6 +644,7 @@ h6
637
644
  p.MsoToc1, li.MsoToc1, div.MsoToc1
638
645
  {mso-style-priority:39;
639
646
  mso-style-unhide:no;
647
+ mso-style-name:"TOC 1";
640
648
  mso-style-next:Normal;
641
649
  margin-top:8.0pt;
642
650
  margin-right:0cm;
@@ -655,6 +663,7 @@ p.MsoToc2, li.MsoToc2, div.MsoToc2
655
663
  {mso-style-noshow:yes;
656
664
  mso-style-priority:39;
657
665
  mso-style-unhide:no;
666
+ mso-style-name:"TOC 2";
658
667
  mso-style-parent:"TOC 1";
659
668
  mso-style-next:Normal;
660
669
  mso-pagination:widow-orphan;
@@ -675,6 +684,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3
675
684
  {mso-style-noshow:yes;
676
685
  mso-style-priority:39;
677
686
  mso-style-unhide:no;
687
+ mso-style-name:"TOC 3";
678
688
  mso-style-parent:"TOC 2";
679
689
  mso-style-next:Normal;
680
690
  margin-top:8.0pt;
@@ -692,6 +702,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3
692
702
  mso-bidi-font-weight:normal;}
693
703
  span.MsoFootnoteReference
694
704
  {mso-style-priority:99;
705
+ mso-style-name:"Footnote Reference";
695
706
  vertical-align:super;}
696
707
  p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
697
708
  {mso-style-noshow:yes;
@@ -1,13 +1,14 @@
1
+ admitted: ADMITTED
1
2
  foreword: Preface
2
3
  submitters: Submitters
3
- recommendationtest: Recommendation Test
4
- requirementtest: Requirement Test
5
- permissiontest: Permission Test
6
- recommendationclass: Recommendations Class
7
- requirementclass: Requirements Class
8
- permissionclass: Permissions Class
9
- abstracttest: Abstract Test
10
- conformanceclass: Conformance Class
4
+ recommendationtest: Recommendation test
5
+ requirementtest: Requirement test
6
+ permissiontest: Permission test
7
+ recommendationclass: Recommendations class
8
+ requirementclass: Requirements class
9
+ permissionclass: Permissions class
10
+ abstracttest: Abstract test
11
+ conformanceclass: Conformance class
11
12
  example: Example
12
13
  security_empty: No security considerations have been made for this %.
13
14
  internal_terms_boilerplate: |
@@ -24,6 +25,7 @@ internal_external_terms_boilerplate: |
24
25
  <p>This document also uses terms defined in the OGC Standard for Modular specifications (<link target="https://portal.opengeospatial.org/files/?artifact_id=34762">OGC 08-131r3</link>), also known as the 'ModSpec'. The definitions of terms such as standard, specification, requirement, and conformance test are provided in the ModSpec.</p>
25
26
  <p>For the purposes of this document, the terms and definitions
26
27
  given in % and the following additionally apply.</p>
28
+ term_defined_in: "(%)"
27
29
  stage_dict:
28
30
  swg-draft: Candidate SWG Draft
29
31
  oab-review: Candidate OAB Review Draft