metanorma-mpfa 0.5.14 → 0.6.2
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 +3 -12
- data/.gitignore +2 -0
- data/.rubocop.yml +6 -1
- data/bin/manifest +43 -42
- data/lib/asciidoctor/mpfa/biblio.rng +4 -6
- data/lib/asciidoctor/mpfa/isodoc.rng +327 -2
- data/lib/isodoc/mpfa/html/htmlstyle.css +7 -0
- data/lib/isodoc/mpfa/html_convert.rb +0 -1
- data/lib/isodoc/mpfa/init.rb +1 -2
- data/lib/isodoc/mpfa/mpfa.circular.xsl +640 -122
- data/lib/isodoc/mpfa/mpfa.compliance-standards-for-mpf-trustees.xsl +640 -122
- data/lib/isodoc/mpfa/mpfa.guidelines.xsl +640 -122
- data/lib/isodoc/mpfa/mpfa.standards.xsl +640 -122
- data/lib/isodoc/mpfa/mpfa.supervision-of-mpf-intermediaries.xsl +640 -122
- data/lib/isodoc/mpfa/word_convert.rb +0 -1
- data/lib/isodoc/mpfa/xref.rb +28 -24
- data/lib/metanorma/mpfa/version.rb +1 -1
- data/metanorma-mpfd.gemspec +6 -6
- metadata +26 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c45cbf2fa62763eb3dce64c4f55743c6ca4cddf98ad1829a15e09e75fc478479
|
4
|
+
data.tar.gz: 5e67fada8197ff15c52ba159d07a697f5b498261c5db01a30c878d815b17aab5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9894bd264e9d1b54b191753ae7772167c17ba0ca57fdef5fbc9b51a124cfead643c8f6e1052398709f520f9efbdb2baee87b9a5c85bf4133f3a3851d9fb39ed0
|
7
|
+
data.tar.gz: 9d90cdf416e91ea8f846203596bcac218ab1dfdac629f928a4f65960dc3615a6b948724f42663d682a09b294c2e2f910f3babe4f77abe28595eb3d143b8ca0e9
|
data/.github/workflows/rake.yml
CHANGED
@@ -30,7 +30,9 @@ jobs:
|
|
30
30
|
os: 'macos-latest'
|
31
31
|
experimental: true
|
32
32
|
steps:
|
33
|
-
- uses: actions/checkout@
|
33
|
+
- uses: actions/checkout@v2
|
34
|
+
with:
|
35
|
+
submodules: true
|
34
36
|
|
35
37
|
- uses: ruby/setup-ruby@v1
|
36
38
|
with:
|
@@ -38,14 +40,3 @@ jobs:
|
|
38
40
|
bundler-cache: true
|
39
41
|
|
40
42
|
- run: bundle exec rake
|
41
|
-
|
42
|
-
tests-passed:
|
43
|
-
needs: rake
|
44
|
-
runs-on: ubuntu-latest
|
45
|
-
steps:
|
46
|
-
- uses: peter-evans/repository-dispatch@v1
|
47
|
-
with:
|
48
|
-
token: ${{ secrets.METANORMA_CI_PAT_TOKEN || secrets.GITHUB_TOKEN }}
|
49
|
-
repository: ${{ github.repository }}
|
50
|
-
event-type: notify
|
51
|
-
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,7 +1,12 @@
|
|
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
5
|
- https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
|
7
6
|
|
7
|
+
# local repo-specific modifications
|
8
|
+
|
9
|
+
AllCops:
|
10
|
+
DisplayCopNames: false
|
11
|
+
StyleGuideCopsOnly: false
|
12
|
+
TargetRubyVersion: 2.4
|
data/bin/manifest
CHANGED
@@ -29,12 +29,13 @@ supported_gem_paths.each do |backend|
|
|
29
29
|
end
|
30
30
|
puts
|
31
31
|
|
32
|
-
def uuid
|
32
|
+
def uuid
|
33
33
|
UUIDTools::UUID.random_create
|
34
34
|
end
|
35
35
|
|
36
36
|
def extract_documents(m)
|
37
|
-
return [] unless m
|
37
|
+
return [] unless m && m["sections"]
|
38
|
+
|
38
39
|
ret = []
|
39
40
|
m["sections"].each do |s|
|
40
41
|
ret << s if s["file"]
|
@@ -45,22 +46,24 @@ end
|
|
45
46
|
|
46
47
|
def hyperlink(link)
|
47
48
|
return unless link
|
49
|
+
|
48
50
|
link.sub(/\.adoc(?=$|#)/, ".html")
|
49
51
|
end
|
50
52
|
|
51
53
|
def iterate(sections)
|
52
54
|
return "" unless sections
|
55
|
+
|
53
56
|
ret = ""
|
54
57
|
Array(sections).each do |m|
|
55
|
-
ret+= "<clause id='#{uuid}'>\n"
|
56
|
-
title = m["title"] && m["number"] ? "#{m['number']}. #{m['title']}" : (
|
58
|
+
ret += "<clause id='#{uuid}'>\n"
|
59
|
+
title = m["title"] && m["number"] ? "#{m['number']}. #{m['title']}" : (m["number"] || m["title"] || "—")
|
57
60
|
file = hyperlink(m["file"])
|
58
61
|
title = "<link target='#{file}'>#{title}</link>" if file
|
59
|
-
ret+= "<title>#{title}</title>\n"
|
60
|
-
ret+= "<p>#{m['description']}</p>\n" if m["description"]
|
61
|
-
ret+= "<p align='right'>#{m['revdate']}</p>\n" if m["revdate"]
|
62
|
+
ret += "<title>#{title}</title>\n"
|
63
|
+
ret += "<p>#{m['description']}</p>\n" if m["description"]
|
64
|
+
ret += "<p align='right'>#{m['revdate']}</p>\n" if m["revdate"]
|
62
65
|
ret += iterate(m["sections"])
|
63
|
-
ret+= "</clause>\n"
|
66
|
+
ret += "</clause>\n"
|
64
67
|
end
|
65
68
|
ret
|
66
69
|
end
|
@@ -69,20 +72,19 @@ options = {}
|
|
69
72
|
opt_parser = OptionParser.new do |opts|
|
70
73
|
opts.banner += " <file>"
|
71
74
|
opts.on(
|
72
|
-
|
73
|
-
|
75
|
+
"-t",
|
76
|
+
"--type TYPE",
|
74
77
|
"Type of standard to generate"
|
75
78
|
) { |v| options[:type] = v.to_sym }
|
76
79
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
)
|
80
|
+
opts.on(
|
81
|
+
"-r",
|
82
|
+
"--require LIBRARY",
|
83
|
+
"Require LIBRARY prior to execution"
|
84
|
+
) do |v|
|
82
85
|
options[:require] ||= []
|
83
86
|
options[:require] << v
|
84
|
-
|
85
|
-
|
87
|
+
end
|
86
88
|
|
87
89
|
opts.on_tail("-h", "--help", "Show this message") do
|
88
90
|
puts opts
|
@@ -98,7 +100,6 @@ if options[:require]
|
|
98
100
|
end
|
99
101
|
end
|
100
102
|
|
101
|
-
|
102
103
|
manifest = YAML.load_file(ARGV.pop)
|
103
104
|
|
104
105
|
documents = extract_documents(manifest)
|
@@ -106,41 +107,41 @@ documents = extract_documents(manifest)
|
|
106
107
|
# TODO real lookup of namespaces and root elements
|
107
108
|
|
108
109
|
out = <<~END
|
109
|
-
<#{options[:type]}-standard xmlns="http://riboseinc.com/isoxml">
|
110
|
-
<bibdata type="standard">
|
111
|
-
|
110
|
+
<#{options[:type]}-standard xmlns="http://riboseinc.com/isoxml">
|
111
|
+
<bibdata type="standard">
|
112
|
+
<title>#{manifest['title']}</title>
|
112
113
|
END
|
113
114
|
|
114
115
|
# TODO leave in anchor references?
|
115
116
|
#
|
116
117
|
documents.each do |d|
|
117
118
|
out += <<~END
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
119
|
+
<relation type="partOf">
|
120
|
+
<bibdata type="standard">
|
121
|
+
<title>#{d['title']}</title>
|
122
|
+
<docidentifier>#{d['number']}</docidentifier>
|
123
|
+
<abstract>#{d['description']}</abstract>
|
124
|
+
</bibdata>
|
125
|
+
</relation>
|
125
126
|
END
|
126
127
|
end
|
127
128
|
|
128
129
|
out += <<~END
|
129
|
-
</bibdata>
|
130
|
-
<sections>
|
130
|
+
</bibdata>
|
131
|
+
<sections>
|
131
132
|
END
|
132
133
|
|
133
|
-
out+=iterate(manifest["sections"])
|
134
|
+
out += iterate(manifest["sections"])
|
134
135
|
|
135
|
-
out+= <<~END
|
136
|
-
</sections>
|
137
|
-
<#{options[:type]}-standard>
|
136
|
+
out += <<~END
|
137
|
+
</sections>
|
138
|
+
<#{options[:type]}-standard>
|
138
139
|
END
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
140
|
+
outfilename = options[:filename].sub(/\.[^.]+$/, ".xml")
|
141
|
+
File.open(outfilename, "w") { |f| f.write out }
|
142
|
+
|
143
|
+
processor = registry.find_processor(options[:type].to_sym)
|
144
|
+
ext = :html
|
145
|
+
file_extension = "html" || processor.output_formats[ext]
|
146
|
+
outfilename = options[:filename].sub(/\.[^.]+$/, ".#{file_extension}")
|
147
|
+
processor.output(out, outfilename, ext, { suppressheadingnumbers: true })
|
@@ -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-
|
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
|
-
<
|
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>
|
1107
|
+
<value>cites</value>
|
1110
1108
|
<value>isCitedIn</value>
|
1111
1109
|
</choice>
|
1112
1110
|
</define>
|
@@ -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="
|
134
|
+
<ref name="ul_li"/>
|
106
135
|
</oneOrMore>
|
107
136
|
<zeroOrMore>
|
108
137
|
<ref name="note"/>
|
@@ -775,6 +804,90 @@
|
|
775
804
|
<ref name="paragraph"/>
|
776
805
|
</element>
|
777
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>
|
879
|
+
<define name="pagebreak">
|
880
|
+
<element name="pagebreak">
|
881
|
+
<optional>
|
882
|
+
<attribute name="orientation">
|
883
|
+
<choice>
|
884
|
+
<value>landscape</value>
|
885
|
+
<value>portrait</value>
|
886
|
+
</choice>
|
887
|
+
</attribute>
|
888
|
+
</optional>
|
889
|
+
</element>
|
890
|
+
</define>
|
778
891
|
</include>
|
779
892
|
<!-- end overrides -->
|
780
893
|
<define name="colgroup">
|
@@ -793,7 +906,35 @@
|
|
793
906
|
<value>internal</value>
|
794
907
|
</define>
|
795
908
|
<define name="TextElement" combine="choice">
|
796
|
-
<
|
909
|
+
<choice>
|
910
|
+
<ref name="concept"/>
|
911
|
+
<ref name="add"/>
|
912
|
+
<ref name="del"/>
|
913
|
+
</choice>
|
914
|
+
</define>
|
915
|
+
<define name="add">
|
916
|
+
<element name="add">
|
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>
|
926
|
+
</define>
|
927
|
+
<define name="del">
|
928
|
+
<element name="del">
|
929
|
+
<choice>
|
930
|
+
<ref name="PureTextElement"/>
|
931
|
+
<ref name="eref"/>
|
932
|
+
<ref name="stem"/>
|
933
|
+
<ref name="keyword"/>
|
934
|
+
<ref name="xref"/>
|
935
|
+
<ref name="hyperlink"/>
|
936
|
+
</choice>
|
937
|
+
</element>
|
797
938
|
</define>
|
798
939
|
<define name="concept">
|
799
940
|
<element name="concept">
|
@@ -814,8 +955,170 @@
|
|
814
955
|
<ref name="permission"/>
|
815
956
|
<ref name="imagemap"/>
|
816
957
|
<ref name="svgmap"/>
|
958
|
+
<ref name="inputform"/>
|
959
|
+
</choice>
|
960
|
+
</define>
|
961
|
+
<define name="inputform">
|
962
|
+
<element name="form">
|
963
|
+
<attribute name="id">
|
964
|
+
<data type="ID"/>
|
965
|
+
</attribute>
|
966
|
+
<attribute name="name"/>
|
967
|
+
<attribute name="action"/>
|
968
|
+
<zeroOrMore>
|
969
|
+
<choice>
|
970
|
+
<ref name="TextElement"/>
|
971
|
+
<ref name="FormInput"/>
|
972
|
+
</choice>
|
973
|
+
</zeroOrMore>
|
974
|
+
</element>
|
975
|
+
</define>
|
976
|
+
<define name="FormInput">
|
977
|
+
<choice>
|
978
|
+
<ref name="input"/>
|
979
|
+
<ref name="formlabel"/>
|
980
|
+
<ref name="select"/>
|
981
|
+
<ref name="textarea"/>
|
982
|
+
</choice>
|
983
|
+
</define>
|
984
|
+
<define name="InputType">
|
985
|
+
<choice>
|
986
|
+
<value>button</value>
|
987
|
+
<value>checkbox</value>
|
988
|
+
<value>date</value>
|
989
|
+
<value>file</value>
|
990
|
+
<value>password</value>
|
991
|
+
<value>radio</value>
|
992
|
+
<value>submit</value>
|
993
|
+
<value>text</value>
|
817
994
|
</choice>
|
818
995
|
</define>
|
996
|
+
<define name="input">
|
997
|
+
<element name="input">
|
998
|
+
<attribute name="type">
|
999
|
+
<ref name="InputType"/>
|
1000
|
+
</attribute>
|
1001
|
+
<optional>
|
1002
|
+
<attribute name="checked">
|
1003
|
+
<data type="boolean"/>
|
1004
|
+
</attribute>
|
1005
|
+
</optional>
|
1006
|
+
<optional>
|
1007
|
+
<attribute name="disabled">
|
1008
|
+
<data type="boolean"/>
|
1009
|
+
</attribute>
|
1010
|
+
</optional>
|
1011
|
+
<optional>
|
1012
|
+
<attribute name="readonly">
|
1013
|
+
<data type="boolean"/>
|
1014
|
+
</attribute>
|
1015
|
+
</optional>
|
1016
|
+
<optional>
|
1017
|
+
<attribute name="maxlength">
|
1018
|
+
<data type="int"/>
|
1019
|
+
</attribute>
|
1020
|
+
</optional>
|
1021
|
+
<optional>
|
1022
|
+
<attribute name="minlength">
|
1023
|
+
<data type="int"/>
|
1024
|
+
</attribute>
|
1025
|
+
</optional>
|
1026
|
+
<optional>
|
1027
|
+
<attribute name="name"/>
|
1028
|
+
</optional>
|
1029
|
+
<optional>
|
1030
|
+
<attribute name="value"/>
|
1031
|
+
</optional>
|
1032
|
+
<optional>
|
1033
|
+
<attribute name="id">
|
1034
|
+
<data type="ID"/>
|
1035
|
+
</attribute>
|
1036
|
+
</optional>
|
1037
|
+
</element>
|
1038
|
+
</define>
|
1039
|
+
<define name="formlabel">
|
1040
|
+
<element name="label">
|
1041
|
+
<attribute name="for">
|
1042
|
+
<data type="IDREF"/>
|
1043
|
+
</attribute>
|
1044
|
+
<zeroOrMore>
|
1045
|
+
<ref name="PureTextElement"/>
|
1046
|
+
</zeroOrMore>
|
1047
|
+
</element>
|
1048
|
+
</define>
|
1049
|
+
<define name="select">
|
1050
|
+
<element name="select">
|
1051
|
+
<optional>
|
1052
|
+
<attribute name="name"/>
|
1053
|
+
</optional>
|
1054
|
+
<optional>
|
1055
|
+
<attribute name="value"/>
|
1056
|
+
</optional>
|
1057
|
+
<optional>
|
1058
|
+
<attribute name="id">
|
1059
|
+
<data type="ID"/>
|
1060
|
+
</attribute>
|
1061
|
+
</optional>
|
1062
|
+
<optional>
|
1063
|
+
<attribute name="disabled">
|
1064
|
+
<data type="boolean"/>
|
1065
|
+
</attribute>
|
1066
|
+
</optional>
|
1067
|
+
<optional>
|
1068
|
+
<attribute name="multiple">
|
1069
|
+
<data type="boolean"/>
|
1070
|
+
</attribute>
|
1071
|
+
</optional>
|
1072
|
+
<optional>
|
1073
|
+
<attribute name="size">
|
1074
|
+
<data type="int"/>
|
1075
|
+
</attribute>
|
1076
|
+
</optional>
|
1077
|
+
<oneOrMore>
|
1078
|
+
<ref name="option"/>
|
1079
|
+
</oneOrMore>
|
1080
|
+
</element>
|
1081
|
+
</define>
|
1082
|
+
<define name="option">
|
1083
|
+
<element name="option">
|
1084
|
+
<optional>
|
1085
|
+
<attribute name="disabled">
|
1086
|
+
<data type="boolean"/>
|
1087
|
+
</attribute>
|
1088
|
+
</optional>
|
1089
|
+
<optional>
|
1090
|
+
<attribute name="value"/>
|
1091
|
+
</optional>
|
1092
|
+
<zeroOrMore>
|
1093
|
+
<ref name="PureTextElement"/>
|
1094
|
+
</zeroOrMore>
|
1095
|
+
</element>
|
1096
|
+
</define>
|
1097
|
+
<define name="textarea">
|
1098
|
+
<element name="textarea">
|
1099
|
+
<optional>
|
1100
|
+
<attribute name="name"/>
|
1101
|
+
</optional>
|
1102
|
+
<optional>
|
1103
|
+
<attribute name="value"/>
|
1104
|
+
</optional>
|
1105
|
+
<optional>
|
1106
|
+
<attribute name="id">
|
1107
|
+
<data type="ID"/>
|
1108
|
+
</attribute>
|
1109
|
+
</optional>
|
1110
|
+
<optional>
|
1111
|
+
<attribute name="rows">
|
1112
|
+
<data type="int"/>
|
1113
|
+
</attribute>
|
1114
|
+
</optional>
|
1115
|
+
<optional>
|
1116
|
+
<attribute name="cols">
|
1117
|
+
<data type="int"/>
|
1118
|
+
</attribute>
|
1119
|
+
</optional>
|
1120
|
+
</element>
|
1121
|
+
</define>
|
819
1122
|
<define name="bibliography">
|
820
1123
|
<element name="bibliography">
|
821
1124
|
<oneOrMore>
|
@@ -1716,4 +2019,26 @@
|
|
1716
2019
|
</zeroOrMore>
|
1717
2020
|
</element>
|
1718
2021
|
</define>
|
2022
|
+
<define name="ul_li">
|
2023
|
+
<element name="li">
|
2024
|
+
<optional>
|
2025
|
+
<attribute name="id">
|
2026
|
+
<data type="ID"/>
|
2027
|
+
</attribute>
|
2028
|
+
</optional>
|
2029
|
+
<optional>
|
2030
|
+
<attribute name="uncheckedcheckbox">
|
2031
|
+
<data type="boolean"/>
|
2032
|
+
</attribute>
|
2033
|
+
</optional>
|
2034
|
+
<optional>
|
2035
|
+
<attribute name="checkedcheckbox">
|
2036
|
+
<data type="boolean"/>
|
2037
|
+
</attribute>
|
2038
|
+
</optional>
|
2039
|
+
<oneOrMore>
|
2040
|
+
<ref name="BasicBlock"/>
|
2041
|
+
</oneOrMore>
|
2042
|
+
</element>
|
2043
|
+
</define>
|
1719
2044
|
</grammar>
|