relaton-ogc 0.7.0 → 0.7.1
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.
- checksums.yaml +4 -4
- data/grammars/biblio.rng +2 -12
- data/grammars/isodoc.rng +544 -27
- data/grammars/ogc.rng +43 -64
- data/lib/relaton_ogc/ogc_bibliographic_item.rb +31 -8
- data/lib/relaton_ogc/scrapper.rb +38 -29
- data/lib/relaton_ogc/version.rb +1 -1
- data/lib/relaton_ogc/xml_parser.rb +15 -3
- data/relaton_ogc.gemspec +1 -1
- metadata +6 -7
- data/grammars/isostandard.rng +0 -855
data/grammars/ogc.rng
CHANGED
@@ -1,84 +1,31 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
|
2
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
|
3
3
|
<!--
|
4
4
|
Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
|
5
5
|
we cannot have a new default namespace: we will end up with a grammar with two different
|
6
6
|
namespaces, one for isostandard and one for csand additions. And we do not want that.
|
7
7
|
-->
|
8
|
-
<include href="
|
8
|
+
<include href="isodoc.rng">
|
9
9
|
<start>
|
10
10
|
<ref name="ogc-standard"/>
|
11
11
|
</start>
|
12
|
-
<define name="figure">
|
13
|
-
<element name="figure">
|
14
|
-
<attribute name="id">
|
15
|
-
<data type="ID"/>
|
16
|
-
</attribute>
|
17
|
-
<optional>
|
18
|
-
<ref name="tname"/>
|
19
|
-
</optional>
|
20
|
-
<choice>
|
21
|
-
<ref name="image"/>
|
22
|
-
<ref name="pre"/>
|
23
|
-
<oneOrMore>
|
24
|
-
<ref name="subfigure"/>
|
25
|
-
</oneOrMore>
|
26
|
-
</choice>
|
27
|
-
<zeroOrMore>
|
28
|
-
<ref name="fn"/>
|
29
|
-
</zeroOrMore>
|
30
|
-
<optional>
|
31
|
-
<ref name="dl"/>
|
32
|
-
</optional>
|
33
|
-
<zeroOrMore>
|
34
|
-
<ref name="note"/>
|
35
|
-
</zeroOrMore>
|
36
|
-
</element>
|
37
|
-
</define>
|
38
|
-
<define name="subfigure">
|
39
|
-
<element name="figure">
|
40
|
-
<attribute name="id">
|
41
|
-
<data type="ID"/>
|
42
|
-
</attribute>
|
43
|
-
<optional>
|
44
|
-
<ref name="tname"/>
|
45
|
-
</optional>
|
46
|
-
<choice>
|
47
|
-
<ref name="image"/>
|
48
|
-
<ref name="pre"/>
|
49
|
-
</choice>
|
50
|
-
</element>
|
51
|
-
</define>
|
52
12
|
<define name="DocumentType">
|
53
13
|
<choice>
|
54
|
-
<value>abstract-specification</value>
|
14
|
+
<value>abstract-specification-topic</value>
|
55
15
|
<value>best-practice</value>
|
56
|
-
<value>
|
57
|
-
<value>conformance-class</value>
|
58
|
-
<value>change-request</value>
|
16
|
+
<value>change-request-supporting-document</value>
|
59
17
|
<value>community-practice</value>
|
60
18
|
<value>community-standard</value>
|
61
19
|
<value>discussion-paper</value>
|
62
|
-
<value>
|
63
|
-
<value>
|
64
|
-
<value>implementation-standard</value>
|
65
|
-
<value>implementation-standard-corrigendum</value>
|
66
|
-
<value>extension-package-standard</value>
|
67
|
-
<value>notes</value>
|
68
|
-
<value>ogc-reference-model</value>
|
69
|
-
<value>profile-corrigendum</value>
|
70
|
-
<value>public-engineering-report</value>
|
20
|
+
<value>engineering-report</value>
|
21
|
+
<value>other</value>
|
71
22
|
<value>policy</value>
|
72
|
-
<value>
|
73
|
-
<value>
|
74
|
-
<value>
|
75
|
-
<value>
|
76
|
-
<value>
|
77
|
-
<value>standard-application-profile</value>
|
23
|
+
<value>reference-model</value>
|
24
|
+
<value>release-notes</value>
|
25
|
+
<value>standard</value>
|
26
|
+
<value>user-guide</value>
|
27
|
+
<value>white-paper</value>
|
78
28
|
<value>test-suite</value>
|
79
|
-
<value>whitepaper</value>
|
80
|
-
<value>approved-technical-baseline</value>
|
81
|
-
<value>recommendation-paper</value>
|
82
29
|
</choice>
|
83
30
|
</define>
|
84
31
|
<define name="editorialgroup">
|
@@ -96,6 +43,9 @@
|
|
96
43
|
<optional>
|
97
44
|
<ref name="doctype"/>
|
98
45
|
</optional>
|
46
|
+
<optional>
|
47
|
+
<ref name="docsubtype"/>
|
48
|
+
</optional>
|
99
49
|
<ref name="editorialgroup"/>
|
100
50
|
<zeroOrMore>
|
101
51
|
<ref name="ics"/>
|
@@ -113,6 +63,25 @@
|
|
113
63
|
</element>
|
114
64
|
</define>
|
115
65
|
</include>
|
66
|
+
<define name="docsubtype">
|
67
|
+
<element name="docsubtype">
|
68
|
+
<choice>
|
69
|
+
<value>conceptual-model</value>
|
70
|
+
<value>conceptual-model-and-encoding</value>
|
71
|
+
<value>conceptual-model-and-implementation</value>
|
72
|
+
<value>encoding</value>
|
73
|
+
<value>extension</value>
|
74
|
+
<value>implementation</value>
|
75
|
+
<value>profile</value>
|
76
|
+
<value>profile-with-extension</value>
|
77
|
+
<value>general</value>
|
78
|
+
<value>encoding</value>
|
79
|
+
<value>extension</value>
|
80
|
+
<value>profile</value>
|
81
|
+
<value>profile-with-extension</value>
|
82
|
+
</choice>
|
83
|
+
</element>
|
84
|
+
</define>
|
116
85
|
<define name="submitters">
|
117
86
|
<element name="submitters">
|
118
87
|
<ref name="Basic-Section"/>
|
@@ -127,6 +96,16 @@
|
|
127
96
|
</choice>
|
128
97
|
</element>
|
129
98
|
</define>
|
99
|
+
<define name="subcommittee">
|
100
|
+
<element name="subcommittee">
|
101
|
+
<ref name="IsoWorkgroup"/>
|
102
|
+
</element>
|
103
|
+
</define>
|
104
|
+
<define name="workgroup">
|
105
|
+
<element name="workgroup">
|
106
|
+
<ref name="IsoWorkgroup"/>
|
107
|
+
</element>
|
108
|
+
</define>
|
130
109
|
<define name="ogc-standard">
|
131
110
|
<element name="ogc-standard">
|
132
111
|
<ref name="bibdata"/>
|
@@ -1,14 +1,37 @@
|
|
1
1
|
module RelatonOgc
|
2
2
|
class OgcBibliographicItem < RelatonIsoBib::IsoBibliographicItem
|
3
3
|
TYPES = %w[
|
4
|
-
abstract-specification best-practice
|
5
|
-
change-request
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
policy-name-type-specification primer profile request-for-comment retired
|
10
|
-
standard-application-profile test-suite whitepaper approved-technical-baseline
|
11
|
-
recommendation-paper
|
4
|
+
abstract-specification-topic best-practice
|
5
|
+
change-request-supporting-document
|
6
|
+
community-practice community-standard discussion-paper engineering-report
|
7
|
+
other policy reference-model release-notes standard user-guide white-paper
|
8
|
+
test-suite
|
12
9
|
].freeze
|
10
|
+
|
11
|
+
SUBTYPES = %w[
|
12
|
+
conceptual-model conceptual-model-and-encoding
|
13
|
+
conceptual-model-and-implementation encoding extension implementation
|
14
|
+
profile profile-with-extension general
|
15
|
+
].freeze
|
16
|
+
|
17
|
+
# @return [String]
|
18
|
+
attr_reader :docsubtype
|
19
|
+
|
20
|
+
# @param docsubtype [String]
|
21
|
+
def initialize(**args)
|
22
|
+
if args[:docsubtype] && !SUBTYPES.include?(args[:docsubtype])
|
23
|
+
warn "[relaton-ogc] invalid document subtype: #{args[:docsubtype]}"
|
24
|
+
end
|
25
|
+
|
26
|
+
@docsubtype = args.delete :docsubtype
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
30
|
+
# @return [Hash]
|
31
|
+
def to_hash
|
32
|
+
hash = super
|
33
|
+
hash["docsubtype"] = docsubtype if docsubtype
|
34
|
+
hash
|
35
|
+
end
|
13
36
|
end
|
14
37
|
end
|
data/lib/relaton_ogc/scrapper.rb
CHANGED
@@ -1,46 +1,49 @@
|
|
1
1
|
module RelatonOgc
|
2
2
|
module Scrapper
|
3
3
|
TYPES = {
|
4
|
-
"AS" => "abstract-specification",
|
5
|
-
"BP" => "best-practice",
|
6
|
-
"CAN" => "
|
7
|
-
"CC" => "conformance-class",
|
8
|
-
"CR" => "change-request",
|
9
|
-
"CP" => "community-practice",
|
10
|
-
"CS" => "community-standard",
|
11
|
-
"DP" => "discussion-paper",
|
12
|
-
"DP-Draft" => "
|
13
|
-
"IPR" => "
|
14
|
-
"IS" => "
|
15
|
-
"ISC" => "
|
16
|
-
"ISx" => "
|
17
|
-
"Notes" => "
|
18
|
-
"ORM" => "
|
19
|
-
"PC" => "profile
|
20
|
-
"PER" => "
|
21
|
-
"POL" => "
|
22
|
-
"POLNTS" => "policy-name-type-specification",
|
23
|
-
"Primer" => "
|
24
|
-
"Profile" => "profile",
|
25
|
-
"RFC" => "
|
26
|
-
"Retired" => "retired",
|
27
|
-
"SAP" => "standard
|
28
|
-
"TS" => "test-suite",
|
29
|
-
"WhitePaper" => "
|
30
|
-
"ATB" => "
|
31
|
-
"RP" => "
|
4
|
+
"AS" => { type: "abstract-specification-topic" },
|
5
|
+
"BP" => { type: "best-practice", subtype: "general" },
|
6
|
+
"CAN" => { type: "standard", subtype: "general", stage: "draft" },
|
7
|
+
# "CC" => "conformance-class",
|
8
|
+
"CR" => { type: "change-request-supporting-document" },
|
9
|
+
"CP" => { type: "community-practice" },
|
10
|
+
"CS" => { type: "community-standard" },
|
11
|
+
"DP" => { type: "discussion-paper" },
|
12
|
+
"DP-Draft" => { type: "discussion-paper", stage: "draft" },
|
13
|
+
"IPR" => { type: "engineering-report" },
|
14
|
+
"IS" => { type: "standard", subtype: "implementation" },
|
15
|
+
"ISC" => { type: "standard", subtype: "implementation" },
|
16
|
+
"ISx" => { type: "standard", subtype: "extesion" },
|
17
|
+
"Notes" => { type: "other" },
|
18
|
+
"ORM" => { type: "reference-model" },
|
19
|
+
"PC" => { type: "standard", subtype: "profile" },
|
20
|
+
"PER" => { type: "engineering-report" },
|
21
|
+
"POL" => { type: "standard" },
|
22
|
+
# "POLNTS" => "policy-name-type-specification",
|
23
|
+
"Primer" => { type: "other" },
|
24
|
+
"Profile" => { type: "standard", subtype: "profile" },
|
25
|
+
"RFC" => { type: "standard", stage: "draft" },
|
26
|
+
# "Retired" => "retired",
|
27
|
+
"SAP" => { type: "standard", subtype: "profile" },
|
28
|
+
# "TS" => "test-suite", # @PENDING
|
29
|
+
"WhitePaper" => { type: "white-paper" },
|
30
|
+
"ATB" => { type: "other" },
|
31
|
+
"RP" => { type: "discussion-paper" },
|
32
32
|
}.freeze
|
33
33
|
|
34
34
|
class << self
|
35
35
|
# papam hit [Hash]
|
36
36
|
# @return [RelatonOgc::OrcBibliographicItem]
|
37
37
|
def parse_page(hit)
|
38
|
+
type = fetch_type(hit["type"])
|
38
39
|
OgcBibliographicItem.new(
|
39
40
|
fetched: Date.today.to_s,
|
40
41
|
title: fetch_title(hit["title"]),
|
41
42
|
docid: fetch_docid(hit["identifier"]),
|
42
43
|
link: fetch_link(hit["URL"]),
|
43
|
-
doctype:
|
44
|
+
doctype: type[:type],
|
45
|
+
docsubtype: type[:subtype],
|
46
|
+
docstatus: fetch_status(type[:stage]),
|
44
47
|
edition: fetch_edition(hit["identifier"]),
|
45
48
|
abstract: fetch_abstract(hit["description"]),
|
46
49
|
contributor: fetch_contributor(hit),
|
@@ -90,6 +93,12 @@ module RelatonOgc
|
|
90
93
|
TYPES[type.sub(/^D-/, "")]
|
91
94
|
end
|
92
95
|
|
96
|
+
# @param stage [String]
|
97
|
+
# @return [RelatonBib::DocumentStatus, NilClass]
|
98
|
+
def fetch_status(stage)
|
99
|
+
stage && RelatonBib::DocunentStatus.new(stage: stage)
|
100
|
+
end
|
101
|
+
|
93
102
|
# @param identifier [String]
|
94
103
|
# @return [String]
|
95
104
|
def fetch_edition(identifier)
|
data/lib/relaton_ogc/version.rb
CHANGED
@@ -8,9 +8,9 @@ module RelatonOgc
|
|
8
8
|
# @return [RelatonOgc::OgcBibliographicItem]
|
9
9
|
def from_xml(xml)
|
10
10
|
doc = Nokogiri::XML(xml)
|
11
|
-
|
12
|
-
if
|
13
|
-
OgcBibliographicItem.new item_data(
|
11
|
+
item = doc.at "/bibitem|/bibdata"
|
12
|
+
if item
|
13
|
+
OgcBibliographicItem.new item_data(item)
|
14
14
|
else
|
15
15
|
warn "[relaton-ogc] can't find bibitem or bibdata element in the XML"
|
16
16
|
end
|
@@ -18,6 +18,18 @@ module RelatonOgc
|
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
|
+
# Override RelatonIsoBib::XMLParser.item_data method.
|
22
|
+
# @param item [Nokogiri::XML::Element]
|
23
|
+
# @returtn [Hash]
|
24
|
+
def item_data(item)
|
25
|
+
data = super
|
26
|
+
ext = item.at "./ext"
|
27
|
+
return data unless ext
|
28
|
+
|
29
|
+
data[:docsubtype] = ext.at("./docsubtype")&.text
|
30
|
+
data
|
31
|
+
end
|
32
|
+
|
21
33
|
# @TODO Organization doesn't recreated
|
22
34
|
# @param ext [Nokogiri::XML::Element]
|
23
35
|
# @return [RelatonIsoBib::EditorialGroup]
|
data/relaton_ogc.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relaton-ogc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: debase
|
@@ -168,16 +168,16 @@ dependencies:
|
|
168
168
|
name: relaton-iso-bib
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - "
|
171
|
+
- - ">="
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.9.
|
173
|
+
version: 0.9.1
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - "
|
178
|
+
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 0.9.
|
180
|
+
version: 0.9.1
|
181
181
|
description: 'RelatonIso: retrieve ISO Standards for bibliographic use using the IsoBibliographicItem
|
182
182
|
model'
|
183
183
|
email:
|
@@ -201,7 +201,6 @@ files:
|
|
201
201
|
- grammars/basicdoc.rng
|
202
202
|
- grammars/biblio.rng
|
203
203
|
- grammars/isodoc.rng
|
204
|
-
- grammars/isostandard.rng
|
205
204
|
- grammars/ogc.rng
|
206
205
|
- grammars/reqt.rng
|
207
206
|
- lib/relaton_ogc.rb
|
data/grammars/isostandard.rng
DELETED
@@ -1,855 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
|
-
<include href="isodoc.rng">
|
4
|
-
<start>
|
5
|
-
<ref name="iso-standard"/>
|
6
|
-
</start>
|
7
|
-
<define name="organization">
|
8
|
-
<element name="organization">
|
9
|
-
<ref name="orgname"/>
|
10
|
-
<optional>
|
11
|
-
<ref name="abbreviation"/>
|
12
|
-
</optional>
|
13
|
-
<optional>
|
14
|
-
<ref name="uri"/>
|
15
|
-
</optional>
|
16
|
-
<zeroOrMore>
|
17
|
-
<ref name="org-identifier"/>
|
18
|
-
</zeroOrMore>
|
19
|
-
<zeroOrMore>
|
20
|
-
<ref name="contact"/>
|
21
|
-
</zeroOrMore>
|
22
|
-
<optional>
|
23
|
-
<ref name="technical-committee"/>
|
24
|
-
</optional>
|
25
|
-
<optional>
|
26
|
-
<ref name="subcommittee"/>
|
27
|
-
</optional>
|
28
|
-
<optional>
|
29
|
-
<ref name="workgroup"/>
|
30
|
-
</optional>
|
31
|
-
<optional>
|
32
|
-
<ref name="secretariat"/>
|
33
|
-
</optional>
|
34
|
-
</element>
|
35
|
-
</define>
|
36
|
-
<define name="BibDataExtensionType">
|
37
|
-
<optional>
|
38
|
-
<ref name="doctype"/>
|
39
|
-
</optional>
|
40
|
-
<ref name="editorialgroup"/>
|
41
|
-
<zeroOrMore>
|
42
|
-
<ref name="ics"/>
|
43
|
-
</zeroOrMore>
|
44
|
-
<ref name="structuredidentifier"/>
|
45
|
-
</define>
|
46
|
-
<define name="bdate">
|
47
|
-
<element name="date">
|
48
|
-
<attribute name="type">
|
49
|
-
<choice>
|
50
|
-
<ref name="BibliographicDateType"/>
|
51
|
-
<text/>
|
52
|
-
</choice>
|
53
|
-
</attribute>
|
54
|
-
<choice>
|
55
|
-
<group>
|
56
|
-
<element name="from">
|
57
|
-
<ref name="ISO8601Date"/>
|
58
|
-
</element>
|
59
|
-
<optional>
|
60
|
-
<element name="to">
|
61
|
-
<ref name="ISO8601Date"/>
|
62
|
-
</element>
|
63
|
-
</optional>
|
64
|
-
</group>
|
65
|
-
<element name="on">
|
66
|
-
<choice>
|
67
|
-
<ref name="ISO8601Date"/>
|
68
|
-
<value>--</value>
|
69
|
-
</choice>
|
70
|
-
</element>
|
71
|
-
</choice>
|
72
|
-
</element>
|
73
|
-
</define>
|
74
|
-
<define name="sections">
|
75
|
-
<element name="sections">
|
76
|
-
<ref name="clause"/>
|
77
|
-
<choice>
|
78
|
-
<ref name="term-clause"/>
|
79
|
-
<ref name="terms"/>
|
80
|
-
</choice>
|
81
|
-
<optional>
|
82
|
-
<ref name="definitions"/>
|
83
|
-
</optional>
|
84
|
-
<oneOrMore>
|
85
|
-
<ref name="clause"/>
|
86
|
-
</oneOrMore>
|
87
|
-
</element>
|
88
|
-
</define>
|
89
|
-
<define name="Basic-Section">
|
90
|
-
<optional>
|
91
|
-
<attribute name="id">
|
92
|
-
<data type="ID"/>
|
93
|
-
</attribute>
|
94
|
-
</optional>
|
95
|
-
<optional>
|
96
|
-
<attribute name="language"/>
|
97
|
-
</optional>
|
98
|
-
<optional>
|
99
|
-
<attribute name="script"/>
|
100
|
-
</optional>
|
101
|
-
<optional>
|
102
|
-
<attribute name="obligation">
|
103
|
-
<choice>
|
104
|
-
<value>normative</value>
|
105
|
-
<value>informative</value>
|
106
|
-
</choice>
|
107
|
-
</attribute>
|
108
|
-
</optional>
|
109
|
-
<optional>
|
110
|
-
<ref name="section-title"/>
|
111
|
-
</optional>
|
112
|
-
<group>
|
113
|
-
<oneOrMore>
|
114
|
-
<ref name="BasicBlock"/>
|
115
|
-
</oneOrMore>
|
116
|
-
<zeroOrMore>
|
117
|
-
<ref name="note"/>
|
118
|
-
</zeroOrMore>
|
119
|
-
</group>
|
120
|
-
</define>
|
121
|
-
<define name="Content-Section">
|
122
|
-
<optional>
|
123
|
-
<attribute name="id">
|
124
|
-
<data type="ID"/>
|
125
|
-
</attribute>
|
126
|
-
</optional>
|
127
|
-
<optional>
|
128
|
-
<attribute name="language"/>
|
129
|
-
</optional>
|
130
|
-
<optional>
|
131
|
-
<attribute name="script"/>
|
132
|
-
</optional>
|
133
|
-
<optional>
|
134
|
-
<attribute name="obligation">
|
135
|
-
<choice>
|
136
|
-
<value>normative</value>
|
137
|
-
<value>informative</value>
|
138
|
-
</choice>
|
139
|
-
</attribute>
|
140
|
-
</optional>
|
141
|
-
<optional>
|
142
|
-
<ref name="section-title"/>
|
143
|
-
</optional>
|
144
|
-
<choice>
|
145
|
-
<group>
|
146
|
-
<oneOrMore>
|
147
|
-
<ref name="BasicBlock"/>
|
148
|
-
</oneOrMore>
|
149
|
-
<zeroOrMore>
|
150
|
-
<ref name="note"/>
|
151
|
-
</zeroOrMore>
|
152
|
-
</group>
|
153
|
-
<oneOrMore>
|
154
|
-
<ref name="content-subsection"/>
|
155
|
-
</oneOrMore>
|
156
|
-
</choice>
|
157
|
-
</define>
|
158
|
-
<define name="Clause-Section">
|
159
|
-
<optional>
|
160
|
-
<attribute name="id">
|
161
|
-
<data type="ID"/>
|
162
|
-
</attribute>
|
163
|
-
</optional>
|
164
|
-
<optional>
|
165
|
-
<attribute name="language"/>
|
166
|
-
</optional>
|
167
|
-
<optional>
|
168
|
-
<attribute name="script"/>
|
169
|
-
</optional>
|
170
|
-
<optional>
|
171
|
-
<attribute name="inline-header">
|
172
|
-
<data type="boolean"/>
|
173
|
-
</attribute>
|
174
|
-
</optional>
|
175
|
-
<optional>
|
176
|
-
<attribute name="obligation">
|
177
|
-
<choice>
|
178
|
-
<value>normative</value>
|
179
|
-
<value>informative</value>
|
180
|
-
</choice>
|
181
|
-
</attribute>
|
182
|
-
</optional>
|
183
|
-
<optional>
|
184
|
-
<ref name="section-title"/>
|
185
|
-
</optional>
|
186
|
-
<choice>
|
187
|
-
<group>
|
188
|
-
<oneOrMore>
|
189
|
-
<ref name="BasicBlock"/>
|
190
|
-
</oneOrMore>
|
191
|
-
<zeroOrMore>
|
192
|
-
<ref name="note"/>
|
193
|
-
</zeroOrMore>
|
194
|
-
</group>
|
195
|
-
<oneOrMore>
|
196
|
-
<ref name="clause-subsection"/>
|
197
|
-
</oneOrMore>
|
198
|
-
</choice>
|
199
|
-
</define>
|
200
|
-
<define name="references">
|
201
|
-
<element name="references">
|
202
|
-
<optional>
|
203
|
-
<attribute name="id">
|
204
|
-
<data type="ID"/>
|
205
|
-
</attribute>
|
206
|
-
</optional>
|
207
|
-
<optional>
|
208
|
-
<attribute name="obligation">
|
209
|
-
<choice>
|
210
|
-
<value>normative</value>
|
211
|
-
<value>informative</value>
|
212
|
-
</choice>
|
213
|
-
</attribute>
|
214
|
-
</optional>
|
215
|
-
<optional>
|
216
|
-
<ref name="section-title"/>
|
217
|
-
</optional>
|
218
|
-
<zeroOrMore>
|
219
|
-
<ref name="BasicBlock"/>
|
220
|
-
</zeroOrMore>
|
221
|
-
<zeroOrMore>
|
222
|
-
<ref name="bibitem"/>
|
223
|
-
<zeroOrMore>
|
224
|
-
<ref name="note"/>
|
225
|
-
</zeroOrMore>
|
226
|
-
</zeroOrMore>
|
227
|
-
<zeroOrMore>
|
228
|
-
<ref name="references"/>
|
229
|
-
</zeroOrMore>
|
230
|
-
</element>
|
231
|
-
</define>
|
232
|
-
<define name="definitions">
|
233
|
-
<element name="definitions">
|
234
|
-
<optional>
|
235
|
-
<attribute name="id">
|
236
|
-
<data type="ID"/>
|
237
|
-
</attribute>
|
238
|
-
</optional>
|
239
|
-
<optional>
|
240
|
-
<attribute name="language"/>
|
241
|
-
</optional>
|
242
|
-
<optional>
|
243
|
-
<attribute name="script"/>
|
244
|
-
</optional>
|
245
|
-
<optional>
|
246
|
-
<attribute name="obligation">
|
247
|
-
<choice>
|
248
|
-
<value>normative</value>
|
249
|
-
<value>informative</value>
|
250
|
-
</choice>
|
251
|
-
</attribute>
|
252
|
-
</optional>
|
253
|
-
<zeroOrMore>
|
254
|
-
<ref name="BasicBlock"/>
|
255
|
-
</zeroOrMore>
|
256
|
-
<ref name="dl"/>
|
257
|
-
</element>
|
258
|
-
</define>
|
259
|
-
<define name="terms">
|
260
|
-
<element name="terms">
|
261
|
-
<optional>
|
262
|
-
<attribute name="id">
|
263
|
-
<data type="ID"/>
|
264
|
-
</attribute>
|
265
|
-
</optional>
|
266
|
-
<optional>
|
267
|
-
<attribute name="language"/>
|
268
|
-
</optional>
|
269
|
-
<optional>
|
270
|
-
<attribute name="script"/>
|
271
|
-
</optional>
|
272
|
-
<optional>
|
273
|
-
<attribute name="obligation">
|
274
|
-
<choice>
|
275
|
-
<value>normative</value>
|
276
|
-
<value>informative</value>
|
277
|
-
</choice>
|
278
|
-
</attribute>
|
279
|
-
</optional>
|
280
|
-
<optional>
|
281
|
-
<ref name="section-title"/>
|
282
|
-
</optional>
|
283
|
-
<zeroOrMore>
|
284
|
-
<ref name="BasicBlock"/>
|
285
|
-
</zeroOrMore>
|
286
|
-
<choice>
|
287
|
-
<oneOrMore>
|
288
|
-
<ref name="term"/>
|
289
|
-
</oneOrMore>
|
290
|
-
<group>
|
291
|
-
<zeroOrMore>
|
292
|
-
<ref name="terms"/>
|
293
|
-
</zeroOrMore>
|
294
|
-
<optional>
|
295
|
-
<ref name="definitions"/>
|
296
|
-
</optional>
|
297
|
-
</group>
|
298
|
-
</choice>
|
299
|
-
</element>
|
300
|
-
</define>
|
301
|
-
<define name="term">
|
302
|
-
<element name="term">
|
303
|
-
<optional>
|
304
|
-
<attribute name="id">
|
305
|
-
<data type="ID"/>
|
306
|
-
</attribute>
|
307
|
-
</optional>
|
308
|
-
<ref name="preferred"/>
|
309
|
-
<zeroOrMore>
|
310
|
-
<ref name="admitted"/>
|
311
|
-
</zeroOrMore>
|
312
|
-
<zeroOrMore>
|
313
|
-
<ref name="deprecates"/>
|
314
|
-
</zeroOrMore>
|
315
|
-
<optional>
|
316
|
-
<ref name="termdomain"/>
|
317
|
-
</optional>
|
318
|
-
<ref name="definition"/>
|
319
|
-
<zeroOrMore>
|
320
|
-
<ref name="termnote"/>
|
321
|
-
</zeroOrMore>
|
322
|
-
<zeroOrMore>
|
323
|
-
<ref name="termexample"/>
|
324
|
-
</zeroOrMore>
|
325
|
-
<zeroOrMore>
|
326
|
-
<ref name="termsource"/>
|
327
|
-
</zeroOrMore>
|
328
|
-
</element>
|
329
|
-
</define>
|
330
|
-
<define name="definition">
|
331
|
-
<element name="definition">
|
332
|
-
<oneOrMore>
|
333
|
-
<choice>
|
334
|
-
<ref name="paragraph"/>
|
335
|
-
<ref name="figure"/>
|
336
|
-
<ref name="formula"/>
|
337
|
-
</choice>
|
338
|
-
</oneOrMore>
|
339
|
-
</element>
|
340
|
-
</define>
|
341
|
-
<define name="annex">
|
342
|
-
<element name="annex">
|
343
|
-
<optional>
|
344
|
-
<attribute name="id">
|
345
|
-
<data type="ID"/>
|
346
|
-
</attribute>
|
347
|
-
</optional>
|
348
|
-
<optional>
|
349
|
-
<attribute name="language"/>
|
350
|
-
</optional>
|
351
|
-
<optional>
|
352
|
-
<attribute name="script"/>
|
353
|
-
</optional>
|
354
|
-
<optional>
|
355
|
-
<attribute name="inline-header">
|
356
|
-
<data type="boolean"/>
|
357
|
-
</attribute>
|
358
|
-
</optional>
|
359
|
-
<optional>
|
360
|
-
<attribute name="obligation">
|
361
|
-
<choice>
|
362
|
-
<value>normative</value>
|
363
|
-
<value>informative</value>
|
364
|
-
</choice>
|
365
|
-
</attribute>
|
366
|
-
</optional>
|
367
|
-
<optional>
|
368
|
-
<ref name="section-title"/>
|
369
|
-
</optional>
|
370
|
-
<zeroOrMore>
|
371
|
-
<!--
|
372
|
-
allow hanging paragraps in annexes: they introduce lists
|
373
|
-
( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | figure | quote | sourcecode | review | example )*,
|
374
|
-
-->
|
375
|
-
<ref name="BasicBlock"/>
|
376
|
-
</zeroOrMore>
|
377
|
-
<zeroOrMore>
|
378
|
-
<ref name="note"/>
|
379
|
-
</zeroOrMore>
|
380
|
-
<zeroOrMore>
|
381
|
-
<ref name="clause-hanging-paragraph-with-footnote"/>
|
382
|
-
</zeroOrMore>
|
383
|
-
<zeroOrMore>
|
384
|
-
<ref name="annex-appendix"/>
|
385
|
-
</zeroOrMore>
|
386
|
-
</element>
|
387
|
-
</define>
|
388
|
-
<define name="figure">
|
389
|
-
<element name="figure">
|
390
|
-
<attribute name="id">
|
391
|
-
<data type="ID"/>
|
392
|
-
</attribute>
|
393
|
-
<optional>
|
394
|
-
<ref name="tname"/>
|
395
|
-
</optional>
|
396
|
-
<choice>
|
397
|
-
<ref name="image"/>
|
398
|
-
<oneOrMore>
|
399
|
-
<ref name="subfigure"/>
|
400
|
-
</oneOrMore>
|
401
|
-
</choice>
|
402
|
-
<zeroOrMore>
|
403
|
-
<ref name="fn"/>
|
404
|
-
</zeroOrMore>
|
405
|
-
<optional>
|
406
|
-
<ref name="dl"/>
|
407
|
-
</optional>
|
408
|
-
<zeroOrMore>
|
409
|
-
<ref name="note"/>
|
410
|
-
</zeroOrMore>
|
411
|
-
</element>
|
412
|
-
</define>
|
413
|
-
<define name="li">
|
414
|
-
<element name="li">
|
415
|
-
<group>
|
416
|
-
<optional>
|
417
|
-
<!-- ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )+ -->
|
418
|
-
<attribute name="id">
|
419
|
-
<data type="ID"/>
|
420
|
-
</attribute>
|
421
|
-
</optional>
|
422
|
-
<oneOrMore>
|
423
|
-
<ref name="BasicBlock"/>
|
424
|
-
</oneOrMore>
|
425
|
-
</group>
|
426
|
-
<!-- exclude figures? -->
|
427
|
-
</element>
|
428
|
-
</define>
|
429
|
-
<define name="dd">
|
430
|
-
<element name="dd">
|
431
|
-
<zeroOrMore>
|
432
|
-
<!--
|
433
|
-
( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )*
|
434
|
-
exclude figures?
|
435
|
-
-->
|
436
|
-
<ref name="BasicBlock"/>
|
437
|
-
</zeroOrMore>
|
438
|
-
</element>
|
439
|
-
</define>
|
440
|
-
<define name="admonition">
|
441
|
-
<element name="admonition">
|
442
|
-
<attribute name="id">
|
443
|
-
<data type="ID"/>
|
444
|
-
</attribute>
|
445
|
-
<attribute name="type">
|
446
|
-
<choice>
|
447
|
-
<value>danger</value>
|
448
|
-
<value>caution</value>
|
449
|
-
<value>warning</value>
|
450
|
-
<value>important</value>
|
451
|
-
<value>safety precautions</value>
|
452
|
-
</choice>
|
453
|
-
</attribute>
|
454
|
-
<oneOrMore>
|
455
|
-
<ref name="paragraph-with-footnote"/>
|
456
|
-
</oneOrMore>
|
457
|
-
<zeroOrMore>
|
458
|
-
<ref name="note"/>
|
459
|
-
</zeroOrMore>
|
460
|
-
</element>
|
461
|
-
</define>
|
462
|
-
<define name="xref">
|
463
|
-
<element name="xref">
|
464
|
-
<attribute name="target">
|
465
|
-
<data type="IDREF"/>
|
466
|
-
</attribute>
|
467
|
-
<text/>
|
468
|
-
</element>
|
469
|
-
</define>
|
470
|
-
<define name="hyperlink">
|
471
|
-
<element name="link">
|
472
|
-
<attribute name="target">
|
473
|
-
<data type="anyURI"/>
|
474
|
-
</attribute>
|
475
|
-
<text/>
|
476
|
-
</element>
|
477
|
-
</define>
|
478
|
-
<define name="thead">
|
479
|
-
<element name="thead">
|
480
|
-
<oneOrMore>
|
481
|
-
<ref name="tr"/>
|
482
|
-
</oneOrMore>
|
483
|
-
</element>
|
484
|
-
</define>
|
485
|
-
<define name="td">
|
486
|
-
<element name="td">
|
487
|
-
<optional>
|
488
|
-
<attribute name="colspan"/>
|
489
|
-
</optional>
|
490
|
-
<optional>
|
491
|
-
<attribute name="rowspan"/>
|
492
|
-
</optional>
|
493
|
-
<optional>
|
494
|
-
<attribute name="align">
|
495
|
-
<choice>
|
496
|
-
<value>left</value>
|
497
|
-
<value>right</value>
|
498
|
-
<value>center</value>
|
499
|
-
</choice>
|
500
|
-
</attribute>
|
501
|
-
</optional>
|
502
|
-
<choice>
|
503
|
-
<zeroOrMore>
|
504
|
-
<choice>
|
505
|
-
<ref name="TextElement"/>
|
506
|
-
<ref name="fn"/>
|
507
|
-
</choice>
|
508
|
-
</zeroOrMore>
|
509
|
-
<oneOrMore>
|
510
|
-
<ref name="paragraph-with-footnote"/>
|
511
|
-
</oneOrMore>
|
512
|
-
</choice>
|
513
|
-
</element>
|
514
|
-
</define>
|
515
|
-
<define name="th">
|
516
|
-
<element name="th">
|
517
|
-
<optional>
|
518
|
-
<attribute name="colspan"/>
|
519
|
-
</optional>
|
520
|
-
<optional>
|
521
|
-
<attribute name="rowspan"/>
|
522
|
-
</optional>
|
523
|
-
<optional>
|
524
|
-
<attribute name="align">
|
525
|
-
<choice>
|
526
|
-
<value>left</value>
|
527
|
-
<value>right</value>
|
528
|
-
<value>center</value>
|
529
|
-
</choice>
|
530
|
-
</attribute>
|
531
|
-
</optional>
|
532
|
-
<choice>
|
533
|
-
<zeroOrMore>
|
534
|
-
<choice>
|
535
|
-
<ref name="TextElement"/>
|
536
|
-
<ref name="fn"/>
|
537
|
-
</choice>
|
538
|
-
</zeroOrMore>
|
539
|
-
<oneOrMore>
|
540
|
-
<ref name="paragraph-with-footnote"/>
|
541
|
-
</oneOrMore>
|
542
|
-
</choice>
|
543
|
-
</element>
|
544
|
-
</define>
|
545
|
-
<define name="table-note">
|
546
|
-
<element name="note">
|
547
|
-
<optional>
|
548
|
-
<attribute name="id">
|
549
|
-
<data type="ID"/>
|
550
|
-
</attribute>
|
551
|
-
</optional>
|
552
|
-
<ref name="paragraph"/>
|
553
|
-
</element>
|
554
|
-
</define>
|
555
|
-
<define name="preface">
|
556
|
-
<element name="preface">
|
557
|
-
<optional>
|
558
|
-
<ref name="preface_abstract"/>
|
559
|
-
</optional>
|
560
|
-
<ref name="foreword"/>
|
561
|
-
<optional>
|
562
|
-
<ref name="introduction"/>
|
563
|
-
</optional>
|
564
|
-
</element>
|
565
|
-
</define>
|
566
|
-
<define name="DocumentType">
|
567
|
-
<choice>
|
568
|
-
<value>international-standard</value>
|
569
|
-
<value>technical-specification</value>
|
570
|
-
<value>technical-report</value>
|
571
|
-
<value>publicly-available-specification</value>
|
572
|
-
<value>international-workshop-agreement</value>
|
573
|
-
<value>guide</value>
|
574
|
-
</choice>
|
575
|
-
</define>
|
576
|
-
<define name="structuredidentifier">
|
577
|
-
<element name="structuredidentifier">
|
578
|
-
<optional>
|
579
|
-
<attribute name="type"/>
|
580
|
-
</optional>
|
581
|
-
<group>
|
582
|
-
<ref name="documentnumber"/>
|
583
|
-
<optional>
|
584
|
-
<ref name="tc-documentnumber"/>
|
585
|
-
</optional>
|
586
|
-
</group>
|
587
|
-
</element>
|
588
|
-
</define>
|
589
|
-
<define name="foreword">
|
590
|
-
<element name="foreword">
|
591
|
-
<ref name="Basic-Section"/>
|
592
|
-
</element>
|
593
|
-
</define>
|
594
|
-
<define name="introduction">
|
595
|
-
<element name="introduction">
|
596
|
-
<ref name="Content-Section"/>
|
597
|
-
</element>
|
598
|
-
</define>
|
599
|
-
</include>
|
600
|
-
<!-- end overrides -->
|
601
|
-
<!--
|
602
|
-
We display the Normative References between scope and terms; but to keep the
|
603
|
-
grammar simple, we keep the references together
|
604
|
-
-->
|
605
|
-
<define name="iso-standard">
|
606
|
-
<element name="iso-standard">
|
607
|
-
<ref name="bibdata"/>
|
608
|
-
<zeroOrMore>
|
609
|
-
<ref name="termdocsource"/>
|
610
|
-
</zeroOrMore>
|
611
|
-
<optional>
|
612
|
-
<ref name="boilerplate"/>
|
613
|
-
</optional>
|
614
|
-
<ref name="preface"/>
|
615
|
-
<oneOrMore>
|
616
|
-
<ref name="sections"/>
|
617
|
-
</oneOrMore>
|
618
|
-
<zeroOrMore>
|
619
|
-
<ref name="annex"/>
|
620
|
-
</zeroOrMore>
|
621
|
-
<ref name="bibliography"/>
|
622
|
-
</element>
|
623
|
-
</define>
|
624
|
-
<define name="bibliography">
|
625
|
-
<element name="bibliography">
|
626
|
-
<oneOrMore>
|
627
|
-
<choice>
|
628
|
-
<ref name="references"/>
|
629
|
-
<ref name="reference-clause"/>
|
630
|
-
</choice>
|
631
|
-
</oneOrMore>
|
632
|
-
</element>
|
633
|
-
</define>
|
634
|
-
<define name="editorialgroup">
|
635
|
-
<element name="editorialgroup">
|
636
|
-
<oneOrMore>
|
637
|
-
<ref name="technical-committee"/>
|
638
|
-
</oneOrMore>
|
639
|
-
<zeroOrMore>
|
640
|
-
<ref name="subcommittee"/>
|
641
|
-
</zeroOrMore>
|
642
|
-
<zeroOrMore>
|
643
|
-
<ref name="workgroup"/>
|
644
|
-
</zeroOrMore>
|
645
|
-
<optional>
|
646
|
-
<ref name="secretariat"/>
|
647
|
-
</optional>
|
648
|
-
</element>
|
649
|
-
</define>
|
650
|
-
<define name="preface_abstract">
|
651
|
-
<element name="abstract">
|
652
|
-
<ref name="Basic-Section"/>
|
653
|
-
</element>
|
654
|
-
</define>
|
655
|
-
<define name="documentnumber">
|
656
|
-
<element name="project-number">
|
657
|
-
<optional>
|
658
|
-
<attribute name="part">
|
659
|
-
<data type="int"/>
|
660
|
-
</attribute>
|
661
|
-
</optional>
|
662
|
-
<optional>
|
663
|
-
<attribute name="subpart">
|
664
|
-
<data type="int"/>
|
665
|
-
</attribute>
|
666
|
-
</optional>
|
667
|
-
<text/>
|
668
|
-
</element>
|
669
|
-
</define>
|
670
|
-
<define name="tc-documentnumber">
|
671
|
-
<element name="tc-document-number">
|
672
|
-
<data type="int"/>
|
673
|
-
</element>
|
674
|
-
</define>
|
675
|
-
<define name="technical-committee">
|
676
|
-
<element name="technical-committee">
|
677
|
-
<ref name="IsoWorkgroup"/>
|
678
|
-
</element>
|
679
|
-
</define>
|
680
|
-
<define name="subcommittee">
|
681
|
-
<element name="subcommittee">
|
682
|
-
<ref name="IsoWorkgroup"/>
|
683
|
-
</element>
|
684
|
-
</define>
|
685
|
-
<define name="workgroup">
|
686
|
-
<element name="workgroup">
|
687
|
-
<ref name="IsoWorkgroup"/>
|
688
|
-
</element>
|
689
|
-
</define>
|
690
|
-
<define name="IsoWorkgroup">
|
691
|
-
<optional>
|
692
|
-
<attribute name="number">
|
693
|
-
<data type="int"/>
|
694
|
-
</attribute>
|
695
|
-
</optional>
|
696
|
-
<optional>
|
697
|
-
<attribute name="type"/>
|
698
|
-
</optional>
|
699
|
-
<text/>
|
700
|
-
</define>
|
701
|
-
<define name="secretariat">
|
702
|
-
<element name="secretariat">
|
703
|
-
<text/>
|
704
|
-
</element>
|
705
|
-
</define>
|
706
|
-
<define name="clause-hanging-paragraph-with-footnote">
|
707
|
-
<element name="clause">
|
708
|
-
<optional>
|
709
|
-
<attribute name="id">
|
710
|
-
<data type="ID"/>
|
711
|
-
</attribute>
|
712
|
-
</optional>
|
713
|
-
<optional>
|
714
|
-
<attribute name="language"/>
|
715
|
-
</optional>
|
716
|
-
<optional>
|
717
|
-
<attribute name="script"/>
|
718
|
-
</optional>
|
719
|
-
<optional>
|
720
|
-
<attribute name="inline-header">
|
721
|
-
<data type="boolean"/>
|
722
|
-
</attribute>
|
723
|
-
</optional>
|
724
|
-
<optional>
|
725
|
-
<attribute name="obligation">
|
726
|
-
<choice>
|
727
|
-
<value>normative</value>
|
728
|
-
<value>informative</value>
|
729
|
-
</choice>
|
730
|
-
</attribute>
|
731
|
-
</optional>
|
732
|
-
<optional>
|
733
|
-
<ref name="section-title"/>
|
734
|
-
</optional>
|
735
|
-
<zeroOrMore>
|
736
|
-
<!-- allow hanging paragraphs in annexes: they introduce lists -->
|
737
|
-
<ref name="BasicBlock"/>
|
738
|
-
</zeroOrMore>
|
739
|
-
<zeroOrMore>
|
740
|
-
<ref name="note"/>
|
741
|
-
</zeroOrMore>
|
742
|
-
<zeroOrMore>
|
743
|
-
<ref name="clause-hanging-paragraph-with-footnote"/>
|
744
|
-
</zeroOrMore>
|
745
|
-
</element>
|
746
|
-
</define>
|
747
|
-
<define name="subfigure">
|
748
|
-
<element name="figure">
|
749
|
-
<attribute name="id">
|
750
|
-
<data type="ID"/>
|
751
|
-
</attribute>
|
752
|
-
<optional>
|
753
|
-
<ref name="tname"/>
|
754
|
-
</optional>
|
755
|
-
<ref name="image"/>
|
756
|
-
</element>
|
757
|
-
</define>
|
758
|
-
<define name="termdocsource">
|
759
|
-
<element name="termdocsource">
|
760
|
-
<ref name="CitationType"/>
|
761
|
-
</element>
|
762
|
-
</define>
|
763
|
-
<define name="ics">
|
764
|
-
<element name="ics">
|
765
|
-
<element name="code">
|
766
|
-
<text/>
|
767
|
-
</element>
|
768
|
-
<element name="text">
|
769
|
-
<text/>
|
770
|
-
</element>
|
771
|
-
</element>
|
772
|
-
</define>
|
773
|
-
<define name="term-clause">
|
774
|
-
<element name="clause">
|
775
|
-
<optional>
|
776
|
-
<attribute name="id">
|
777
|
-
<data type="ID"/>
|
778
|
-
</attribute>
|
779
|
-
</optional>
|
780
|
-
<optional>
|
781
|
-
<attribute name="language"/>
|
782
|
-
</optional>
|
783
|
-
<optional>
|
784
|
-
<attribute name="script"/>
|
785
|
-
</optional>
|
786
|
-
<optional>
|
787
|
-
<attribute name="inline-header">
|
788
|
-
<data type="boolean"/>
|
789
|
-
</attribute>
|
790
|
-
</optional>
|
791
|
-
<optional>
|
792
|
-
<attribute name="obligation">
|
793
|
-
<choice>
|
794
|
-
<value>normative</value>
|
795
|
-
<value>informative</value>
|
796
|
-
</choice>
|
797
|
-
</attribute>
|
798
|
-
</optional>
|
799
|
-
<optional>
|
800
|
-
<ref name="section-title"/>
|
801
|
-
</optional>
|
802
|
-
<zeroOrMore>
|
803
|
-
<choice>
|
804
|
-
<ref name="term-clause"/>
|
805
|
-
<ref name="terms"/>
|
806
|
-
<ref name="definitions"/>
|
807
|
-
</choice>
|
808
|
-
</zeroOrMore>
|
809
|
-
</element>
|
810
|
-
</define>
|
811
|
-
<define name="reference-clause">
|
812
|
-
<element name="clause">
|
813
|
-
<optional>
|
814
|
-
<attribute name="id">
|
815
|
-
<data type="ID"/>
|
816
|
-
</attribute>
|
817
|
-
</optional>
|
818
|
-
<optional>
|
819
|
-
<attribute name="language"/>
|
820
|
-
</optional>
|
821
|
-
<optional>
|
822
|
-
<attribute name="script"/>
|
823
|
-
</optional>
|
824
|
-
<optional>
|
825
|
-
<attribute name="inline-header">
|
826
|
-
<data type="boolean"/>
|
827
|
-
</attribute>
|
828
|
-
</optional>
|
829
|
-
<optional>
|
830
|
-
<attribute name="obligation">
|
831
|
-
<choice>
|
832
|
-
<value>normative</value>
|
833
|
-
<value>informative</value>
|
834
|
-
</choice>
|
835
|
-
</attribute>
|
836
|
-
</optional>
|
837
|
-
<optional>
|
838
|
-
<ref name="section-title"/>
|
839
|
-
</optional>
|
840
|
-
<choice>
|
841
|
-
<oneOrMore>
|
842
|
-
<ref name="reference-clause"/>
|
843
|
-
</oneOrMore>
|
844
|
-
<zeroOrMore>
|
845
|
-
<ref name="references"/>
|
846
|
-
</zeroOrMore>
|
847
|
-
</choice>
|
848
|
-
</element>
|
849
|
-
</define>
|
850
|
-
<define name="annex-appendix">
|
851
|
-
<element name="appendix">
|
852
|
-
<ref name="Clause-Section"/>
|
853
|
-
</element>
|
854
|
-
</define>
|
855
|
-
</grammar>
|