metanorma-ietf 2.2.6 → 2.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8247cbf94f350b91d6489fb85f79488a4cdad584badf37d6c82ffa0593aef09c
4
- data.tar.gz: ba450b02e8e6209f00bdbc1fbe38c507ed50b03caf0acd1cec0d5de9a15965a1
3
+ metadata.gz: 762b7326f710d4729e85538a72dcb11fe7f960d995303ef0999c5ff8a665e8d6
4
+ data.tar.gz: f22daa0309aa18c071492e8b4f74a0d087835a966581af394cc6eba4be933e79
5
5
  SHA512:
6
- metadata.gz: 994cab64f80f8e1f238c1be2a560cdd576cc76b1fff424af31d0ad5883fa6eecdddde74d54a17bddd8eaeea297d0d601d07654bb2c499bc325f93dcb04b71427
7
- data.tar.gz: d691df321718fa175898cf5ce872b5db913b6d256abe8b72af350653f55c632ef6eff2bb0760f5e73af19b11446cb3709ced34e83d9cbf9a500eb25a1afb5cee
6
+ metadata.gz: 85bff031c15ec990050395691adbdd51ebd67c0cac1dfdc6746e1a21bf7f4547678d268caceb536b69e9013b681d3082a9dc798107396ce1f1cae4329953502b
7
+ data.tar.gz: f0b5cbde4df5519fcbad880e6b2e441523bf6e53bab819f292f6a588b92baff94fd097734f1398920d4fd4a6709f034433e8053f445d1147459744c8f6bca1d9
@@ -16,17 +16,17 @@ jobs:
16
16
  strategy:
17
17
  fail-fast: false
18
18
  matrix:
19
- ruby: [ '2.6', '2.5', '2.4' ]
19
+ ruby: [ '2.7', '2.6', '2.5', '2.4' ]
20
20
  os: [ ubuntu-latest, windows-latest, macos-latest ]
21
21
  experimental: [ false ]
22
22
  include:
23
- - ruby: '2.7'
23
+ - ruby: '3.0'
24
24
  os: 'ubuntu-latest'
25
25
  experimental: true
26
- - ruby: '2.7'
26
+ - ruby: '3.0'
27
27
  os: 'windows-latest'
28
28
  experimental: true
29
- - ruby: '2.7'
29
+ - ruby: '3.0'
30
30
  os: 'macos-latest'
31
31
  experimental: true
32
32
 
@@ -36,21 +36,11 @@ jobs:
36
36
  - uses: ruby/setup-ruby@v1
37
37
  with:
38
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
39
+ bundler-cache: true
49
40
 
50
41
  - uses: actions/setup-python@v1
51
42
  with:
52
43
  python-version: '3.6'
53
- architecture: 'x64'
54
44
 
55
45
  - name: set PIP_DOWNLOAD_CACHE
56
46
  shell: python
@@ -89,3 +79,14 @@ jobs:
89
79
  - run: pip install xml2rfc
90
80
 
91
81
  - run: bundle exec rake
82
+
83
+ tests-passed:
84
+ needs: rake
85
+ runs-on: ubuntu-latest
86
+ steps:
87
+ - uses: peter-evans/repository-dispatch@v1
88
+ with:
89
+ token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
90
+ repository: ${{ github.repository }}
91
+ event-type: notify
92
+ client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
data/.gitignore CHANGED
@@ -16,3 +16,5 @@
16
16
  .ruby-gemset
17
17
 
18
18
  **/.byebug_history
19
+
20
+ .rubocop-https--*
data/.rubocop.yml CHANGED
@@ -1,15 +1,14 @@
1
1
  # This project follows the Ribose OSS style guide.
2
2
  # https://github.com/riboseinc/oss-guides
3
3
  # All project-specific additions and overrides should be specified in this file.
4
-
5
4
  inherit_from:
6
- # Thoughtbot's style guide from: https://github.com/thoughtbot/guides
7
- - ".rubocop.tb.yml"
8
- # Overrides from Ribose
9
- - ".rubocop.ribose.yml"
5
+ - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
6
+
7
+ # local repo-specific modifications
8
+
10
9
  AllCops:
11
10
  DisplayCopNames: false
12
11
  StyleGuideCopsOnly: false
13
- TargetRubyVersion: 2.3
12
+ TargetRubyVersion: 2.4
14
13
  Rails:
15
14
  Enabled: true
@@ -729,9 +729,11 @@
729
729
  </define>
730
730
  <define name="index">
731
731
  <element name="index">
732
- <attribute name="to">
733
- <data type="IDREF"/>
734
- </attribute>
732
+ <optional>
733
+ <attribute name="to">
734
+ <data type="IDREF"/>
735
+ </attribute>
736
+ </optional>
735
737
  <element name="primary">
736
738
  <oneOrMore>
737
739
  <ref name="PureTextElement"/>
@@ -124,7 +124,7 @@
124
124
  <value>application/tei+xml</value>
125
125
  <value>text/x-asciidoc</value>
126
126
  <value>text/markdown</value>
127
- <value>application/x-isodoc+xml</value>
127
+ <value>application/x-metanorma+xml</value>
128
128
  <text/>
129
129
  </choice>
130
130
  </attribute>
@@ -452,6 +452,7 @@
452
452
  <attribute name="type">
453
453
  <choice>
454
454
  <value>isni</value>
455
+ <value>orcid</value>
455
456
  <value>uri</value>
456
457
  </choice>
457
458
  </attribute>
@@ -461,10 +462,7 @@
461
462
  <define name="org-identifier">
462
463
  <element name="identifier">
463
464
  <attribute name="type">
464
- <choice>
465
- <value>orcid</value>
466
- <value>uri</value>
467
- </choice>
465
+ <data type="string" datatypeLibrary=""/>
468
466
  </attribute>
469
467
  <text/>
470
468
  </element>
@@ -1106,7 +1104,7 @@
1106
1104
  <value>complementOf</value>
1107
1105
  <value>obsoletes</value>
1108
1106
  <value>obsoletedBy</value>
1109
- <value>cited</value>
1107
+ <value>cites</value>
1110
1108
  <value>isCitedIn</value>
1111
1109
  </choice>
1112
1110
  </define>
@@ -6,17 +6,17 @@ module Asciidoctor
6
6
  node.attr("keep-with-next"),
7
7
  "keep-with-previous": node.attr("keepWithPrevious") ||
8
8
  node.attr("keep-with-previous"),
9
- id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node))
9
+ id: ::Metanorma::Utils::anchor_or_uuid(node))
10
10
  end
11
11
 
12
12
  def ul_attrs(node)
13
- attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
13
+ attr_code(id: ::Metanorma::Utils::anchor_or_uuid(node),
14
14
  nobullet: node.attr("nobullet"),
15
15
  spacing: node.attr("spacing"))
16
16
  end
17
17
 
18
18
  def ol_attrs(node)
19
- attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
19
+ attr_code(id: ::Metanorma::Utils::anchor_or_uuid(node),
20
20
  type: node.attr("format") || olist_style(node.style),
21
21
  group: node.attr("group"),
22
22
  spacing: node.attr("spacing"),
@@ -24,7 +24,7 @@ module Asciidoctor
24
24
  end
25
25
 
26
26
  def dl_attrs(node)
27
- attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
27
+ attr_code(id: ::Metanorma::Utils::anchor_or_uuid(node),
28
28
  newline: node.attr("newline"),
29
29
  indent: node.attr("indent"),
30
30
  spacing: node.attr("spacing"))
@@ -46,7 +46,7 @@ module Asciidoctor
46
46
 
47
47
  def note(n)
48
48
  noko do |xml|
49
- xml.note **attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(n),
49
+ xml.note **attr_code(id: ::Metanorma::Utils::anchor_or_uuid(n),
50
50
  removeInRFC: n.attr("remove-in-rfc")) do |c|
51
51
  n.title.nil? or c.name { |name| name << n.title }
52
52
  wrap_in_para(n, c)
@@ -60,7 +60,7 @@ module Asciidoctor
60
60
  figure_title(node, f)
61
61
  f.pre node.lines.join("\n"),
62
62
  **attr_code(align: node.attr("align"),
63
- id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(nil),
63
+ id: ::Metanorma::Utils::anchor_or_uuid(nil),
64
64
  alt: node.attr("alt"))
65
65
  end
66
66
  end
@@ -140,6 +140,7 @@ module Asciidoctor
140
140
  def rfc_anchor_cleanup(xmldoc)
141
141
  map = {}
142
142
  xmldoc.xpath("//bibitem[docidentifier/@type = 'rfc-anchor']").each do |b|
143
+ next if b.at("./ancestor::bibdata")
143
144
  map[b["id"]] = b.at("./docidentifier[@type = 'rfc-anchor']").text
144
145
  b["id"] = b.at("./docidentifier[@type = 'rfc-anchor']").text
145
146
  end
@@ -204,6 +205,25 @@ module Asciidoctor
204
205
  end
205
206
  end
206
207
 
208
+ def inline_indexterm(node)
209
+ noko do |xml|
210
+ node.type == :visible and xml << node.text.sub(/^primary:(?=\S)/, "")
211
+ terms = (node.attr("terms") || [node.text]).map { |x| xml_encode(x) }
212
+ if /^primary:\S/.match(terms[0])
213
+ terms[0].sub!(/^primary:/, "")
214
+ has_primary = true
215
+ end
216
+ xml.index **attr_code(primary: has_primary) do |i|
217
+ i.primary { |x| x << terms[0] }
218
+ a = terms.dig(1) and i.secondary { |x| x << a }
219
+ a = terms.dig(2) and i.tertiary { |x| x << a }
220
+ end
221
+ end.join
222
+ end
223
+
224
+ def section_names_refs_cleanup(x)
225
+ end
226
+
207
227
  def html_extract_attributes(node)
208
228
  super.merge(use_xinclude: node.attr("use-xinclude"))
209
229
  end
@@ -51,8 +51,8 @@ module Asciidoctor
51
51
  ["en"].each do |lang|
52
52
  at = { language: lang, format: "text/plain" }
53
53
  xml.title **attr_code(at.merge(type: "main")) do |t|
54
- t << (::Asciidoctor::Standoc::Utils::asciidoc_sub(node.attr("title")) ||
55
- ::Asciidoctor::Standoc::Utils::asciidoc_sub(node.attr("title-en")) ||
54
+ t << (::Metanorma::Utils::asciidoc_sub(node.attr("title")) ||
55
+ ::Metanorma::Utils::asciidoc_sub(node.attr("title-en")) ||
56
56
  node.title)
57
57
  end
58
58
  a = node.attr("abbrev") and
@@ -564,6 +564,39 @@
564
564
  </zeroOrMore>
565
565
  </element>
566
566
  </define>
567
+ <define name="index">
568
+ <element name="index">
569
+ <optional>
570
+ <attribute name="to">
571
+ <data type="IDREF"/>
572
+ </attribute>
573
+ </optional>
574
+ <optional>
575
+ <attribute name="primary">
576
+ <data type="boolean"/>
577
+ </attribute>
578
+ </optional>
579
+ <element name="primary">
580
+ <oneOrMore>
581
+ <ref name="PureTextElement"/>
582
+ </oneOrMore>
583
+ </element>
584
+ <optional>
585
+ <element name="secondary">
586
+ <oneOrMore>
587
+ <ref name="PureTextElement"/>
588
+ </oneOrMore>
589
+ </element>
590
+ </optional>
591
+ <optional>
592
+ <element name="tertiary">
593
+ <oneOrMore>
594
+ <ref name="PureTextElement"/>
595
+ </oneOrMore>
596
+ </element>
597
+ </optional>
598
+ </element>
599
+ </define>
567
600
  </include>
568
601
  <define name="TextElement" combine="choice">
569
602
  <ref name="bcp14"/>
@@ -879,6 +912,9 @@
879
912
  <zeroOrMore>
880
913
  <ref name="termdocsource"/>
881
914
  </zeroOrMore>
915
+ <optional>
916
+ <ref name="misccontainer"/>
917
+ </optional>
882
918
  <optional>
883
919
  <ref name="boilerplate"/>
884
920
  </optional>
@@ -890,6 +926,9 @@
890
926
  <ref name="annex"/>
891
927
  </zeroOrMore>
892
928
  <ref name="bibliography"/>
929
+ <zeroOrMore>
930
+ <ref name="indexsect"/>
931
+ </zeroOrMore>
893
932
  </element>
894
933
  </define>
895
934
  </grammar>
@@ -86,6 +86,35 @@
86
86
  <text/>
87
87
  </element>
88
88
  </define>
89
+ <define name="erefType">
90
+ <optional>
91
+ <attribute name="normative">
92
+ <data type="boolean"/>
93
+ </attribute>
94
+ </optional>
95
+ <attribute name="citeas"/>
96
+ <attribute name="type">
97
+ <ref name="ReferenceFormat"/>
98
+ </attribute>
99
+ <optional>
100
+ <attribute name="alt"/>
101
+ </optional>
102
+ <optional>
103
+ <attribute name="case">
104
+ <choice>
105
+ <value>capital</value>
106
+ <value>lowercase</value>
107
+ </choice>
108
+ </attribute>
109
+ </optional>
110
+ <optional>
111
+ <attribute name="droploc">
112
+ <data type="boolean"/>
113
+ </attribute>
114
+ </optional>
115
+ <ref name="CitationType"/>
116
+ <text/>
117
+ </define>
89
118
  <define name="ul">
90
119
  <element name="ul">
91
120
  <attribute name="id">
@@ -102,7 +131,7 @@
102
131
  </attribute>
103
132
  </optional>
104
133
  <oneOrMore>
105
- <ref name="li"/>
134
+ <ref name="ul_li"/>
106
135
  </oneOrMore>
107
136
  <zeroOrMore>
108
137
  <ref name="note"/>
@@ -253,6 +282,9 @@
253
282
  <data type="boolean"/>
254
283
  </attribute>
255
284
  </optional>
285
+ <optional>
286
+ <attribute name="width"/>
287
+ </optional>
256
288
  <optional>
257
289
  <ref name="colgroup"/>
258
290
  </optional>
@@ -772,6 +804,78 @@
772
804
  <ref name="paragraph"/>
773
805
  </element>
774
806
  </define>
807
+ <define name="em">
808
+ <element name="em">
809
+ <zeroOrMore>
810
+ <choice>
811
+ <ref name="PureTextElement"/>
812
+ <ref name="stem"/>
813
+ <ref name="index"/>
814
+ </choice>
815
+ </zeroOrMore>
816
+ </element>
817
+ </define>
818
+ <define name="strong">
819
+ <element name="strong">
820
+ <zeroOrMore>
821
+ <choice>
822
+ <ref name="PureTextElement"/>
823
+ <ref name="stem"/>
824
+ <ref name="index"/>
825
+ </choice>
826
+ </zeroOrMore>
827
+ </element>
828
+ </define>
829
+ <define name="tt">
830
+ <element name="tt">
831
+ <zeroOrMore>
832
+ <choice>
833
+ <ref name="PureTextElement"/>
834
+ <ref name="index"/>
835
+ </choice>
836
+ </zeroOrMore>
837
+ </element>
838
+ </define>
839
+ <define name="keyword">
840
+ <element name="keyword">
841
+ <zeroOrMore>
842
+ <choice>
843
+ <ref name="PureTextElement"/>
844
+ <ref name="index"/>
845
+ </choice>
846
+ </zeroOrMore>
847
+ </element>
848
+ </define>
849
+ <define name="strike">
850
+ <element name="strike">
851
+ <zeroOrMore>
852
+ <choice>
853
+ <ref name="PureTextElement"/>
854
+ <ref name="index"/>
855
+ </choice>
856
+ </zeroOrMore>
857
+ </element>
858
+ </define>
859
+ <define name="underline">
860
+ <element name="underline">
861
+ <zeroOrMore>
862
+ <choice>
863
+ <ref name="PureTextElement"/>
864
+ <ref name="index"/>
865
+ </choice>
866
+ </zeroOrMore>
867
+ </element>
868
+ </define>
869
+ <define name="smallcap">
870
+ <element name="smallcap">
871
+ <zeroOrMore>
872
+ <choice>
873
+ <ref name="PureTextElement"/>
874
+ <ref name="index"/>
875
+ </choice>
876
+ </zeroOrMore>
877
+ </element>
878
+ </define>
775
879
  </include>
776
880
  <!-- end overrides -->
777
881
  <define name="colgroup">
@@ -786,8 +890,39 @@
786
890
  <attribute name="width"/>
787
891
  </element>
788
892
  </define>
893
+ <define name="BibItemType" combine="choice">
894
+ <value>internal</value>
895
+ </define>
789
896
  <define name="TextElement" combine="choice">
790
- <ref name="concept"/>
897
+ <choice>
898
+ <ref name="concept"/>
899
+ <ref name="add"/>
900
+ <ref name="del"/>
901
+ </choice>
902
+ </define>
903
+ <define name="add">
904
+ <element name="add">
905
+ <choice>
906
+ <ref name="PureTextElement"/>
907
+ <ref name="eref"/>
908
+ <ref name="stem"/>
909
+ <ref name="keyword"/>
910
+ <ref name="xref"/>
911
+ <ref name="hyperlink"/>
912
+ </choice>
913
+ </element>
914
+ </define>
915
+ <define name="del">
916
+ <element name="del">
917
+ <choice>
918
+ <ref name="PureTextElement"/>
919
+ <ref name="eref"/>
920
+ <ref name="stem"/>
921
+ <ref name="keyword"/>
922
+ <ref name="xref"/>
923
+ <ref name="hyperlink"/>
924
+ </choice>
925
+ </element>
791
926
  </define>
792
927
  <define name="concept">
793
928
  <element name="concept">
@@ -806,6 +941,8 @@
806
941
  <ref name="requirement"/>
807
942
  <ref name="recommendation"/>
808
943
  <ref name="permission"/>
944
+ <ref name="imagemap"/>
945
+ <ref name="svgmap"/>
809
946
  </choice>
810
947
  </define>
811
948
  <define name="bibliography">
@@ -836,6 +973,9 @@
836
973
  <data type="boolean"/>
837
974
  </attribute>
838
975
  </optional>
976
+ <optional>
977
+ <attribute name="number"/>
978
+ </optional>
839
979
  <optional>
840
980
  <attribute name="obligation">
841
981
  <choice>
@@ -891,9 +1031,11 @@
891
1031
  <element name="code">
892
1032
  <text/>
893
1033
  </element>
894
- <element name="text">
895
- <text/>
896
- </element>
1034
+ <optional>
1035
+ <element name="text">
1036
+ <text/>
1037
+ </element>
1038
+ </optional>
897
1039
  </element>
898
1040
  </define>
899
1041
  <define name="standard-document">
@@ -906,6 +1048,9 @@
906
1048
  </choice>
907
1049
  </attribute>
908
1050
  <ref name="bibdata"/>
1051
+ <optional>
1052
+ <ref name="misccontainer"/>
1053
+ </optional>
909
1054
  <optional>
910
1055
  <ref name="boilerplate"/>
911
1056
  </optional>
@@ -916,11 +1061,21 @@
916
1061
  <zeroOrMore>
917
1062
  <ref name="annex"/>
918
1063
  </zeroOrMore>
1064
+ <optional>
1065
+ <ref name="bibliography"/>
1066
+ </optional>
919
1067
  <zeroOrMore>
920
- <ref name="references"/>
1068
+ <ref name="indexsect"/>
921
1069
  </zeroOrMore>
922
1070
  </element>
923
1071
  </define>
1072
+ <define name="misccontainer">
1073
+ <element name="misc-container">
1074
+ <oneOrMore>
1075
+ <ref name="AnyElement"/>
1076
+ </oneOrMore>
1077
+ </element>
1078
+ </define>
924
1079
  <define name="preface">
925
1080
  <element name="preface">
926
1081
  <oneOrMore>
@@ -944,6 +1099,11 @@
944
1099
  <ref name="Content-Section"/>
945
1100
  </element>
946
1101
  </define>
1102
+ <define name="indexsect">
1103
+ <element name="indexsect">
1104
+ <ref name="Content-Section"/>
1105
+ </element>
1106
+ </define>
947
1107
  <define name="boilerplate">
948
1108
  <element name="boilerplate">
949
1109
  <optional>
@@ -1063,6 +1223,9 @@
1063
1223
  </choice>
1064
1224
  </attribute>
1065
1225
  </optional>
1226
+ <optional>
1227
+ <attribute name="number"/>
1228
+ </optional>
1066
1229
  <optional>
1067
1230
  <attribute name="type"/>
1068
1231
  </optional>
@@ -1116,6 +1279,9 @@
1116
1279
  <optional>
1117
1280
  <attribute name="type"/>
1118
1281
  </optional>
1282
+ <optional>
1283
+ <attribute name="number"/>
1284
+ </optional>
1119
1285
  <optional>
1120
1286
  <ref name="section-title"/>
1121
1287
  </optional>
@@ -1218,6 +1384,9 @@
1218
1384
  <optional>
1219
1385
  <attribute name="type"/>
1220
1386
  </optional>
1387
+ <optional>
1388
+ <attribute name="number"/>
1389
+ </optional>
1221
1390
  <optional>
1222
1391
  <attribute name="obligation">
1223
1392
  <choice>
@@ -1546,6 +1715,7 @@
1546
1715
  <value>add</value>
1547
1716
  <value>modify</value>
1548
1717
  <value>delete</value>
1718
+ <value>replace</value>
1549
1719
  </choice>
1550
1720
  </attribute>
1551
1721
  <optional>
@@ -1576,6 +1746,11 @@
1576
1746
  </optional>
1577
1747
  <optional>
1578
1748
  <element name="newcontent">
1749
+ <optional>
1750
+ <attribute name="id">
1751
+ <data type="ID"/>
1752
+ </attribute>
1753
+ </optional>
1579
1754
  <zeroOrMore>
1580
1755
  <ref name="BasicBlock"/>
1581
1756
  </zeroOrMore>
@@ -1609,4 +1784,87 @@
1609
1784
  <text/>
1610
1785
  </element>
1611
1786
  </define>
1787
+ <define name="imagemap">
1788
+ <element name="imagemap">
1789
+ <ref name="figure"/>
1790
+ <zeroOrMore>
1791
+ <element name="area">
1792
+ <attribute name="type">
1793
+ <choice>
1794
+ <value>rect</value>
1795
+ <value>circle</value>
1796
+ <value>ellipse</value>
1797
+ <value>poly</value>
1798
+ </choice>
1799
+ </attribute>
1800
+ <choice>
1801
+ <ref name="xref"/>
1802
+ <ref name="hyperlink"/>
1803
+ <ref name="eref"/>
1804
+ </choice>
1805
+ <oneOrMore>
1806
+ <element name="coords">
1807
+ <attribute name="x">
1808
+ <data type="float"/>
1809
+ </attribute>
1810
+ <attribute name="y">
1811
+ <data type="float"/>
1812
+ </attribute>
1813
+ </element>
1814
+ </oneOrMore>
1815
+ <optional>
1816
+ <element name="radius">
1817
+ <attribute name="x">
1818
+ <data type="float"/>
1819
+ </attribute>
1820
+ <optional>
1821
+ <attribute name="y">
1822
+ <data type="float"/>
1823
+ </attribute>
1824
+ </optional>
1825
+ </element>
1826
+ </optional>
1827
+ </element>
1828
+ </zeroOrMore>
1829
+ </element>
1830
+ </define>
1831
+ <define name="svgmap">
1832
+ <element name="svgmap">
1833
+ <ref name="figure"/>
1834
+ <zeroOrMore>
1835
+ <element name="target">
1836
+ <attribute name="href">
1837
+ <data type="anyURI"/>
1838
+ </attribute>
1839
+ <choice>
1840
+ <ref name="xref"/>
1841
+ <ref name="hyperlink"/>
1842
+ <ref name="eref"/>
1843
+ </choice>
1844
+ </element>
1845
+ </zeroOrMore>
1846
+ </element>
1847
+ </define>
1848
+ <define name="ul_li">
1849
+ <element name="li">
1850
+ <optional>
1851
+ <attribute name="id">
1852
+ <data type="ID"/>
1853
+ </attribute>
1854
+ </optional>
1855
+ <optional>
1856
+ <attribute name="uncheckedcheckbox">
1857
+ <data type="boolean"/>
1858
+ </attribute>
1859
+ </optional>
1860
+ <optional>
1861
+ <attribute name="checkedcheckbox">
1862
+ <data type="boolean"/>
1863
+ </attribute>
1864
+ </optional>
1865
+ <oneOrMore>
1866
+ <ref name="BasicBlock"/>
1867
+ </oneOrMore>
1868
+ </element>
1869
+ </define>
1612
1870
  </grammar>