metanorma-ogc 2.7.6 → 2.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -66,18 +66,18 @@ module IsoDoc
66
66
 
67
67
  def submitting_orgs_clause(orgs)
68
68
  <<~SUBMITTING
69
- <clause id="_#{UUIDTools::UUID.random_create}" type="submitting_orgs">
70
- <title>Submitting Organizations</title>
69
+ <clause #{add_id_text} type="submitting_orgs">
70
+ <title #{add_id_text}>Submitting Organizations</title>
71
71
  <p>The following organizations submitted this Document to the Open Geospatial Consortium (OGC):</p>
72
- <ul>#{orgs.map { |m| "<li>#{m}</li>" }.join("\n")}</ul>
72
+ <ul #{add_id_text}>#{orgs.map { |m| "<li #{add_id_text}>#{m}</li>" }.join("\n")}</ul>
73
73
  </clause>
74
74
  SUBMITTING
75
75
  end
76
76
 
77
77
  def keyword_clause(kwords)
78
78
  <<~KEYWORDS
79
- <clause id="_#{UUIDTools::UUID.random_create}" type="keywords">
80
- <title>Keywords</fmt>
79
+ <clause #{add_id_text} type="keywords">
80
+ <title #{add_id_text}>Keywords</title>
81
81
  <p>The following are keywords to be used by search engines and document catalogues.</p>
82
82
  <p>#{kwords.join(', ')}</p></clause>
83
83
  KEYWORDS
@@ -47,10 +47,11 @@ module IsoDoc
47
47
  def generate_dochistory(updates, pref)
48
48
  ret = updates.map { |u| generate_dochistory_row(u) }.flatten.join("\n")
49
49
  pref.next = <<~XML
50
- <annex id='_#{UUIDTools::UUID.random_create}' obligation='informative'>
51
- <title>#{@i18n.dochistory}</title>
52
- <table><thead>
53
- <tr><th>Date</th><th>Release</th><th>Author</th><th>Paragraph Modified</th><th>Description</th></tr>
50
+ <annex #{add_id_text} obligation='informative'>
51
+ <title #{add_id_text}>#{@i18n.dochistory}</title>
52
+ <table unnumbered="true" #{add_id_text}><thead>
53
+ <tr #{add_id_text}><th #{add_id_text}>Date</th><th #{add_id_text}>Release</th><th #{add_id_text}>Author</th>
54
+ <th #{add_id_text}>Paragraph Modified</th><th #{add_id_text}>Description</th></tr>
54
55
  </thead><tbody>#{ret}</tbody></table></annex>
55
56
  XML
56
57
  end
@@ -61,8 +62,10 @@ module IsoDoc
61
62
  c = dochistory_contributors(item)
62
63
  l = dochistory_location(item)
63
64
  desc = dochistory_description(item)
64
- "<tr><td>#{date}</td><td>#{e&.text}</td><td>#{c}</td>" \
65
- "<td>#{l}</td><td>#{desc}</td></tr>"
65
+ <<~XML
66
+ <tr #{add_id_text}><td #{add_id_text}>#{date}</td><td #{add_id_text}>#{e&.text}</td><td #{add_id_text}>#{c}</td>
67
+ <td #{add_id_text}>#{l}</td><td #{add_id_text}>#{desc}</td></tr>
68
+ XML
66
69
  end
67
70
 
68
71
  def dochistory_date(item)
@@ -18,10 +18,6 @@ module Metanorma
18
18
  insert_submitters(xml, sect)
19
19
  end
20
20
 
21
- def add_id_txt
22
- %(id="_#{UUIDTools::UUID.random_create}")
23
- end
24
-
25
21
  def insert_security(xml, sect)
26
22
  "document"
27
23
  "standard" if %w(standard community-standard)
@@ -45,8 +41,8 @@ module Metanorma
45
41
  description = "standard" if %w(standard community-standard)
46
42
  .include?(doctype)
47
43
  <<~CLAUSE
48
- <clause type='security' #{add_id_txt}>
49
- <title>Security considerations</title>
44
+ <clause type='security' #{add_id_text}>
45
+ <title #{add_id_text}>Security considerations</title>
50
46
  <p>#{@i18n.security_empty.sub('%', description)}</p></clause>
51
47
  CLAUSE
52
48
  end
@@ -124,7 +124,7 @@ module Metanorma
124
124
  attrs[:type] == "contributors" and
125
125
  title = @i18n.contributors_clause
126
126
  xml.clause **attr_code(attrs) do |xml_section|
127
- xml_section.title title
127
+ section_title(xml_section, title)
128
128
  xml_section << node.content
129
129
  end
130
130
  end
@@ -149,7 +149,7 @@ module Metanorma
149
149
  def terms_annex_parse(attrs, xml, node)
150
150
  attrs1 = attrs.merge(id: "_#{UUIDTools::UUID.random_create}")
151
151
  xml.annex **attr_code(attrs1) do |xml_section|
152
- xml_section.title { |name| name << node.title }
152
+ section_title(xml_section, node.title)
153
153
  attrs.delete(:anchor)
154
154
  xml_section.terms **attr_code(attrs) do |terms|
155
155
  (s = node.attr("source")) && s.split(",").each do |s1|
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <!-- VERSION v2.0.5 -->
3
+ <!-- VERSION v2.0.7 -->
4
4
 
5
5
  <!--
6
6
  ALERT: cannot have root comments, because of https://github.com/metanorma/metanorma/issues/437
@@ -76,6 +76,7 @@ but to `@anchor`, the user-supplied cross-reference</a:documentation>
76
76
  <a:documentation>Title(s) of a clause</a:documentation>
77
77
  <element name="title">
78
78
  <a:documentation>Title proper for a clause</a:documentation>
79
+ <ref name="RequiredId"/>
79
80
  <zeroOrMore>
80
81
  <ref name="TextElement"/>
81
82
  </zeroOrMore>
@@ -83,10 +84,19 @@ but to `@anchor`, the user-supplied cross-reference</a:documentation>
83
84
  <zeroOrMore>
84
85
  <element name="variant-title">
85
86
  <a:documentation>Alternate title for a clause</a:documentation>
87
+ <ref name="RequiredId"/>
86
88
  <ref name="TypedTitleString"/>
87
89
  </element>
88
90
  </zeroOrMore>
89
91
  </define>
92
+ <define name="tname">
93
+ <element name="name">
94
+ <ref name="RequiredId"/>
95
+ <oneOrMore>
96
+ <ref name="NestedTextElement"/>
97
+ </oneOrMore>
98
+ </element>
99
+ </define>
90
100
  <define name="UlBody">
91
101
  <optional>
92
102
  <ref name="tname">
@@ -475,6 +485,7 @@ normative or informative references, some split references into sections organiz
475
485
  <!-- exclude figures? -->
476
486
  <define name="dd">
477
487
  <element name="dd">
488
+ <ref name="OptionalId"/>
478
489
  <zeroOrMore>
479
490
  <!-- exclude figures? -->
480
491
  <ref name="BasicBlock"/>
@@ -526,6 +537,7 @@ normative or informative references, some split references into sections organiz
526
537
  </choice>
527
538
  </define>
528
539
  <define name="TrAttributes">
540
+ <ref name="OptionalId"/>
529
541
  <optional>
530
542
  <attribute name="style">
531
543
  <a:documentation>CSS style: only background-color supported</a:documentation>
@@ -595,6 +607,7 @@ gives an explicit page orientation</a:documentation>
595
607
  </include>
596
608
  <!-- end overrides -->
597
609
  <define name="FnAttributes" combine="interleave">
610
+ <ref name="RequiredId"/>
598
611
  <optional>
599
612
  <attribute name="hiddenref">
600
613
  <a:documentation>If true, number the footnote as normal, but suppress display of the footnote reference in the document body.
@@ -604,6 +617,7 @@ This is done if the footnote reference is already presented in some other form,
604
617
  </optional>
605
618
  </define>
606
619
  <define name="TdAttributes" combine="interleave">
620
+ <ref name="RequiredId"/>
607
621
  <optional>
608
622
  <attribute name="style">
609
623
  <a:documentation>CSS style: only background-color supported</a:documentation>
@@ -801,6 +815,12 @@ titlecase, or lowercase</a:documentation>
801
815
  <a:documentation>User-supplied anchor of element; replaced by content-based id, with all references to the anchor updated accordingly</a:documentation>
802
816
  </attribute>
803
817
  </optional>
818
+ <optional>
819
+ <attribute name="source">
820
+ <a:documentation>Sourcing of the current element in an external data model</a:documentation>
821
+ <ref name="IdRefType"/>
822
+ </attribute>
823
+ </optional>
804
824
  </define>
805
825
  <define name="OptionalId" combine="interleave">
806
826
  <optional>
@@ -808,6 +828,12 @@ titlecase, or lowercase</a:documentation>
808
828
  <a:documentation> User-supplied anchor of element; replaced by content-based id, with all references to the anchor updated accordingly</a:documentation>
809
829
  </attribute>
810
830
  </optional>
831
+ <optional>
832
+ <attribute name="source">
833
+ <a:documentation>Sourcing of the current element in an external data model</a:documentation>
834
+ <ref name="IdRefType"/>
835
+ </attribute>
836
+ </optional>
811
837
  </define>
812
838
  <define name="ObligationType">
813
839
  <a:documentation>The force of a clause in a standard document: whether it has normative or informative effect</a:documentation>
@@ -954,6 +980,7 @@ titlecase, or lowercase</a:documentation>
954
980
  is used in particular to capture mutually agreed definitions of codepoints in Unicode Private Use Area</a:documentation>
955
981
  </attribute>
956
982
  </optional>
983
+ <ref name="OptionalId"/>
957
984
  <oneOrMore>
958
985
  <ref name="TextElement">
959
986
  <a:documentation>Textual content of span</a:documentation>
@@ -1808,7 +1835,7 @@ used in document amendments</a:documentation>
1808
1835
  </element>
1809
1836
  </define>
1810
1837
  <define name="TermAttributes">
1811
- <ref name="OptionalId"/>
1838
+ <ref name="RequiredId"/>
1812
1839
  <ref name="LocalizedStringAttributes"/>
1813
1840
  <ref name="BlockAttributes"/>
1814
1841
  </define>
@@ -2151,6 +2178,7 @@ used in document amendments</a:documentation>
2151
2178
  <define name="termdefinition">
2152
2179
  <a:documentation>The definition of a term applied in the current document</a:documentation>
2153
2180
  <element name="definition">
2181
+ <ref name="RequiredId"/>
2154
2182
  <optional>
2155
2183
  <attribute name="type">
2156
2184
  <a:documentation>Type of definition, used to differentiate it from other definitions of the same term if present</a:documentation>
@@ -2172,6 +2200,7 @@ used in document amendments</a:documentation>
2172
2200
  </define>
2173
2201
  <define name="verbaldefinition">
2174
2202
  <element name="verbal-definition">
2203
+ <ref name="RequiredId"/>
2175
2204
  <oneOrMore>
2176
2205
  <choice>
2177
2206
  <a:documentation>Content of the verbal representation of the term</a:documentation>
@@ -2192,6 +2221,7 @@ used in document amendments</a:documentation>
2192
2221
  <define name="nonverbalrep">
2193
2222
  <a:documentation>Non-verbal representation of the term</a:documentation>
2194
2223
  <element name="non-verbal-representation">
2224
+ <ref name="RequiredId"/>
2195
2225
  <oneOrMore>
2196
2226
  <choice>
2197
2227
  <a:documentation>Content of the non-verbal representation of the term</a:documentation>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Ogc
3
- VERSION = "2.7.6".freeze
3
+ VERSION = "2.7.8".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-ogc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.6
4
+ version: 2.7.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-05-12 00:00:00.000000000 Z
11
+ date: 2025-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iso-639