metanorma-ogc 1.5.1 → 1.5.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/lib/asciidoctor/ogc/boilerplate.xml +3 -3
  4. data/lib/asciidoctor/ogc/cleanup.rb +9 -0
  5. data/lib/asciidoctor/ogc/converter.rb +5 -3
  6. data/lib/asciidoctor/ogc/isodoc.rng +56 -17
  7. data/lib/asciidoctor/ogc/validate.rb +12 -0
  8. data/lib/isodoc/ogc/base_convert.rb +2 -1
  9. data/lib/isodoc/ogc/html/htmlstyle.css +6 -2
  10. data/lib/isodoc/ogc/html/htmlstyle.scss +6 -1
  11. data/lib/isodoc/ogc/html/ogc.css +0 -1
  12. data/lib/isodoc/ogc/html/ogc.scss +0 -1
  13. data/lib/isodoc/ogc/html/ogc_wp.css +0 -1
  14. data/lib/isodoc/ogc/html/ogc_wp.scss +0 -1
  15. data/lib/isodoc/ogc/html/scripts.html +0 -1
  16. data/lib/isodoc/ogc/html_convert.rb +1 -0
  17. data/lib/isodoc/ogc/i18n-en.yaml +10 -12
  18. data/lib/isodoc/ogc/metadata.rb +6 -2
  19. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +407 -117
  20. data/lib/isodoc/ogc/ogc.best-practice.xsl +407 -117
  21. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +407 -117
  22. data/lib/isodoc/ogc/ogc.community-practice.xsl +407 -117
  23. data/lib/isodoc/ogc/ogc.community-standard.xsl +407 -117
  24. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +407 -117
  25. data/lib/isodoc/ogc/ogc.engineering-report.xsl +407 -117
  26. data/lib/isodoc/ogc/ogc.other.xsl +407 -117
  27. data/lib/isodoc/ogc/ogc.policy.xsl +407 -117
  28. data/lib/isodoc/ogc/ogc.reference-model.xsl +407 -117
  29. data/lib/isodoc/ogc/ogc.release-notes.xsl +407 -117
  30. data/lib/isodoc/ogc/ogc.standard.xsl +407 -117
  31. data/lib/isodoc/ogc/ogc.test-suite.xsl +407 -117
  32. data/lib/isodoc/ogc/ogc.user-guide.xsl +407 -117
  33. data/lib/isodoc/ogc/ogc.white-paper.xsl +284 -94
  34. data/lib/isodoc/ogc/presentation_xml_convert.rb +39 -2
  35. data/lib/isodoc/ogc/reqt.rb +1 -1
  36. data/lib/isodoc/ogc/sections.rb +9 -2
  37. data/lib/isodoc/ogc/word_convert.rb +28 -4
  38. data/lib/isodoc/ogc/xref.rb +4 -2
  39. data/lib/metanorma/ogc/version.rb +1 -1
  40. data/metanorma-ogc.gemspec +1 -1
  41. metadata +8 -9
  42. data/README.adoc.old +0 -187
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4063833ca53f3e93cf63f8ac3a5d8a82b6ffdfd63f5241e443c5f917685fcaff
4
- data.tar.gz: f4fce3ab129c5de35104728ce908b4b57c4de46eaf69d600dbe2daa778e4d2df
3
+ metadata.gz: 237dae6888c593bf44ad5b0d1f7ab5f6911f9ad32adf109bbd609594cffb8088
4
+ data.tar.gz: 0376a84dded3cc7f7f261f8233b7f3bcf0866b6869d78f7c42666a77bf30b64e
5
5
  SHA512:
6
- metadata.gz: c0449f36aaadb5ad9ecf5c534b92b385259147fdd94962e01923ad80a3f4e49f6f0b85f4fe0f1637b46eedc0af9f434eb9a3905170044a618e839f406fa473cf
7
- data.tar.gz: 141846935988beca18f4180ad4a0acd0912fa56bbab0b8ea81f70f3f97dd20bb90b47e666741025814b4283bfa2b5aaa496a93c415c8769960169078f12e97f9
6
+ metadata.gz: 6f9b4f21f1c69bbb87f73727a6c77a09399afd1745b7fc9b10efff2b4b0245beba920f428eba17adec3aa1825b942f73258d8027b03ead7b6e89c91acf9335a4
7
+ data.tar.gz: 5de27f6083e45917d32d11de6256c34449a1c23a3905d52cb7e300b3ae004d0ab4ae27c5f9cd939db47fc3964325e7a617a76340fe268d301729f7712fe431d5
data/Gemfile CHANGED
@@ -9,3 +9,5 @@ gemspec
9
9
  if File.exist? "Gemfile.devel"
10
10
  eval File.read("Gemfile.devel"), nil, "Gemfile.devel" # rubocop:disable Security/Eval
11
11
  end
12
+
13
+ gem "metanorma-cli"
@@ -5,7 +5,7 @@
5
5
 
6
6
  <p align="center">Copyright
7
7
  © {{ docyear }} Open Geospatial Consortium<br/>
8
- To obtain additional rights of use, visit
8
+ To obtain additional rights of use, visit
9
9
  <link target="http://www.ogc.org/legal/">http://www.ogc.org/legal/</link></p>
10
10
  </clause>
11
11
  <clause>
@@ -113,7 +113,7 @@
113
113
  <clause>
114
114
  <title>Notice</title>
115
115
  <p>This document is not an OGC Standard. This document is an OGC Public Engineering Report created as a deliverable in an OGC Interoperability Initiative and is <em>not an official position</em> of the OGC membership. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an OGC Standard.</p>
116
-
116
+
117
117
  <p>Further, any OGC Engineering Report should not be referenced as required or mandatory technology in procurements. However, the discussions in this document could very well lead to the definition of an OGC Standard.</p>
118
118
  </clause>
119
119
 
@@ -151,7 +151,7 @@
151
151
  <feedback-statement>
152
152
  {% if doctype == "Standard" %}
153
153
  <clause id="boilerplate-standard-feedback">
154
- <p>Suggested additions, changes and comments on this standard are welcome and encouraged. Such suggestions may be submitted using the online change request form on OGC web site: <link target="http://portal.opengeospatial.org/public_ogc/change_request.php">http://portal.opengeospatial.org/public_ogc/change_request.php</link></p>
154
+ <p>Suggested additions, changes and comments on this document are welcome and encouraged. Such suggestions may be submitted using the online change request form on OGC web site: <link target="http://portal.opengeospatial.org/public_ogc/change_request.php">http://portal.opengeospatial.org/public_ogc/change_request.php</link></p>
155
155
  </clause>
156
156
  {% endif %}
157
157
  </feedback-statement>
@@ -10,6 +10,7 @@ module Asciidoctor
10
10
 
11
11
  def make_preface(xml, sect)
12
12
  super
13
+ insert_execsummary(xml, sect)
13
14
  insert_security(xml, sect)
14
15
  insert_submitters(xml, sect)
15
16
  end
@@ -18,6 +19,14 @@ module Asciidoctor
18
19
  %(id="_#{UUIDTools::UUID.random_create}")
19
20
  end
20
21
 
22
+ def insert_execsummary(xml, sect)
23
+ summ = xml&.at("//clause[@type = 'executivesummary']")&.remove or
24
+ return
25
+ preface = sect.at("//preface") ||
26
+ sect.add_previous_sibling("<preface/>").first
27
+ preface.add_child summ
28
+ end
29
+
21
30
  def insert_security(xml, sect)
22
31
  description = "document"
23
32
  description = "standard" if %w(standard community-standard)
@@ -75,8 +75,10 @@ module Asciidoctor
75
75
  case node&.attr("heading")&.downcase || node.title.downcase
76
76
  when "submitters" then return submitters_parse(attrs, xml, node)
77
77
  when "conformance" then attrs = attrs.merge(type: "conformance")
78
- when "security considerations" then attrs =
79
- attrs.merge(type: "security")
78
+ when "security considerations"
79
+ attrs = attrs.merge(type: "security")
80
+ when "executive summary"
81
+ attrs = attrs.merge(type: "executivesummary")
80
82
  end
81
83
  super
82
84
  end
@@ -143,7 +145,7 @@ module Asciidoctor
143
145
  def pdf_converter(node)
144
146
  return nil if node.attr("no-pdf")
145
147
 
146
- IsoDoc::Ogc::PdfConvert.new(html_extract_attributes(node))
148
+ IsoDoc::Ogc::PdfConvert.new(pdf_extract_attributes(node))
147
149
  end
148
150
 
149
151
  def doc_converter(node)
@@ -58,7 +58,7 @@
58
58
  <attribute name="alt"/>
59
59
  </optional>
60
60
  <optional>
61
- <attribute name="updatetype">
61
+ <attribute name="update-type">
62
62
  <data type="boolean"/>
63
63
  </attribute>
64
64
  </optional>
@@ -1796,6 +1796,20 @@
1796
1796
  <data type="ID"/>
1797
1797
  </attribute>
1798
1798
  </optional>
1799
+ <optional>
1800
+ <attribute name="language"/>
1801
+ </optional>
1802
+ <optional>
1803
+ <attribute name="script"/>
1804
+ </optional>
1805
+ <optional>
1806
+ <attribute name="tag"/>
1807
+ </optional>
1808
+ <optional>
1809
+ <attribute name="multilingual-rendering">
1810
+ <ref name="MultilingualRenderingType"/>
1811
+ </attribute>
1812
+ </optional>
1799
1813
  <oneOrMore>
1800
1814
  <ref name="preferred"/>
1801
1815
  </oneOrMore>
@@ -1814,9 +1828,6 @@
1814
1828
  <optional>
1815
1829
  <ref name="termsubject"/>
1816
1830
  </optional>
1817
- <optional>
1818
- <ref name="termusage"/>
1819
- </optional>
1820
1831
  <oneOrMore>
1821
1832
  <ref name="termdefinition"/>
1822
1833
  </oneOrMore>
@@ -1880,17 +1891,37 @@
1880
1891
  </attribute>
1881
1892
  </optional>
1882
1893
  <optional>
1883
- <attribute name="geographicArea"/>
1894
+ <attribute name="geographic-area"/>
1884
1895
  </optional>
1885
1896
  <choice>
1886
1897
  <ref name="expression_designation"/>
1887
1898
  <ref name="letter_symbol_designation"/>
1888
1899
  <ref name="graphical_symbol_designation"/>
1889
1900
  </choice>
1901
+ <optional>
1902
+ <ref name="fieldofapplication"/>
1903
+ </optional>
1904
+ <optional>
1905
+ <ref name="usageinfo"/>
1906
+ </optional>
1890
1907
  <zeroOrMore>
1891
1908
  <ref name="termsource"/>
1892
1909
  </zeroOrMore>
1893
1910
  </define>
1911
+ <define name="fieldofapplication">
1912
+ <element name="field-of-application">
1913
+ <oneOrMore>
1914
+ <ref name="PureTextElement"/>
1915
+ </oneOrMore>
1916
+ </element>
1917
+ </define>
1918
+ <define name="usageinfo">
1919
+ <element name="usage-info">
1920
+ <oneOrMore>
1921
+ <ref name="PureTextElement"/>
1922
+ </oneOrMore>
1923
+ </element>
1924
+ </define>
1894
1925
  <define name="letter_symbol_designation">
1895
1926
  <element name="letter-symbol">
1896
1927
  <optional>
@@ -1946,7 +1977,7 @@
1946
1977
  </zeroOrMore>
1947
1978
  </element>
1948
1979
  <optional>
1949
- <element name="abbreviationType">
1980
+ <element name="abbreviation-type">
1950
1981
  <ref name="AbbreviationType"/>
1951
1982
  </element>
1952
1983
  </optional>
@@ -1956,7 +1987,7 @@
1956
1987
  </element>
1957
1988
  </optional>
1958
1989
  <optional>
1959
- <element name="grammarInfo">
1990
+ <element name="grammar-info">
1960
1991
  <ref name="Grammar"/>
1961
1992
  </element>
1962
1993
  </optional>
@@ -1983,6 +2014,11 @@
1983
2014
  <ref name="GrammarGender"/>
1984
2015
  </element>
1985
2016
  </zeroOrMore>
2017
+ <zeroOrMore>
2018
+ <element name="number">
2019
+ <ref name="GrammarNumber"/>
2020
+ </element>
2021
+ </zeroOrMore>
1986
2022
  <optional>
1987
2023
  <element name="isPreposition">
1988
2024
  <data type="boolean"/>
@@ -2014,7 +2050,7 @@
2014
2050
  </element>
2015
2051
  </optional>
2016
2052
  <zeroOrMore>
2017
- <element name="grammarvalue">
2053
+ <element name="grammar-value">
2018
2054
  <text/>
2019
2055
  </element>
2020
2056
  </zeroOrMore>
@@ -2027,6 +2063,13 @@
2027
2063
  <value>common</value>
2028
2064
  </choice>
2029
2065
  </define>
2066
+ <define name="GrammarNumber">
2067
+ <choice>
2068
+ <value>singular</value>
2069
+ <value>dual</value>
2070
+ <value>plural</value>
2071
+ </choice>
2072
+ </define>
2030
2073
  <define name="termdomain">
2031
2074
  <element name="domain">
2032
2075
  <oneOrMore>
@@ -2041,13 +2084,6 @@
2041
2084
  </oneOrMore>
2042
2085
  </element>
2043
2086
  </define>
2044
- <define name="termusage">
2045
- <element name="usageinfo">
2046
- <oneOrMore>
2047
- <ref name="BasicBlock"/>
2048
- </oneOrMore>
2049
- </element>
2050
- </define>
2051
2087
  <define name="termdefinition">
2052
2088
  <element name="definition">
2053
2089
  <choice>
@@ -2061,13 +2097,16 @@
2061
2097
  </element>
2062
2098
  </define>
2063
2099
  <define name="verbaldefinition">
2064
- <element name="verbaldefinition">
2100
+ <element name="verbal-definition">
2065
2101
  <oneOrMore>
2066
2102
  <choice>
2067
2103
  <ref name="paragraph"/>
2068
2104
  <ref name="dl"/>
2069
2105
  <ref name="ol"/>
2070
2106
  <ref name="ul"/>
2107
+ <ref name="table"/>
2108
+ <ref name="figure"/>
2109
+ <ref name="formula"/>
2071
2110
  </choice>
2072
2111
  </oneOrMore>
2073
2112
  <zeroOrMore>
@@ -2076,7 +2115,7 @@
2076
2115
  </element>
2077
2116
  </define>
2078
2117
  <define name="nonverbalrep">
2079
- <element name="nonverbalrepresentation">
2118
+ <element name="non-verbal-representation">
2080
2119
  <oneOrMore>
2081
2120
  <choice>
2082
2121
  <ref name="table"/>
@@ -57,8 +57,20 @@ module Asciidoctor
57
57
  end
58
58
  end
59
59
 
60
+ def execsummary_validate(xmldoc)
61
+ doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
62
+ sect = xmldoc&.at("//clause[@type = 'executivesummary']")
63
+ doctype == "engineering-report" && sect.nil? and
64
+ @log.add("Style", nil,
65
+ "Executive Summary required for Engineering Reports!")
66
+ doctype != "engineering-report" && !sect.nil? and
67
+ @log.add("Style", nil,
68
+ "Executive Summary only allowed for Engineering Reports!")
69
+ end
70
+
60
71
  def section_validate(doc)
61
72
  preface_sequence_validate(doc.root)
73
+ execsummary_validate(doc.root)
62
74
  sections_sequence_validate(doc.root)
63
75
  super
64
76
  end
@@ -138,7 +138,8 @@ module IsoDoc
138
138
  return super unless (node["class"] == "steps") ||
139
139
  node.at(".//ancestor::xmlns:ol[@class = 'steps']")
140
140
 
141
- ol_style(:arabic)
141
+ idx = node.xpath("./ancestor-or-self::xmlns:ol[@class = 'steps']").size
142
+ ol_style(%i(arabic alphabet roman alphabet_upper roman_upper)[(idx - 1) % 5])
142
143
  end
143
144
  end
144
145
  end
@@ -863,9 +863,11 @@ p.TableTitle {
863
863
  font-weight: 400; }
864
864
 
865
865
  /* Terms */
866
+ .TermNum {
867
+ font-weight: 300; }
868
+
866
869
  .TermNum, .Terms, .AltTerms {
867
870
  color: #00335b;
868
- font-weight: 300;
869
871
  font-family: {{headerfont}}; }
870
872
 
871
873
  h2.TermNum {
@@ -877,7 +879,9 @@ p.AltTerms {
877
879
 
878
880
  span.AdmittedLabel {
879
881
  color: #00335b;
880
- background-color: #CFE2F3; }
882
+ background-color: #CFE2F3;
883
+ font-size: 70%;
884
+ vertical-align: top; }
881
885
 
882
886
  /* Links, selection */
883
887
  a, a:visited {
@@ -355,9 +355,12 @@ p.TableTitle {
355
355
 
356
356
  /* Terms */
357
357
 
358
+ .TermNum {
359
+ font-weight: 300;
360
+ }
361
+
358
362
  .TermNum, .Terms, .AltTerms {
359
363
  color: #00335b;
360
- font-weight: 300;
361
364
  font-family: $headerfont;
362
365
  }
363
366
 
@@ -373,6 +376,8 @@ p.AltTerms {
373
376
  span.AdmittedLabel {
374
377
  color: #00335b;
375
378
  background-color: #CFE2F3;
379
+ font-size: 70%;
380
+ vertical-align: top;
376
381
  }
377
382
 
378
383
 
@@ -309,7 +309,6 @@ p.Terms, li.Terms, div.Terms {
309
309
  mso-fareast-font-family: {{headerfont}};
310
310
  mso-bidi-font-family: {{headerfont}};
311
311
  mso-ansi-language: EN-GB;
312
- font-weight: bold;
313
312
  mso-bidi-font-weight: normal; }
314
313
 
315
314
  p.AltTerms, li.AltTerms, div.AltTerms {
@@ -296,7 +296,6 @@ p.Terms, li.Terms, div.Terms
296
296
  mso-fareast-font-family:$headerfont;
297
297
  mso-bidi-font-family:$headerfont;
298
298
  mso-ansi-language:EN-GB;
299
- font-weight:bold;
300
299
  mso-bidi-font-weight:normal;}
301
300
  p.AltTerms, li.AltTerms, div.AltTerms
302
301
  {mso-style-name:"AltTerm\(s\)";
@@ -263,7 +263,6 @@ p.Terms, li.Terms, div.Terms {
263
263
  mso-fareast-font-family: {{headerfont}};
264
264
  mso-bidi-font-family: {{headerfont}};
265
265
  mso-ansi-language: EN-GB;
266
- font-weight: bold;
267
266
  mso-bidi-font-weight: normal; }
268
267
 
269
268
  p.AltTerms, li.AltTerms, div.AltTerms {
@@ -256,7 +256,6 @@ p.Terms, li.Terms, div.Terms
256
256
  mso-fareast-font-family:$headerfont;
257
257
  mso-bidi-font-family:$headerfont;
258
258
  mso-ansi-language:EN-GB;
259
- font-weight:bold;
260
259
  mso-bidi-font-weight:normal;}
261
260
  p.AltTerms, li.AltTerms, div.AltTerms
262
261
  {mso-style-name:"AltTerm\(s\)";
@@ -17,7 +17,6 @@ $('#toggle').on('click', function(){
17
17
  else {
18
18
  $('nav').show();
19
19
  $('nav').animate({ 'left': '0px' }, 'slow');
20
- $('.container').animate({ 'padding-left': '360px' }, 'slow');
21
20
  }
22
21
  });
23
22
  </script>
@@ -67,6 +67,7 @@ module IsoDoc
67
67
  boilerplate docxml, div3
68
68
  preface_block docxml, div3
69
69
  abstract docxml, div3
70
+ executivesummary docxml, div3
70
71
  keywords docxml, div3
71
72
  foreword docxml, div3
72
73
  introduction docxml, div3
@@ -10,21 +10,19 @@ permissionclass: Permissions class
10
10
  abstracttest: Abstract test
11
11
  conformanceclass: Conformance class
12
12
  example: Example
13
- security_empty: No security considerations have been made for this %.
13
+ security_empty: No security considerations have been made for this document.
14
14
  internal_terms_boilerplate: |
15
- <p>This document uses the terms defined in <link target="https://portal.ogc.org/public_ogc/directives/directives.php">OGC Policy Directive 49</link>, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.</p>
16
- <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>
17
- <p>For the purposes of this document, the following additional terms and definitions apply.</p>
15
+ <p>This document uses the terms defined in <link target="https://portal.ogc.org/public_ogc/directives/directives.php">OGC Policy Directive 49</link>, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.</p>
16
+ <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>
17
+ <p>For the purposes of this document, the following additional terms and definitions apply.</p>
18
18
  external_terms_boilerplate: |
19
- <p>This document uses the terms defined in <link target="https://portal.ogc.org/public_ogc/directives/directives.php">OGC Policy Directive 49</link>, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.</p>
20
- <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>
21
- <p>For the purposes of this document,
22
- the terms and definitions given in % additionally apply.</p>
19
+ <p>This document uses the terms defined in <link target="https://portal.ogc.org/public_ogc/directives/directives.php">OGC Policy Directive 49</link>, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.</p>
20
+ <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>
21
+ <p>For the purposes of this document, the terms and definitions given in % additionally apply.</p>
23
22
  internal_external_terms_boilerplate: |
24
- <p>This document uses the terms defined in <link target="https://portal.ogc.org/public_ogc/directives/directives.php">OGC Policy Directive 49</link>, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.</p>
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>
26
- <p>For the purposes of this document, the terms and definitions
27
- given in % and the following additionally apply.</p>
23
+ <p>This document uses the terms defined in <link target="https://portal.ogc.org/public_ogc/directives/directives.php">OGC Policy Directive 49</link>, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.</p>
24
+ <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
+ <p>For the purposes of this document, the terms and definitions given in % and the following additionally apply.</p>
28
26
  term_defined_in: "(%)"
29
27
  stage_dict:
30
28
  draft: Draft
@@ -130,8 +130,12 @@ module IsoDoc
130
130
  def bibdate(isoxml, _out)
131
131
  super
132
132
  d = docdate(isoxml)
133
- old = d.nil? || d.empty? ||
134
- DateTime.iso8601("2021-11-08") > DateTime.parse(d.text)
133
+ begin
134
+ old = d.nil? || d.empty? ||
135
+ DateTime.iso8601("2021-11-08") > DateTime.parse(d.text)
136
+ rescue StandardError
137
+ old = false
138
+ end
135
139
  set(:logo_word, old ? get[:logo_old] : get[:logo_new])
136
140
  end
137
141
  end