metanorma-itu 1.2.16 → 1.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +12 -11
- data/.hound.yml +3 -1
- data/.rubocop.yml +3 -7
- data/lib/asciidoctor/itu/biblio.rng +1 -0
- data/lib/asciidoctor/itu/cleanup.rb +9 -6
- data/lib/asciidoctor/itu/converter.rb +31 -27
- data/lib/asciidoctor/itu/front.rb +35 -23
- data/lib/asciidoctor/itu/isodoc.rng +321 -4
- data/lib/asciidoctor/itu/itu.rng +3 -30
- data/lib/isodoc/itu/base_convert.rb +25 -37
- data/lib/isodoc/itu/html/_coverpage.css +7 -0
- data/lib/isodoc/itu/html/header.html +8 -8
- data/lib/isodoc/itu/html/htmlstyle.css +14 -7
- data/lib/isodoc/itu/html/htmlstyle.scss +0 -9
- data/lib/isodoc/itu/html/itu.css +0 -7
- data/lib/isodoc/itu/html/itu.scss +0 -7
- data/lib/isodoc/itu/html_convert.rb +0 -1
- data/lib/isodoc/itu/i18n-ar.yaml +87 -0
- data/lib/isodoc/itu/i18n-de.yaml +87 -0
- data/lib/isodoc/itu/i18n-en.yaml +1 -0
- data/lib/isodoc/itu/i18n-es.yaml +88 -0
- data/lib/isodoc/itu/i18n-fr.yaml +88 -0
- data/lib/isodoc/itu/i18n-ru.yaml +88 -0
- data/lib/isodoc/itu/i18n-zh-Hans.yaml +81 -0
- data/lib/isodoc/itu/i18n.rb +14 -4
- data/lib/isodoc/itu/itu.implementers-guide.xsl +816 -332
- data/lib/isodoc/itu/itu.in-force.xsl +816 -332
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +816 -332
- data/lib/isodoc/itu/itu.recommendation-supplement.xsl +816 -332
- data/lib/isodoc/itu/itu.recommendation.xsl +816 -332
- data/lib/isodoc/itu/itu.resolution.xsl +816 -332
- data/lib/isodoc/itu/itu.technical-paper.xsl +816 -332
- data/lib/isodoc/itu/itu.technical-report.xsl +816 -332
- data/lib/isodoc/itu/metadata.rb +3 -3
- data/lib/isodoc/itu/presentation_xml_convert.rb +1 -1
- data/lib/isodoc/itu/xref.rb +1 -2
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +4 -4
- metadata +34 -29
- data/lib/asciidoctor/itu/macros.rb +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 621588f887228ab3427bf392ab3bedbdf1716c551cd7806c48eac05fdf5dfdae
|
4
|
+
data.tar.gz: 2a290310e1b75d15766786b02b462b9cd94eb982be50235dfb83b24d63d7ecba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d2c873817838b6cb6d4a518403c97d981a8046e420f0c8a2e020d4b2bb2558805275e3e5d17bcddf685151113d41b21aebec45d7cec39faf4990bae6c7f2dc3
|
7
|
+
data.tar.gz: 6d6048e9fa1500f1f97facb582b582cf950e3f34b48ae255e0fc69a37c0166f31a218d85acc1d459a3c5a2eaec414a338157ca72413f2d6a503f7c29e9c164f5
|
data/.github/workflows/rake.yml
CHANGED
@@ -16,19 +16,9 @@ jobs:
|
|
16
16
|
strategy:
|
17
17
|
fail-fast: false
|
18
18
|
matrix:
|
19
|
-
ruby: [ '2.7', '2.6', '2.5', '2.4' ]
|
19
|
+
ruby: [ '3.0', '2.7', '2.6', '2.5', '2.4' ]
|
20
20
|
os: [ ubuntu-latest, windows-latest, macos-latest ]
|
21
21
|
experimental: [ false ]
|
22
|
-
include:
|
23
|
-
- ruby: '3.0'
|
24
|
-
os: 'ubuntu-latest'
|
25
|
-
experimental: true
|
26
|
-
- ruby: '3.0'
|
27
|
-
os: 'windows-latest'
|
28
|
-
experimental: true
|
29
|
-
- ruby: '3.0'
|
30
|
-
os: 'macos-latest'
|
31
|
-
experimental: true
|
32
22
|
steps:
|
33
23
|
- uses: actions/checkout@v2
|
34
24
|
with:
|
@@ -40,3 +30,14 @@ jobs:
|
|
40
30
|
bundler-cache: true
|
41
31
|
|
42
32
|
- run: bundle exec rake
|
33
|
+
|
34
|
+
tests-passed:
|
35
|
+
needs: rake
|
36
|
+
runs-on: ubuntu-latest
|
37
|
+
steps:
|
38
|
+
- uses: peter-evans/repository-dispatch@v1
|
39
|
+
with:
|
40
|
+
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
|
41
|
+
repository: ${{ github.repository }}
|
42
|
+
event-type: tests-passed
|
43
|
+
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
|
data/.hound.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,14 +1,10 @@
|
|
1
|
-
#
|
2
|
-
# https://github.com/
|
3
|
-
# All project-specific additions and overrides should be specified in this file.
|
1
|
+
# Auto-generated by Cimas: Do not edit it manually!
|
2
|
+
# See https://github.com/metanorma/cimas
|
4
3
|
inherit_from:
|
5
4
|
- https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
|
6
5
|
|
7
6
|
# local repo-specific modifications
|
7
|
+
# ...
|
8
8
|
|
9
9
|
AllCops:
|
10
|
-
DisplayCopNames: false
|
11
|
-
StyleGuideCopsOnly: false
|
12
10
|
TargetRubyVersion: 2.4
|
13
|
-
Rails:
|
14
|
-
Enabled: true
|
@@ -24,12 +24,12 @@ module Asciidoctor
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
def insert_missing_sections(
|
28
|
-
insert_scope(
|
29
|
-
insert_norm_ref(
|
30
|
-
insert_terms(
|
31
|
-
insert_symbols(
|
32
|
-
insert_conventions(
|
27
|
+
def insert_missing_sections(xml)
|
28
|
+
insert_scope(xml)
|
29
|
+
insert_norm_ref(xml)
|
30
|
+
insert_terms(xml)
|
31
|
+
insert_symbols(xml)
|
32
|
+
insert_conventions(xml)
|
33
33
|
end
|
34
34
|
|
35
35
|
def add_id
|
@@ -109,8 +109,10 @@ module Asciidoctor
|
|
109
109
|
|
110
110
|
def smartquotes_cleanup(xmldoc)
|
111
111
|
return super if @smartquotes
|
112
|
+
|
112
113
|
xmldoc.traverse do |n|
|
113
114
|
next unless n.text?
|
115
|
+
|
114
116
|
n.replace(HTMLEntities.new.encode(
|
115
117
|
n.text.gsub(/\u2019|\u2018|\u201a|\u201b/, "'").
|
116
118
|
gsub(/\u201c|\u201d|\u201e|\u201f/, '"'), :basic))
|
@@ -175,6 +177,7 @@ module Asciidoctor
|
|
175
177
|
return 4 if bib.at("./docidentifier[@type][not(@type = 'DOI' or "\
|
176
178
|
"@type = 'metanorma' or @type = 'ISSN' or @type = "\
|
177
179
|
"'ISBN')]")
|
180
|
+
|
178
181
|
5
|
179
182
|
end
|
180
183
|
|
@@ -1,10 +1,9 @@
|
|
1
1
|
require "asciidoctor"
|
2
2
|
require "asciidoctor/standoc/converter"
|
3
3
|
require "fileutils"
|
4
|
-
require_relative "./front
|
5
|
-
require_relative "./validate
|
6
|
-
require_relative "./cleanup
|
7
|
-
require_relative "./macros.rb"
|
4
|
+
require_relative "./front"
|
5
|
+
require_relative "./validate"
|
6
|
+
require_relative "./cleanup"
|
8
7
|
|
9
8
|
module Asciidoctor
|
10
9
|
module ITU
|
@@ -17,12 +16,7 @@ module Asciidoctor
|
|
17
16
|
|
18
17
|
register_for "itu"
|
19
18
|
|
20
|
-
|
21
|
-
inline_macro AddMacro
|
22
|
-
inline_macro DelMacro
|
23
|
-
end
|
24
|
-
|
25
|
-
def title_validate(root)
|
19
|
+
def title_validate(_root)
|
26
20
|
nil
|
27
21
|
end
|
28
22
|
|
@@ -54,14 +48,14 @@ module Asciidoctor
|
|
54
48
|
end
|
55
49
|
|
56
50
|
def outputs(node, ret)
|
57
|
-
File.open(@filename
|
58
|
-
presentation_xml_converter(node).convert(@filename
|
59
|
-
html_converter(node).convert(@filename
|
51
|
+
File.open("#{@filename}.xml", "w:UTF-8") { |f| f.write(ret) }
|
52
|
+
presentation_xml_converter(node).convert("#{@filename}.xml")
|
53
|
+
html_converter(node).convert("#{@filename}.presentation.xml",
|
60
54
|
nil, false, "#{@filename}.html")
|
61
|
-
doc_converter(node).convert(@filename
|
55
|
+
doc_converter(node).convert("#{@filename}.presentation.xml",
|
62
56
|
nil, false, "#{@filename}.doc")
|
63
57
|
node.attr("no-pdf") or
|
64
|
-
pdf_converter(node)&.convert(@filename
|
58
|
+
pdf_converter(node)&.convert("#{@filename}.presentation.xml",
|
65
59
|
nil, false, "#{@filename}.pdf")
|
66
60
|
end
|
67
61
|
|
@@ -71,8 +65,8 @@ module Asciidoctor
|
|
71
65
|
File.join(File.dirname(__FILE__), "itu.rng"))
|
72
66
|
end
|
73
67
|
|
74
|
-
def style(
|
75
|
-
|
68
|
+
def style(_node, _text)
|
69
|
+
nil
|
76
70
|
end
|
77
71
|
|
78
72
|
def sectiontype_streamline(ret)
|
@@ -90,15 +84,16 @@ module Asciidoctor
|
|
90
84
|
def sectiontype(node, level = true)
|
91
85
|
ret = super
|
92
86
|
hdr = sectiontype_streamline(node&.attr("heading")&.downcase)
|
93
|
-
return nil if ret == "terms and definitions" &&
|
87
|
+
return nil if ret == "terms and definitions" &&
|
94
88
|
hdr != "terms and definitions" && node.level > 1
|
95
|
-
return nil if ret == "symbols and abbreviated terms" &&
|
89
|
+
return nil if ret == "symbols and abbreviated terms" &&
|
96
90
|
hdr != "symbols and abbreviated terms" && node.level > 1
|
91
|
+
|
97
92
|
ret
|
98
93
|
end
|
99
94
|
|
100
95
|
def term_def_subclause_parse(attrs, xml, node)
|
101
|
-
case
|
96
|
+
case sectiontype1(node)
|
102
97
|
when "terms defined in this recommendation"
|
103
98
|
term_def_parse(attrs.merge(type: "internal"), xml, node, false)
|
104
99
|
when "terms defined elsewhere"
|
@@ -110,29 +105,38 @@ module Asciidoctor
|
|
110
105
|
|
111
106
|
def metadata_keywords(node, xml)
|
112
107
|
return unless node.attr("keywords")
|
113
|
-
|
114
|
-
|
108
|
+
|
109
|
+
node.attr("keywords").split(/, */).sort.each_with_index do |kw, i|
|
110
|
+
xml.keyword (i.zero? ? strict_capitalize(kw) : kw)
|
115
111
|
end
|
116
112
|
end
|
117
113
|
|
114
|
+
def strict_capitalize(str)
|
115
|
+
letters = str.split("")
|
116
|
+
letters.first.upcase!
|
117
|
+
letters.join
|
118
|
+
end
|
119
|
+
|
118
120
|
def clause_parse(attrs, xml, node)
|
119
121
|
node.option?("unnumbered") and attrs[:unnumbered] = true
|
120
|
-
case
|
122
|
+
case sectiontype1(node)
|
121
123
|
when "conventions" then attrs = attrs.merge(type: "conventions")
|
122
|
-
when "history"
|
124
|
+
when "history"
|
123
125
|
attrs[:preface] and attrs = attrs.merge(type: "history")
|
124
|
-
when "source"
|
126
|
+
when "source"
|
125
127
|
attrs[:preface] and attrs = attrs.merge(type: "source")
|
126
128
|
end
|
127
129
|
super
|
128
130
|
end
|
129
131
|
|
130
132
|
def html_extract_attributes(node)
|
131
|
-
super.merge(hierarchical_assets:
|
133
|
+
super.merge(hierarchical_assets:
|
134
|
+
node.attr("hierarchical-object-numbering"))
|
132
135
|
end
|
133
136
|
|
134
137
|
def doc_extract_attributes(node)
|
135
|
-
super.merge(hierarchical_assets:
|
138
|
+
super.merge(hierarchical_assets:
|
139
|
+
node.attr("hierarchical-object-numbering"))
|
136
140
|
end
|
137
141
|
|
138
142
|
def presentation_xml_converter(node)
|
@@ -6,21 +6,24 @@ module Asciidoctor
|
|
6
6
|
module ITU
|
7
7
|
class Converter < Standoc::Converter
|
8
8
|
def metadata_status(node, xml)
|
9
|
+
stage = (node.attr("status") || node.attr("docstage") || "published")
|
10
|
+
stage = "draft" if node.attributes.has_key?("draft")
|
9
11
|
xml.status do |s|
|
10
|
-
s.stage
|
11
|
-
(node.attr("status") || node.attr("docstage") || "published" ))
|
12
|
+
s.stage stage
|
12
13
|
end
|
13
14
|
end
|
14
15
|
|
16
|
+
def title_attr(type, lang = "en")
|
17
|
+
{ language: lang, format: "text/plain", type: type }
|
18
|
+
end
|
19
|
+
|
15
20
|
def title_english(node, xml)
|
16
|
-
at = { language: "en", format: "text/plain", type: "main" }
|
17
21
|
a = node.attr("title") || node.attr("title-en")
|
18
|
-
xml.title **attr_code(
|
22
|
+
xml.title **attr_code(title_attr("main")) do |t|
|
19
23
|
t << (Metanorma::Utils::asciidoc_sub(a) || node.title)
|
20
24
|
end
|
21
25
|
if a = node.attr("annextitle") || node.attr("annextitle-en")
|
22
|
-
|
23
|
-
xml.title **attr_code(at) do |t|
|
26
|
+
xml.title **attr_code(title_attr("annex")) do |t|
|
24
27
|
t << Metanorma::Utils::asciidoc_sub(a)
|
25
28
|
end
|
26
29
|
end
|
@@ -30,8 +33,9 @@ module Asciidoctor
|
|
30
33
|
node.attributes.each do |k, v|
|
31
34
|
next unless /^(annex)?title-(?<lang>.+)$/ =~ k
|
32
35
|
next if lang == "en"
|
33
|
-
|
34
|
-
|
36
|
+
|
37
|
+
type = /^annex/.match?(k) ? "annex" : "main"
|
38
|
+
xml.title **attr_code(title_attr(type, lang)) do |t|
|
35
39
|
t << Metanorma::Utils::asciidoc_sub(v)
|
36
40
|
end
|
37
41
|
end
|
@@ -40,15 +44,14 @@ module Asciidoctor
|
|
40
44
|
def title(node, xml)
|
41
45
|
super
|
42
46
|
%w(subtitle amendment-title corrigendum-title).each do |t|
|
43
|
-
|
44
|
-
|
47
|
+
other_title_english(node, xml, t)
|
48
|
+
other_title_otherlangs(node, xml, t)
|
45
49
|
end
|
46
50
|
end
|
47
51
|
|
48
52
|
def other_title_english(node, xml, type)
|
49
|
-
at = { language: "en", format: "text/plain", type: type.sub(/-title/, "") }
|
50
53
|
a = node.attr(type) || node.attr("#{type}-en")
|
51
|
-
xml.title **attr_code(
|
54
|
+
xml.title **attr_code(title_attr(type.sub(/-title/, ""))) do |t|
|
52
55
|
t << Metanorma::Utils::asciidoc_sub(a)
|
53
56
|
end
|
54
57
|
end
|
@@ -57,8 +60,9 @@ module Asciidoctor
|
|
57
60
|
node.attributes.each do |k, v|
|
58
61
|
next unless m = /^#{type}-(?<lang>.+)$/.match(k)
|
59
62
|
next if m[:lang] == "en"
|
60
|
-
|
61
|
-
|
63
|
+
|
64
|
+
xml.title **attr_code(title_attr(type.sub(/-title/, ""),
|
65
|
+
m[:lang])) do |t|
|
62
66
|
t << Metanorma::Utils::asciidoc_sub(v)
|
63
67
|
end
|
64
68
|
end
|
@@ -79,7 +83,7 @@ module Asciidoctor
|
|
79
83
|
|
80
84
|
def metadata_committee1(node, xml, suffix)
|
81
85
|
xml.editorialgroup do |a|
|
82
|
-
a.bureau ( node.attr("bureau#{suffix}") || "T"
|
86
|
+
a.bureau ( node.attr("bureau#{suffix}") || "T")
|
83
87
|
if node.attr("group#{suffix}")
|
84
88
|
a.group **attr_code(type: node.attr("grouptype#{suffix}")) do |g|
|
85
89
|
metadata_committee2(node, g, suffix, "")
|
@@ -119,27 +123,30 @@ module Asciidoctor
|
|
119
123
|
|
120
124
|
def provisional_id(node, xml)
|
121
125
|
return unless node.attr("provisional-name")
|
122
|
-
|
126
|
+
|
127
|
+
xml.docidentifier **{ type: "ITU-provisional" } do |i|
|
123
128
|
i << node.attr("provisional-name")
|
124
129
|
end
|
125
130
|
end
|
126
131
|
|
127
|
-
ITULANG = { "en" => "E", "fr" => "F", "ar" => "A", "es" => "S",
|
132
|
+
ITULANG = { "en" => "E", "fr" => "F", "ar" => "A", "es" => "S",
|
133
|
+
"zh" => "C", "ru" => "R" }.freeze
|
128
134
|
|
129
135
|
def itu_id1(node, lang)
|
130
136
|
bureau = node.attr("bureau") || "T"
|
131
137
|
id = doctype(node) == "service-publication" ?
|
132
138
|
@i18n.annex_to_itu_ob_abbrev.sub(/%/, node.attr("docnumber")) :
|
133
|
-
"ITU-#{bureau} #{node.attr(
|
139
|
+
"ITU-#{bureau} #{node.attr('docnumber')}"
|
134
140
|
id + (lang ? "-#{ITULANG[@lang]}" : "")
|
135
141
|
end
|
136
142
|
|
137
143
|
def itu_id(node, xml)
|
138
144
|
return unless node.attr("docnumber")
|
139
|
-
|
145
|
+
|
146
|
+
xml.docidentifier **{ type: "ITU" } do |i|
|
140
147
|
i << itu_id1(node, false)
|
141
148
|
end
|
142
|
-
xml.docidentifier **{type: "ITU-lang"} do |i|
|
149
|
+
xml.docidentifier **{ type: "ITU-lang" } do |i|
|
143
150
|
i << itu_id1(node, true)
|
144
151
|
end
|
145
152
|
xml.docnumber { |i| i << node.attr("docnumber") }
|
@@ -147,8 +154,9 @@ module Asciidoctor
|
|
147
154
|
|
148
155
|
def recommendation_id(node, xml)
|
149
156
|
return unless node.attr("recommendationnumber")
|
157
|
+
|
150
158
|
node.attr("recommendationnumber").split("/").each do |s|
|
151
|
-
xml.docidentifier **{type: "ITU-Recommendation"} do |i|
|
159
|
+
xml.docidentifier **{ type: "ITU-Recommendation" } do |i|
|
152
160
|
i << s
|
153
161
|
end
|
154
162
|
end
|
@@ -171,11 +179,12 @@ module Asciidoctor
|
|
171
179
|
|
172
180
|
def metadata_recommendationstatus(node, xml)
|
173
181
|
return unless node.attr("recommendation-from")
|
182
|
+
|
174
183
|
xml.recommendationstatus do |s|
|
175
184
|
s.from node.attr("recommendation-from")
|
176
185
|
s.to node.attr("recommendation-to") if node.attr("recommendation-to")
|
177
186
|
if node.attr("approval-process")
|
178
|
-
s.approvalstage **{process: node.attr("approval-process")} do |a|
|
187
|
+
s.approvalstage **{ process: node.attr("approval-process") } do |a|
|
179
188
|
a << node.attr("approval-status")
|
180
189
|
end
|
181
190
|
end
|
@@ -188,6 +197,7 @@ module Asciidoctor
|
|
188
197
|
|
189
198
|
def structured_id(node, xml)
|
190
199
|
return unless node.attr("docnumber")
|
200
|
+
|
191
201
|
xml.structuredidentifier do |i|
|
192
202
|
i.bureau node.attr("bureau") || "T"
|
193
203
|
i.docnumber node.attr("docnumber")
|
@@ -198,7 +208,8 @@ module Asciidoctor
|
|
198
208
|
end
|
199
209
|
|
200
210
|
def metadata_techreport(node, xml)
|
201
|
-
a = node.attr("meeting") and
|
211
|
+
a = node.attr("meeting") and
|
212
|
+
metadata_meeting(a, node.attr("meeting-acronym"), xml)
|
202
213
|
a = node.attr("meeting-place") and xml.meeting_place a
|
203
214
|
a = node.attr("meeting-date") and metadata_meeting_date(a, xml)
|
204
215
|
a = node.attr("intended-type") and xml.intended_type a
|
@@ -233,6 +244,7 @@ module Asciidoctor
|
|
233
244
|
|
234
245
|
def metadata_ext(node, xml)
|
235
246
|
metadata_doctype(node, xml)
|
247
|
+
metadata_subdoctype(node, xml)
|
236
248
|
metadata_committee(node, xml)
|
237
249
|
metadata_ics(node, xml)
|
238
250
|
metadata_recommendationstatus(node, xml)
|
@@ -45,6 +45,11 @@
|
|
45
45
|
<optional>
|
46
46
|
<attribute name="alt"/>
|
47
47
|
</optional>
|
48
|
+
<optional>
|
49
|
+
<attribute name="updatetype">
|
50
|
+
<data type="boolean"/>
|
51
|
+
</attribute>
|
52
|
+
</optional>
|
48
53
|
<text/>
|
49
54
|
</element>
|
50
55
|
</define>
|
@@ -86,6 +91,35 @@
|
|
86
91
|
<text/>
|
87
92
|
</element>
|
88
93
|
</define>
|
94
|
+
<define name="erefType">
|
95
|
+
<optional>
|
96
|
+
<attribute name="normative">
|
97
|
+
<data type="boolean"/>
|
98
|
+
</attribute>
|
99
|
+
</optional>
|
100
|
+
<attribute name="citeas"/>
|
101
|
+
<attribute name="type">
|
102
|
+
<ref name="ReferenceFormat"/>
|
103
|
+
</attribute>
|
104
|
+
<optional>
|
105
|
+
<attribute name="alt"/>
|
106
|
+
</optional>
|
107
|
+
<optional>
|
108
|
+
<attribute name="case">
|
109
|
+
<choice>
|
110
|
+
<value>capital</value>
|
111
|
+
<value>lowercase</value>
|
112
|
+
</choice>
|
113
|
+
</attribute>
|
114
|
+
</optional>
|
115
|
+
<optional>
|
116
|
+
<attribute name="droploc">
|
117
|
+
<data type="boolean"/>
|
118
|
+
</attribute>
|
119
|
+
</optional>
|
120
|
+
<ref name="CitationType"/>
|
121
|
+
<text/>
|
122
|
+
</define>
|
89
123
|
<define name="ul">
|
90
124
|
<element name="ul">
|
91
125
|
<attribute name="id">
|
@@ -514,6 +548,9 @@
|
|
514
548
|
</define>
|
515
549
|
<define name="BibDataExtensionType">
|
516
550
|
<ref name="doctype"/>
|
551
|
+
<optional>
|
552
|
+
<ref name="docsubtype"/>
|
553
|
+
</optional>
|
517
554
|
<optional>
|
518
555
|
<ref name="editorialgroup"/>
|
519
556
|
</optional>
|
@@ -775,8 +812,100 @@
|
|
775
812
|
<ref name="paragraph"/>
|
776
813
|
</element>
|
777
814
|
</define>
|
815
|
+
<define name="em">
|
816
|
+
<element name="em">
|
817
|
+
<zeroOrMore>
|
818
|
+
<choice>
|
819
|
+
<ref name="PureTextElement"/>
|
820
|
+
<ref name="stem"/>
|
821
|
+
<ref name="index"/>
|
822
|
+
</choice>
|
823
|
+
</zeroOrMore>
|
824
|
+
</element>
|
825
|
+
</define>
|
826
|
+
<define name="strong">
|
827
|
+
<element name="strong">
|
828
|
+
<zeroOrMore>
|
829
|
+
<choice>
|
830
|
+
<ref name="PureTextElement"/>
|
831
|
+
<ref name="stem"/>
|
832
|
+
<ref name="index"/>
|
833
|
+
</choice>
|
834
|
+
</zeroOrMore>
|
835
|
+
</element>
|
836
|
+
</define>
|
837
|
+
<define name="tt">
|
838
|
+
<element name="tt">
|
839
|
+
<zeroOrMore>
|
840
|
+
<choice>
|
841
|
+
<ref name="PureTextElement"/>
|
842
|
+
<ref name="index"/>
|
843
|
+
</choice>
|
844
|
+
</zeroOrMore>
|
845
|
+
</element>
|
846
|
+
</define>
|
847
|
+
<define name="keyword">
|
848
|
+
<element name="keyword">
|
849
|
+
<zeroOrMore>
|
850
|
+
<choice>
|
851
|
+
<ref name="PureTextElement"/>
|
852
|
+
<ref name="index"/>
|
853
|
+
</choice>
|
854
|
+
</zeroOrMore>
|
855
|
+
</element>
|
856
|
+
</define>
|
857
|
+
<define name="strike">
|
858
|
+
<element name="strike">
|
859
|
+
<zeroOrMore>
|
860
|
+
<choice>
|
861
|
+
<ref name="PureTextElement"/>
|
862
|
+
<ref name="index"/>
|
863
|
+
</choice>
|
864
|
+
</zeroOrMore>
|
865
|
+
</element>
|
866
|
+
</define>
|
867
|
+
<define name="underline">
|
868
|
+
<element name="underline">
|
869
|
+
<zeroOrMore>
|
870
|
+
<choice>
|
871
|
+
<ref name="PureTextElement"/>
|
872
|
+
<ref name="index"/>
|
873
|
+
</choice>
|
874
|
+
</zeroOrMore>
|
875
|
+
</element>
|
876
|
+
</define>
|
877
|
+
<define name="smallcap">
|
878
|
+
<element name="smallcap">
|
879
|
+
<zeroOrMore>
|
880
|
+
<choice>
|
881
|
+
<ref name="PureTextElement"/>
|
882
|
+
<ref name="index"/>
|
883
|
+
</choice>
|
884
|
+
</zeroOrMore>
|
885
|
+
</element>
|
886
|
+
</define>
|
887
|
+
<define name="pagebreak">
|
888
|
+
<element name="pagebreak">
|
889
|
+
<optional>
|
890
|
+
<attribute name="orientation">
|
891
|
+
<choice>
|
892
|
+
<value>landscape</value>
|
893
|
+
<value>portrait</value>
|
894
|
+
</choice>
|
895
|
+
</attribute>
|
896
|
+
</optional>
|
897
|
+
</element>
|
898
|
+
</define>
|
778
899
|
</include>
|
779
900
|
<!-- end overrides -->
|
901
|
+
<define name="docsubtype">
|
902
|
+
<element name="docsubtype">
|
903
|
+
<ref name="DocumentSubtype"/>
|
904
|
+
</element>
|
905
|
+
</define>
|
906
|
+
<define name="DocumentSubtype">
|
907
|
+
<text/>
|
908
|
+
</define>
|
780
909
|
<define name="colgroup">
|
781
910
|
<element name="colgroup">
|
782
911
|
<oneOrMore>
|
@@ -793,7 +922,35 @@
|
|
793
922
|
<value>internal</value>
|
794
923
|
</define>
|
795
924
|
<define name="TextElement" combine="choice">
|
796
|
-
<
|
925
|
+
<choice>
|
926
|
+
<ref name="concept"/>
|
927
|
+
<ref name="add"/>
|
928
|
+
<ref name="del"/>
|
929
|
+
</choice>
|
930
|
+
</define>
|
931
|
+
<define name="add">
|
932
|
+
<element name="add">
|
933
|
+
<choice>
|
934
|
+
<ref name="PureTextElement"/>
|
935
|
+
<ref name="eref"/>
|
936
|
+
<ref name="stem"/>
|
937
|
+
<ref name="keyword"/>
|
938
|
+
<ref name="xref"/>
|
939
|
+
<ref name="hyperlink"/>
|
940
|
+
</choice>
|
941
|
+
</element>
|
942
|
+
</define>
|
943
|
+
<define name="del">
|
944
|
+
<element name="del">
|
945
|
+
<choice>
|
946
|
+
<ref name="PureTextElement"/>
|
947
|
+
<ref name="eref"/>
|
948
|
+
<ref name="stem"/>
|
949
|
+
<ref name="keyword"/>
|
950
|
+
<ref name="xref"/>
|
951
|
+
<ref name="hyperlink"/>
|
952
|
+
</choice>
|
953
|
+
</element>
|
797
954
|
</define>
|
798
955
|
<define name="concept">
|
799
956
|
<element name="concept">
|
@@ -814,8 +971,170 @@
|
|
814
971
|
<ref name="permission"/>
|
815
972
|
<ref name="imagemap"/>
|
816
973
|
<ref name="svgmap"/>
|
974
|
+
<ref name="inputform"/>
|
975
|
+
</choice>
|
976
|
+
</define>
|
977
|
+
<define name="inputform">
|
978
|
+
<element name="form">
|
979
|
+
<attribute name="id">
|
980
|
+
<data type="ID"/>
|
981
|
+
</attribute>
|
982
|
+
<attribute name="name"/>
|
983
|
+
<attribute name="action"/>
|
984
|
+
<zeroOrMore>
|
985
|
+
<choice>
|
986
|
+
<ref name="TextElement"/>
|
987
|
+
<ref name="FormInput"/>
|
988
|
+
</choice>
|
989
|
+
</zeroOrMore>
|
990
|
+
</element>
|
991
|
+
</define>
|
992
|
+
<define name="FormInput">
|
993
|
+
<choice>
|
994
|
+
<ref name="input"/>
|
995
|
+
<ref name="formlabel"/>
|
996
|
+
<ref name="select"/>
|
997
|
+
<ref name="textarea"/>
|
998
|
+
</choice>
|
999
|
+
</define>
|
1000
|
+
<define name="InputType">
|
1001
|
+
<choice>
|
1002
|
+
<value>button</value>
|
1003
|
+
<value>checkbox</value>
|
1004
|
+
<value>date</value>
|
1005
|
+
<value>file</value>
|
1006
|
+
<value>password</value>
|
1007
|
+
<value>radio</value>
|
1008
|
+
<value>submit</value>
|
1009
|
+
<value>text</value>
|
817
1010
|
</choice>
|
818
1011
|
</define>
|
1012
|
+
<define name="input">
|
1013
|
+
<element name="input">
|
1014
|
+
<attribute name="type">
|
1015
|
+
<ref name="InputType"/>
|
1016
|
+
</attribute>
|
1017
|
+
<optional>
|
1018
|
+
<attribute name="checked">
|
1019
|
+
<data type="boolean"/>
|
1020
|
+
</attribute>
|
1021
|
+
</optional>
|
1022
|
+
<optional>
|
1023
|
+
<attribute name="disabled">
|
1024
|
+
<data type="boolean"/>
|
1025
|
+
</attribute>
|
1026
|
+
</optional>
|
1027
|
+
<optional>
|
1028
|
+
<attribute name="readonly">
|
1029
|
+
<data type="boolean"/>
|
1030
|
+
</attribute>
|
1031
|
+
</optional>
|
1032
|
+
<optional>
|
1033
|
+
<attribute name="maxlength">
|
1034
|
+
<data type="int"/>
|
1035
|
+
</attribute>
|
1036
|
+
</optional>
|
1037
|
+
<optional>
|
1038
|
+
<attribute name="minlength">
|
1039
|
+
<data type="int"/>
|
1040
|
+
</attribute>
|
1041
|
+
</optional>
|
1042
|
+
<optional>
|
1043
|
+
<attribute name="name"/>
|
1044
|
+
</optional>
|
1045
|
+
<optional>
|
1046
|
+
<attribute name="value"/>
|
1047
|
+
</optional>
|
1048
|
+
<optional>
|
1049
|
+
<attribute name="id">
|
1050
|
+
<data type="ID"/>
|
1051
|
+
</attribute>
|
1052
|
+
</optional>
|
1053
|
+
</element>
|
1054
|
+
</define>
|
1055
|
+
<define name="formlabel">
|
1056
|
+
<element name="label">
|
1057
|
+
<attribute name="for">
|
1058
|
+
<data type="IDREF"/>
|
1059
|
+
</attribute>
|
1060
|
+
<zeroOrMore>
|
1061
|
+
<ref name="PureTextElement"/>
|
1062
|
+
</zeroOrMore>
|
1063
|
+
</element>
|
1064
|
+
</define>
|
1065
|
+
<define name="select">
|
1066
|
+
<element name="select">
|
1067
|
+
<optional>
|
1068
|
+
<attribute name="name"/>
|
1069
|
+
</optional>
|
1070
|
+
<optional>
|
1071
|
+
<attribute name="value"/>
|
1072
|
+
</optional>
|
1073
|
+
<optional>
|
1074
|
+
<attribute name="id">
|
1075
|
+
<data type="ID"/>
|
1076
|
+
</attribute>
|
1077
|
+
</optional>
|
1078
|
+
<optional>
|
1079
|
+
<attribute name="disabled">
|
1080
|
+
<data type="boolean"/>
|
1081
|
+
</attribute>
|
1082
|
+
</optional>
|
1083
|
+
<optional>
|
1084
|
+
<attribute name="multiple">
|
1085
|
+
<data type="boolean"/>
|
1086
|
+
</attribute>
|
1087
|
+
</optional>
|
1088
|
+
<optional>
|
1089
|
+
<attribute name="size">
|
1090
|
+
<data type="int"/>
|
1091
|
+
</attribute>
|
1092
|
+
</optional>
|
1093
|
+
<oneOrMore>
|
1094
|
+
<ref name="option"/>
|
1095
|
+
</oneOrMore>
|
1096
|
+
</element>
|
1097
|
+
</define>
|
1098
|
+
<define name="option">
|
1099
|
+
<element name="option">
|
1100
|
+
<optional>
|
1101
|
+
<attribute name="disabled">
|
1102
|
+
<data type="boolean"/>
|
1103
|
+
</attribute>
|
1104
|
+
</optional>
|
1105
|
+
<optional>
|
1106
|
+
<attribute name="value"/>
|
1107
|
+
</optional>
|
1108
|
+
<zeroOrMore>
|
1109
|
+
<ref name="PureTextElement"/>
|
1110
|
+
</zeroOrMore>
|
1111
|
+
</element>
|
1112
|
+
</define>
|
1113
|
+
<define name="textarea">
|
1114
|
+
<element name="textarea">
|
1115
|
+
<optional>
|
1116
|
+
<attribute name="name"/>
|
1117
|
+
</optional>
|
1118
|
+
<optional>
|
1119
|
+
<attribute name="value"/>
|
1120
|
+
</optional>
|
1121
|
+
<optional>
|
1122
|
+
<attribute name="id">
|
1123
|
+
<data type="ID"/>
|
1124
|
+
</attribute>
|
1125
|
+
</optional>
|
1126
|
+
<optional>
|
1127
|
+
<attribute name="rows">
|
1128
|
+
<data type="int"/>
|
1129
|
+
</attribute>
|
1130
|
+
</optional>
|
1131
|
+
<optional>
|
1132
|
+
<attribute name="cols">
|
1133
|
+
<data type="int"/>
|
1134
|
+
</attribute>
|
1135
|
+
</optional>
|
1136
|
+
</element>
|
1137
|
+
</define>
|
819
1138
|
<define name="bibliography">
|
820
1139
|
<element name="bibliography">
|
821
1140
|
<oneOrMore>
|
@@ -888,9 +1207,7 @@
|
|
888
1207
|
</define>
|
889
1208
|
<define name="IsoWorkgroup">
|
890
1209
|
<optional>
|
891
|
-
<attribute name="number"
|
892
|
-
<data type="int"/>
|
893
|
-
</attribute>
|
1210
|
+
<attribute name="number"/>
|
894
1211
|
</optional>
|
895
1212
|
<optional>
|
896
1213
|
<attribute name="type"/>
|