metanorma-ietf 2.2.1 → 2.2.6
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/.github/workflows/rake.yml +91 -0
- data/README.adoc +9 -11
- data/lib/asciidoctor/ietf/basicdoc.rng +73 -3
- data/lib/asciidoctor/ietf/converter.rb +25 -3
- data/lib/asciidoctor/ietf/front.rb +3 -9
- data/lib/asciidoctor/ietf/ietf.rng +7 -0
- data/lib/asciidoctor/ietf/isodoc.rng +160 -58
- data/lib/isodoc/ietf/SVG-1.2-RFC.rng +7460 -0
- data/lib/isodoc/ietf/front.rb +6 -6
- data/lib/isodoc/ietf/i18n-en.yaml +5 -0
- data/lib/isodoc/ietf/i18n.rb +14 -0
- data/lib/isodoc/ietf/init.rb +16 -0
- data/lib/isodoc/ietf/inline.rb +2 -2
- data/lib/isodoc/ietf/references.rb +20 -9
- data/lib/isodoc/ietf/rfc_convert.rb +7 -1
- data/lib/isodoc/ietf/section.rb +6 -12
- data/lib/isodoc/ietf/v3.rng +2530 -0
- data/lib/isodoc/ietf/validation.rb +191 -0
- data/lib/metanorma/ietf/processor.rb +14 -25
- data/lib/metanorma/ietf/version.rb +1 -1
- data/metanorma-ietf.gemspec +2 -2
- metadata +13 -9
- data/.github/workflows/macos.yml +0 -54
- data/.github/workflows/ubuntu.yml +0 -52
- data/.github/workflows/windows.yml +0 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8247cbf94f350b91d6489fb85f79488a4cdad584badf37d6c82ffa0593aef09c
|
4
|
+
data.tar.gz: ba450b02e8e6209f00bdbc1fbe38c507ed50b03caf0acd1cec0d5de9a15965a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 994cab64f80f8e1f238c1be2a560cdd576cc76b1fff424af31d0ad5883fa6eecdddde74d54a17bddd8eaeea297d0d601d07654bb2c499bc325f93dcb04b71427
|
7
|
+
data.tar.gz: d691df321718fa175898cf5ce872b5db913b6d256abe8b72af350653f55c632ef6eff2bb0760f5e73af19b11446cb3709ced34e83d9cbf9a500eb25a1afb5cee
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
3
|
+
name: rake
|
4
|
+
|
5
|
+
on:
|
6
|
+
push:
|
7
|
+
branches: [ master, main ]
|
8
|
+
tags: [ v* ]
|
9
|
+
pull_request:
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
rake:
|
13
|
+
name: Test on Ruby ${{ matrix.ruby }} ${{ matrix.os }}
|
14
|
+
runs-on: ${{ matrix.os }}
|
15
|
+
continue-on-error: ${{ matrix.experimental }}
|
16
|
+
strategy:
|
17
|
+
fail-fast: false
|
18
|
+
matrix:
|
19
|
+
ruby: [ '2.6', '2.5', '2.4' ]
|
20
|
+
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
|
+
experimental: [ false ]
|
22
|
+
include:
|
23
|
+
- ruby: '2.7'
|
24
|
+
os: 'ubuntu-latest'
|
25
|
+
experimental: true
|
26
|
+
- ruby: '2.7'
|
27
|
+
os: 'windows-latest'
|
28
|
+
experimental: true
|
29
|
+
- ruby: '2.7'
|
30
|
+
os: 'macos-latest'
|
31
|
+
experimental: true
|
32
|
+
|
33
|
+
steps:
|
34
|
+
- uses: actions/checkout@master
|
35
|
+
|
36
|
+
- uses: ruby/setup-ruby@v1
|
37
|
+
with:
|
38
|
+
ruby-version: ${{ matrix.ruby }}
|
39
|
+
|
40
|
+
- uses: actions/cache@v2
|
41
|
+
with:
|
42
|
+
path: vendor/bundle
|
43
|
+
key: bundle-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/*.gemspec') }}
|
44
|
+
restore-keys: bundle-${{ matrix.os }}-${{ matrix.ruby }}
|
45
|
+
|
46
|
+
- run: bundle config set path 'vendor/bundle'
|
47
|
+
|
48
|
+
- run: bundle install --jobs 4 --retry 3
|
49
|
+
|
50
|
+
- uses: actions/setup-python@v1
|
51
|
+
with:
|
52
|
+
python-version: '3.6'
|
53
|
+
architecture: 'x64'
|
54
|
+
|
55
|
+
- name: set PIP_DOWNLOAD_CACHE
|
56
|
+
shell: python
|
57
|
+
run: |
|
58
|
+
import os
|
59
|
+
import platform
|
60
|
+
from os.path import expanduser
|
61
|
+
|
62
|
+
home = expanduser("~")
|
63
|
+
cache_path = {
|
64
|
+
"Linux": f"{home}/.cache/pip",
|
65
|
+
"Darwin": f"{home}Library/Caches/pip",
|
66
|
+
"Windows": f"{home}\\AppData\\Local\\pip\\Cache"
|
67
|
+
}[platform.system()]
|
68
|
+
|
69
|
+
os.system(f"echo PIP_DOWNLOAD_CACHE={cache_path} >> {os.environ['GITHUB_ENV']}")
|
70
|
+
|
71
|
+
- uses: actions/cache@v2
|
72
|
+
with:
|
73
|
+
path: ${{ env.PIP_DOWNLOAD_CACHE }}
|
74
|
+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
75
|
+
restore-keys: ${{ runner.os }}-pip-
|
76
|
+
|
77
|
+
- uses: actions/cache@v2
|
78
|
+
with:
|
79
|
+
path: ~/.cache/xml2rfc
|
80
|
+
key: xml2rfc
|
81
|
+
restore-key: xml2rfc
|
82
|
+
|
83
|
+
- if: matrix.os == 'macos-latest'
|
84
|
+
run: brew install libmagic
|
85
|
+
|
86
|
+
- if: matrix.os == 'windows-latest'
|
87
|
+
run: pip install python-magic-bin
|
88
|
+
|
89
|
+
- run: pip install xml2rfc
|
90
|
+
|
91
|
+
- run: bundle exec rake
|
data/README.adoc
CHANGED
@@ -2,26 +2,21 @@
|
|
2
2
|
:source-highlighter: coderay
|
3
3
|
:icons: font
|
4
4
|
|
5
|
-
`metanorma-ietf` lets you write Internet-Drafts and RFCs
|
6
|
-
"`http://asciidoctor.org/[asciidoctor]-way`".
|
5
|
+
`metanorma-ietf` lets you write IETF Internet-Drafts and RFCs via Metanorma.
|
7
6
|
|
8
7
|
image:https://img.shields.io/gem/v/metanorma-ietf.svg["Gem Version", link="https://rubygems.org/gems/metanorma-ietf"]
|
9
|
-
image:https://github.com/metanorma/metanorma-ietf/workflows/
|
10
|
-
image:https://github.com/metanorma/metanorma-ietf/workflows/ubuntu/badge.svg["Build Status (ubuntu)", link="https://github.com/metanorma/metanorma-ietf/actions?workflow=ubuntu"]
|
11
|
-
image:https://github.com/metanorma/metanorma-ietf/workflows/windows/badge.svg["Build Status (Windows)", link="https://github.com/metanorma/metanorma-ietf/actions?workflow=windows"]
|
8
|
+
image:https://github.com/metanorma/metanorma-ietf/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma-ietf/actions?workflow=rake"]
|
12
9
|
image:https://codeclimate.com/github/metanorma/metanorma-ietf/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-ietf"]
|
13
10
|
image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-ietf.svg["Pull Requests", link="https://github.com/metanorma/metanorma-ietf/pulls"]
|
14
11
|
image:https://img.shields.io/github/commits-since/metanorma/metanorma-ietf/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-ietf/releases"]
|
15
12
|
|
16
|
-
_Formerly known as_ `asciidoctor-rfc`.
|
17
|
-
|
18
|
-
|
19
13
|
== Functionality
|
20
14
|
|
21
|
-
This gem processes
|
22
|
-
a template for generating IETF
|
15
|
+
This gem processes https://www.metanorma.com[Metanorma documents] following
|
16
|
+
a template for generating IETF deliverables.
|
23
17
|
|
24
|
-
|
18
|
+
Metanorma-IETF adheres to AsciiRFC syntax, an AsciiDoc syntax for writing IETF documents
|
19
|
+
developed by the Metanorma team.
|
25
20
|
|
26
21
|
The gem currently inherits from the https://github.com/metanorma/metanorma-standoc
|
27
22
|
gem, and aligns closely to it.
|
@@ -221,3 +216,6 @@ This gem is developed, maintained and funded by https://www.ribose.com[Ribose In
|
|
221
216
|
|
222
217
|
* Document templates are available at the https://github.com/metanorma/mn-templates-ietf[mn-templates-ietf] repository.
|
223
218
|
|
219
|
+
== Notes
|
220
|
+
|
221
|
+
Metanorma-IETF was formerly published as the `asciidoctor-rfc` gem.
|
@@ -402,6 +402,16 @@
|
|
402
402
|
</choice>
|
403
403
|
</attribute>
|
404
404
|
</optional>
|
405
|
+
<optional>
|
406
|
+
<attribute name="valign">
|
407
|
+
<choice>
|
408
|
+
<value>top</value>
|
409
|
+
<value>middle</value>
|
410
|
+
<value>bottom</value>
|
411
|
+
<value>baseline</value>
|
412
|
+
</choice>
|
413
|
+
</attribute>
|
414
|
+
</optional>
|
405
415
|
<choice>
|
406
416
|
<zeroOrMore>
|
407
417
|
<ref name="TextElement"/>
|
@@ -429,6 +439,16 @@
|
|
429
439
|
</choice>
|
430
440
|
</attribute>
|
431
441
|
</optional>
|
442
|
+
<optional>
|
443
|
+
<attribute name="valign">
|
444
|
+
<choice>
|
445
|
+
<value>top</value>
|
446
|
+
<value>middle</value>
|
447
|
+
<value>bottom</value>
|
448
|
+
<value>baseline</value>
|
449
|
+
</choice>
|
450
|
+
</attribute>
|
451
|
+
</optional>
|
432
452
|
<choice>
|
433
453
|
<zeroOrMore>
|
434
454
|
<ref name="TextElement"/>
|
@@ -576,6 +596,7 @@
|
|
576
596
|
<ref name="bookmark"/>
|
577
597
|
<ref name="image"/>
|
578
598
|
<ref name="index"/>
|
599
|
+
<ref name="index-xref"/>
|
579
600
|
</choice>
|
580
601
|
</define>
|
581
602
|
<define name="PureTextElement">
|
@@ -708,15 +729,61 @@
|
|
708
729
|
</define>
|
709
730
|
<define name="index">
|
710
731
|
<element name="index">
|
711
|
-
<attribute name="
|
732
|
+
<attribute name="to">
|
733
|
+
<data type="IDREF"/>
|
734
|
+
</attribute>
|
735
|
+
<element name="primary">
|
736
|
+
<oneOrMore>
|
737
|
+
<ref name="PureTextElement"/>
|
738
|
+
</oneOrMore>
|
739
|
+
</element>
|
712
740
|
<optional>
|
713
|
-
<
|
741
|
+
<element name="secondary">
|
742
|
+
<oneOrMore>
|
743
|
+
<ref name="PureTextElement"/>
|
744
|
+
</oneOrMore>
|
745
|
+
</element>
|
714
746
|
</optional>
|
715
747
|
<optional>
|
716
|
-
<
|
748
|
+
<element name="tertiary">
|
749
|
+
<oneOrMore>
|
750
|
+
<ref name="PureTextElement"/>
|
751
|
+
</oneOrMore>
|
752
|
+
</element>
|
717
753
|
</optional>
|
718
754
|
</element>
|
719
755
|
</define>
|
756
|
+
<define name="index-xref">
|
757
|
+
<element name="index-xref">
|
758
|
+
<attribute name="also">
|
759
|
+
<data type="boolean"/>
|
760
|
+
</attribute>
|
761
|
+
<element name="primary">
|
762
|
+
<oneOrMore>
|
763
|
+
<ref name="PureTextElement"/>
|
764
|
+
</oneOrMore>
|
765
|
+
</element>
|
766
|
+
<optional>
|
767
|
+
<element name="secondary">
|
768
|
+
<oneOrMore>
|
769
|
+
<ref name="PureTextElement"/>
|
770
|
+
</oneOrMore>
|
771
|
+
</element>
|
772
|
+
</optional>
|
773
|
+
<optional>
|
774
|
+
<element name="tertiary">
|
775
|
+
<oneOrMore>
|
776
|
+
<ref name="PureTextElement"/>
|
777
|
+
</oneOrMore>
|
778
|
+
</element>
|
779
|
+
</optional>
|
780
|
+
<element name="target">
|
781
|
+
<oneOrMore>
|
782
|
+
<ref name="PureTextElement"/>
|
783
|
+
</oneOrMore>
|
784
|
+
</element>
|
785
|
+
</element>
|
786
|
+
</define>
|
720
787
|
<!-- bare ID element, used for referencing arbitrary spans of text -->
|
721
788
|
<define name="bookmark">
|
722
789
|
<element name="bookmark">
|
@@ -998,6 +1065,9 @@
|
|
998
1065
|
<value>alphabet_upper</value>
|
999
1066
|
</choice>
|
1000
1067
|
</attribute>
|
1068
|
+
<optional>
|
1069
|
+
<attribute name="start"/>
|
1070
|
+
</optional>
|
1001
1071
|
<oneOrMore>
|
1002
1072
|
<ref name="li"/>
|
1003
1073
|
</oneOrMore>
|
@@ -32,8 +32,8 @@ module Asciidoctor
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def doctype(node)
|
35
|
-
ret =
|
36
|
-
ret = "
|
35
|
+
ret = super
|
36
|
+
ret = "internet-draft" if ret == "article"
|
37
37
|
ret
|
38
38
|
end
|
39
39
|
|
@@ -114,13 +114,21 @@ module Asciidoctor
|
|
114
114
|
|
115
115
|
def cleanup(xmldoc)
|
116
116
|
bcp14_cleanup(xmldoc)
|
117
|
-
|
117
|
+
abstract_cleanup(xmldoc)
|
118
118
|
super
|
119
|
+
rfc_anchor_cleanup(xmldoc)
|
119
120
|
end
|
120
121
|
|
121
122
|
BCP_KEYWORDS = ["MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
122
123
|
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", "OPTIONAL"].freeze
|
123
124
|
|
125
|
+
def abstract_cleanup(xmldoc)
|
126
|
+
xmldoc.xpath("//abstract[not(text())]").each do |x|
|
127
|
+
x.remove
|
128
|
+
warn "Empty abstract section removed"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
124
132
|
def bcp14_cleanup(xmldoc)
|
125
133
|
return unless @bcp_bold
|
126
134
|
xmldoc.xpath("//strong").each do |s|
|
@@ -174,6 +182,13 @@ module Asciidoctor
|
|
174
182
|
super
|
175
183
|
end
|
176
184
|
|
185
|
+
def annex_parse(attrs, xml, node)
|
186
|
+
attrs[:numbered] = node.attr("numbered")
|
187
|
+
attrs[:removeInRFC] = node.attr("removeInRFC")
|
188
|
+
attrs[:toc] = node.attr("toc")
|
189
|
+
super
|
190
|
+
end
|
191
|
+
|
177
192
|
def introduction_parse(attrs, xml, node)
|
178
193
|
clause_parse(attrs, xml, node)
|
179
194
|
end
|
@@ -196,6 +211,13 @@ module Asciidoctor
|
|
196
211
|
def rfc_converter(node)
|
197
212
|
IsoDoc::Ietf::RfcConvert.new(html_extract_attributes(node))
|
198
213
|
end
|
214
|
+
|
215
|
+
def isodoc(lang, script, i18nyaml = nil)
|
216
|
+
conv = rfc_converter(EmptyAttr.new)
|
217
|
+
i18n = conv.i18n_init(lang, script, i18nyaml)
|
218
|
+
conv.metadata_init(lang, script, i18n)
|
219
|
+
conv
|
220
|
+
end
|
199
221
|
end
|
200
222
|
end
|
201
223
|
end
|
@@ -31,14 +31,8 @@ module Asciidoctor
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
def
|
35
|
-
|
36
|
-
"Internet Engineering Task Force"].include? orgname
|
37
|
-
org.name "Internet Engineering Task Force"
|
38
|
-
org.abbreviation "IETF"
|
39
|
-
else
|
40
|
-
org.name orgname
|
41
|
-
end
|
34
|
+
def org_abbrev
|
35
|
+
{ "Internet Engineering Task Force" => "IETF" }
|
42
36
|
end
|
43
37
|
|
44
38
|
def metadata_series(node, xml)
|
@@ -80,7 +74,7 @@ module Asciidoctor
|
|
80
74
|
x = node.attr("area") and x.split(/,\s*/).each do |a|
|
81
75
|
xml.area a
|
82
76
|
end
|
83
|
-
|
77
|
+
xml.ipr (node.attr("ipr") || "trust200902")
|
84
78
|
x = node.attr("consensus") and xml.consensus x
|
85
79
|
x = node.attr("index-include") and xml.indexInclude x
|
86
80
|
x = node.attr("ipr-extract") and xml.iprExtract x
|
@@ -868,6 +868,13 @@
|
|
868
868
|
</define>
|
869
869
|
<define name="ietf-standard">
|
870
870
|
<element name="ietf-standard">
|
871
|
+
<attribute name="version"/>
|
872
|
+
<attribute name="type">
|
873
|
+
<choice>
|
874
|
+
<value>semantic</value>
|
875
|
+
<value>presentation</value>
|
876
|
+
</choice>
|
877
|
+
</attribute>
|
871
878
|
<ref name="bibdata"/>
|
872
879
|
<zeroOrMore>
|
873
880
|
<ref name="termdocsource"/>
|
@@ -24,6 +24,14 @@
|
|
24
24
|
<start>
|
25
25
|
<ref name="standard-document"/>
|
26
26
|
</start>
|
27
|
+
<define name="doctype">
|
28
|
+
<element name="doctype">
|
29
|
+
<optional>
|
30
|
+
<attribute name="abbreviation"/>
|
31
|
+
</optional>
|
32
|
+
<ref name="DocumentType"/>
|
33
|
+
</element>
|
34
|
+
</define>
|
27
35
|
<define name="hyperlink">
|
28
36
|
<element name="link">
|
29
37
|
<attribute name="target">
|
@@ -43,8 +51,17 @@
|
|
43
51
|
<define name="xref">
|
44
52
|
<element name="xref">
|
45
53
|
<attribute name="target">
|
46
|
-
<data type="
|
54
|
+
<data type="string">
|
55
|
+
<param name="pattern">\i\c*|\c+#\c+</param>
|
56
|
+
</data>
|
47
57
|
</attribute>
|
58
|
+
<optional>
|
59
|
+
<attribute name="to">
|
60
|
+
<data type="string">
|
61
|
+
<param name="pattern">\i\c*|\c+#\c+</param>
|
62
|
+
</data>
|
63
|
+
</attribute>
|
64
|
+
</optional>
|
48
65
|
<optional>
|
49
66
|
<attribute name="type">
|
50
67
|
<ref name="ReferenceFormat"/>
|
@@ -61,6 +78,11 @@
|
|
61
78
|
</choice>
|
62
79
|
</attribute>
|
63
80
|
</optional>
|
81
|
+
<optional>
|
82
|
+
<attribute name="droploc">
|
83
|
+
<data type="boolean"/>
|
84
|
+
</attribute>
|
85
|
+
</optional>
|
64
86
|
<text/>
|
65
87
|
</element>
|
66
88
|
</define>
|
@@ -134,6 +156,11 @@
|
|
134
156
|
<data type="boolean"/>
|
135
157
|
</attribute>
|
136
158
|
</optional>
|
159
|
+
<optional>
|
160
|
+
<attribute name="key">
|
161
|
+
<data type="boolean"/>
|
162
|
+
</attribute>
|
163
|
+
</optional>
|
137
164
|
<oneOrMore>
|
138
165
|
<ref name="dt"/>
|
139
166
|
<ref name="dd"/>
|
@@ -226,6 +253,9 @@
|
|
226
253
|
<data type="boolean"/>
|
227
254
|
</attribute>
|
228
255
|
</optional>
|
256
|
+
<optional>
|
257
|
+
<ref name="colgroup"/>
|
258
|
+
</optional>
|
229
259
|
<optional>
|
230
260
|
<ref name="tname"/>
|
231
261
|
</optional>
|
@@ -578,6 +608,8 @@
|
|
578
608
|
<ref name="ol"/>
|
579
609
|
<ref name="dl"/>
|
580
610
|
<ref name="formula"/>
|
611
|
+
<ref name="quote"/>
|
612
|
+
<ref name="sourcecode"/>
|
581
613
|
</choice>
|
582
614
|
</oneOrMore>
|
583
615
|
</element>
|
@@ -661,6 +693,16 @@
|
|
661
693
|
</choice>
|
662
694
|
</attribute>
|
663
695
|
</optional>
|
696
|
+
<optional>
|
697
|
+
<attribute name="valign">
|
698
|
+
<choice>
|
699
|
+
<value>top</value>
|
700
|
+
<value>middle</value>
|
701
|
+
<value>bottom</value>
|
702
|
+
<value>baseline</value>
|
703
|
+
</choice>
|
704
|
+
</attribute>
|
705
|
+
</optional>
|
664
706
|
<choice>
|
665
707
|
<zeroOrMore>
|
666
708
|
<choice>
|
@@ -697,6 +739,16 @@
|
|
697
739
|
</choice>
|
698
740
|
</attribute>
|
699
741
|
</optional>
|
742
|
+
<optional>
|
743
|
+
<attribute name="valign">
|
744
|
+
<choice>
|
745
|
+
<value>top</value>
|
746
|
+
<value>middle</value>
|
747
|
+
<value>bottom</value>
|
748
|
+
<value>baseline</value>
|
749
|
+
</choice>
|
750
|
+
</attribute>
|
751
|
+
</optional>
|
700
752
|
<choice>
|
701
753
|
<zeroOrMore>
|
702
754
|
<choice>
|
@@ -722,6 +774,18 @@
|
|
722
774
|
</define>
|
723
775
|
</include>
|
724
776
|
<!-- end overrides -->
|
777
|
+
<define name="colgroup">
|
778
|
+
<element name="colgroup">
|
779
|
+
<oneOrMore>
|
780
|
+
<ref name="col"/>
|
781
|
+
</oneOrMore>
|
782
|
+
</element>
|
783
|
+
</define>
|
784
|
+
<define name="col">
|
785
|
+
<element name="col">
|
786
|
+
<attribute name="width"/>
|
787
|
+
</element>
|
788
|
+
</define>
|
725
789
|
<define name="TextElement" combine="choice">
|
726
790
|
<ref name="concept"/>
|
727
791
|
</define>
|
@@ -834,6 +898,13 @@
|
|
834
898
|
</define>
|
835
899
|
<define name="standard-document">
|
836
900
|
<element name="standard-document">
|
901
|
+
<attribute name="version"/>
|
902
|
+
<attribute name="type">
|
903
|
+
<choice>
|
904
|
+
<value>semantic</value>
|
905
|
+
<value>presentation</value>
|
906
|
+
</choice>
|
907
|
+
</attribute>
|
837
908
|
<ref name="bibdata"/>
|
838
909
|
<optional>
|
839
910
|
<ref name="boilerplate"/>
|
@@ -855,7 +926,7 @@
|
|
855
926
|
<oneOrMore>
|
856
927
|
<choice>
|
857
928
|
<ref name="content"/>
|
858
|
-
<ref name="
|
929
|
+
<ref name="abstract"/>
|
859
930
|
<ref name="foreword"/>
|
860
931
|
<ref name="introduction"/>
|
861
932
|
<ref name="acknowledgements"/>
|
@@ -1049,14 +1120,17 @@
|
|
1049
1120
|
<ref name="section-title"/>
|
1050
1121
|
</optional>
|
1051
1122
|
<group>
|
1052
|
-
<
|
1053
|
-
<
|
1054
|
-
<
|
1055
|
-
|
1056
|
-
|
1057
|
-
<
|
1058
|
-
|
1059
|
-
|
1123
|
+
<choice>
|
1124
|
+
<group>
|
1125
|
+
<zeroOrMore>
|
1126
|
+
<ref name="BasicBlock"/>
|
1127
|
+
</zeroOrMore>
|
1128
|
+
<zeroOrMore>
|
1129
|
+
<ref name="note"/>
|
1130
|
+
</zeroOrMore>
|
1131
|
+
</group>
|
1132
|
+
<ref name="amend"/>
|
1133
|
+
</choice>
|
1060
1134
|
<zeroOrMore>
|
1061
1135
|
<choice>
|
1062
1136
|
<ref name="clause-subsection"/>
|
@@ -1125,49 +1199,7 @@
|
|
1125
1199
|
</define>
|
1126
1200
|
<define name="annex">
|
1127
1201
|
<element name="annex">
|
1128
|
-
<
|
1129
|
-
<attribute name="id">
|
1130
|
-
<data type="ID"/>
|
1131
|
-
</attribute>
|
1132
|
-
</optional>
|
1133
|
-
<optional>
|
1134
|
-
<attribute name="language"/>
|
1135
|
-
</optional>
|
1136
|
-
<optional>
|
1137
|
-
<attribute name="script"/>
|
1138
|
-
</optional>
|
1139
|
-
<optional>
|
1140
|
-
<attribute name="inline-header">
|
1141
|
-
<data type="boolean"/>
|
1142
|
-
</attribute>
|
1143
|
-
</optional>
|
1144
|
-
<attribute name="obligation">
|
1145
|
-
<choice>
|
1146
|
-
<value>normative</value>
|
1147
|
-
<value>informative</value>
|
1148
|
-
</choice>
|
1149
|
-
</attribute>
|
1150
|
-
<optional>
|
1151
|
-
<ref name="section-title"/>
|
1152
|
-
</optional>
|
1153
|
-
<group>
|
1154
|
-
<group>
|
1155
|
-
<zeroOrMore>
|
1156
|
-
<ref name="BasicBlock"/>
|
1157
|
-
</zeroOrMore>
|
1158
|
-
<zeroOrMore>
|
1159
|
-
<ref name="note"/>
|
1160
|
-
</zeroOrMore>
|
1161
|
-
</group>
|
1162
|
-
<zeroOrMore>
|
1163
|
-
<choice>
|
1164
|
-
<ref name="annex-subsection"/>
|
1165
|
-
<ref name="terms"/>
|
1166
|
-
<ref name="definitions"/>
|
1167
|
-
<ref name="references"/>
|
1168
|
-
</choice>
|
1169
|
-
</zeroOrMore>
|
1170
|
-
</group>
|
1202
|
+
<ref name="Annex-Section"/>
|
1171
1203
|
</element>
|
1172
1204
|
</define>
|
1173
1205
|
<define name="terms">
|
@@ -1453,11 +1485,6 @@
|
|
1453
1485
|
</optional>
|
1454
1486
|
</element>
|
1455
1487
|
</define>
|
1456
|
-
<define name="preface_abstract">
|
1457
|
-
<element name="abstract">
|
1458
|
-
<ref name="Basic-Section"/>
|
1459
|
-
</element>
|
1460
|
-
</define>
|
1461
1488
|
<define name="term-clause">
|
1462
1489
|
<element name="clause">
|
1463
1490
|
<optional>
|
@@ -1507,4 +1534,79 @@
|
|
1507
1534
|
<ref name="CitationType"/>
|
1508
1535
|
</element>
|
1509
1536
|
</define>
|
1537
|
+
<define name="amend">
|
1538
|
+
<element name="amend">
|
1539
|
+
<optional>
|
1540
|
+
<attribute name="id">
|
1541
|
+
<data type="ID"/>
|
1542
|
+
</attribute>
|
1543
|
+
</optional>
|
1544
|
+
<attribute name="change">
|
1545
|
+
<choice>
|
1546
|
+
<value>add</value>
|
1547
|
+
<value>modify</value>
|
1548
|
+
<value>delete</value>
|
1549
|
+
</choice>
|
1550
|
+
</attribute>
|
1551
|
+
<optional>
|
1552
|
+
<attribute name="path"/>
|
1553
|
+
</optional>
|
1554
|
+
<optional>
|
1555
|
+
<attribute name="path_end"/>
|
1556
|
+
</optional>
|
1557
|
+
<optional>
|
1558
|
+
<attribute name="title"/>
|
1559
|
+
</optional>
|
1560
|
+
<optional>
|
1561
|
+
<element name="location">
|
1562
|
+
<zeroOrMore>
|
1563
|
+
<ref name="locality"/>
|
1564
|
+
</zeroOrMore>
|
1565
|
+
</element>
|
1566
|
+
</optional>
|
1567
|
+
<zeroOrMore>
|
1568
|
+
<ref name="autonumber"/>
|
1569
|
+
</zeroOrMore>
|
1570
|
+
<optional>
|
1571
|
+
<element name="description">
|
1572
|
+
<zeroOrMore>
|
1573
|
+
<ref name="BasicBlock"/>
|
1574
|
+
</zeroOrMore>
|
1575
|
+
</element>
|
1576
|
+
</optional>
|
1577
|
+
<optional>
|
1578
|
+
<element name="newcontent">
|
1579
|
+
<zeroOrMore>
|
1580
|
+
<ref name="BasicBlock"/>
|
1581
|
+
</zeroOrMore>
|
1582
|
+
</element>
|
1583
|
+
</optional>
|
1584
|
+
<optional>
|
1585
|
+
<element name="description">
|
1586
|
+
<zeroOrMore>
|
1587
|
+
<ref name="BasicBlock"/>
|
1588
|
+
</zeroOrMore>
|
1589
|
+
</element>
|
1590
|
+
</optional>
|
1591
|
+
</element>
|
1592
|
+
</define>
|
1593
|
+
<define name="autonumber">
|
1594
|
+
<element name="autonumber">
|
1595
|
+
<attribute name="type">
|
1596
|
+
<choice>
|
1597
|
+
<value>requirement</value>
|
1598
|
+
<value>recommendation</value>
|
1599
|
+
<value>permission</value>
|
1600
|
+
<value>table</value>
|
1601
|
+
<value>figure</value>
|
1602
|
+
<value>admonition</value>
|
1603
|
+
<value>formula</value>
|
1604
|
+
<value>sourcecode</value>
|
1605
|
+
<value>example</value>
|
1606
|
+
<value>note</value>
|
1607
|
+
</choice>
|
1608
|
+
</attribute>
|
1609
|
+
<text/>
|
1610
|
+
</element>
|
1611
|
+
</define>
|
1510
1612
|
</grammar>
|