relaton-iho 1.12.1 → 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15f8ff781c6eea28a733d0954f7db760b375163e593117afac51f5173f2d363c
4
- data.tar.gz: 5d47f1c4a452dccd29045b2889788453e7a4a936c8bb07deb969bbd6ef11a4cc
3
+ metadata.gz: 4d01d422a7d0b04520ca42375a62fbd2e1dfdedaf6ce67c1f10fab2750607b2a
4
+ data.tar.gz: 41ba50e867c5655ed1094f22b5b47a4ac4a47b4c5ce7a1012290cc556968ca14
5
5
  SHA512:
6
- metadata.gz: 6d7f6271fc4ed0b098aec63a968ecb1d8d5d071523c694d9ad5ca790c9534ca7aaeb0973c8937318f258bb0d49b205f270ee907ff7a43e8e7c5c08ae3f7ddb38
7
- data.tar.gz: d709455d126fb8efd402371ed022dcd95e6c8546877e79e562331347922ad08af537a6c47c4bdb192cd4adc642be6183d74db87419a567c95beba1d2f20a597b
6
+ metadata.gz: 30427e3902880f4dfc2973cfebe63285606e89daa0a0515cf8c4a5ceb299112bca795cba6d8a4143b4a6573574aec8625395b9552702985187e41be3a0491d01
7
+ data.tar.gz: 9218aea85733e22afbb9f9ea537d63ccb60f3a95d5c7aba880cfcd9273bdfaabb74e3b5038c93d4e0c2b56b9d7082b931bb91b5fe95866ff113c29c3eecbe751
@@ -5,32 +5,8 @@ name: rake
5
5
  on:
6
6
  push:
7
7
  branches: [ master, main ]
8
- tags: [ v* ]
9
8
  pull_request:
10
9
 
11
10
  jobs:
12
11
  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: [ '3.0', '2.7', '2.6' ]
20
- os: [ ubuntu-latest, windows-latest, macos-latest ]
21
- experimental: [ false ]
22
- steps:
23
- - uses: actions/checkout@v2
24
- with:
25
- submodules: true
26
-
27
- # https://github.com/ruby-debug/debase/issues/89#issuecomment-686827382
28
- - if: matrix.os == 'macos-latest' && matrix.ruby == '2.5'
29
- run: echo BUNDLE_BUILD__DEBASE="--with-cflags=\"-Wno-error=implicit-function-declaration\"" >> $GITHUB_ENV
30
-
31
- - uses: ruby/setup-ruby@v1
32
- with:
33
- ruby-version: ${{ matrix.ruby }}
34
- bundler-cache: true
35
-
36
- - run: bundle exec rake
12
+ uses: relaton/support/.github/workflows/rake.yml@master
@@ -0,0 +1,22 @@
1
+ # Auto-generated by Cimas: Do not edit it manually!
2
+ # See https://github.com/metanorma/cimas
3
+ name: release
4
+
5
+ on:
6
+ workflow_dispatch:
7
+ inputs:
8
+ next_version:
9
+ description: |
10
+ Next release version. Possible values: x.y.z, major, minor, patch or pre|rc|etc
11
+ required: true
12
+ default: 'skip'
13
+ push:
14
+ tags: [ v* ]
15
+
16
+ jobs:
17
+ release:
18
+ uses: relaton/support/.github/workflows/release.yml@master
19
+ with:
20
+ next_version: ${{ github.event.inputs.next_version }}
21
+ secrets:
22
+ rubygems-api-key: ${{ secrets.RELATON_CI_RUBYGEMS_API_KEY }}
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  .rspec_status
13
13
  .rubocop-https---raw-githubusercontent-com-riboseinc-oss-guides-master-ci-rubocop-yml
14
14
  Gemfile.lock
15
+ spec/examples.txt
data/README.adoc CHANGED
@@ -41,7 +41,7 @@ $ gem install relaton-iho
41
41
 
42
42
  [source,ruby]
43
43
  ----
44
- pry(main)> require 'relaton_iho'
44
+ require 'relaton_iho'
45
45
  => true
46
46
 
47
47
  item = RelatonIho::IhoBibliography.search("B-11")
@@ -55,41 +55,28 @@ item = RelatonIho::IhoBibliography.search("B-11")
55
55
  [source,ruby]
56
56
  ----
57
57
  item.to_xml
58
- => "<bibitem id="B-11" type="standard">
59
- <fetched>2020-03-29</fetched>
58
+ => "<bibitem id="B-11" type="standard" schema-version="v1.2.1">
59
+ <fetched>2022-12-04</fetched>
60
60
  <title type="main" format="text/plain" language="en">IHO-IOC GEBCO Cook Book</title>
61
61
  <title type="main" format="text/plain" language="fr">Livre de recettes GEBCO OHI-COI</title>
62
62
  <uri type="pdf">https://www.star.nesdis.noaa.gov/socd/lsa/GEBCO_Cookbook/documents/CookBook_20191031.pdf</uri>
63
- <docidentifier type="IHO">B-11</docidentifier>
63
+ <docidentifier type="IHO" primary="true">B-11</docidentifier>
64
64
  ...
65
65
  </bibitem>"
66
66
  ----
67
- With argument `bibdata: true` it ouputs XML wrapped by `bibdata` element and adds flavour `ext` element.
67
+ With argument `bibdata: true` it outputs XML wrapped by `bibdata` element and adds flavor `ext` element.
68
68
  [source,ruby]
69
69
  ----
70
70
  item.to_xml bibdata: true
71
- => "<bibdata type="standard">
72
- <fetched>2020-03-29</fetched>
71
+ => "<bibdata type="standard" schema-version="v1.2.1">
72
+ <fetched>2022-12-04</fetched>
73
73
  <title type="main" format="text/plain" language="en">IHO-IOC GEBCO Cook Book</title>
74
74
  <title type="main" format="text/plain" language="fr">Livre de recettes GEBCO OHI-COI</title>
75
75
  <uri type="pdf">https://www.star.nesdis.noaa.gov/socd/lsa/GEBCO_Cookbook/documents/CookBook_20191031.pdf</uri>
76
- <docidentifier type="IHO">B-11</docidentifier>
76
+ <docidentifier type="IHO" primary="true">B-11</docidentifier
77
77
  ...
78
- <ext>
79
- <editorialgroup>
80
- <committee>
81
- <name>Hydrographic Services and Standards Committee</name>
82
- <abbreviation>HSSC</abbreviation>
83
- </committee>
84
- <committee>
85
- <name>Inter-Regional Coordination Committee</name>
86
- <abbreviation>IRCC</abbreviation>
87
- <committee>
88
- <name>JOINT IHO-IOC GUIDING COMMITTEE FOR THE GENERAL BATHYMETRIC CHART OF THE OCEANS</name>
89
- <abbreviation>GEBCO</abbreviation>
90
- </committee>
91
- </committee>
92
- </editorialgroup>
78
+ <ext schema-version="v1.0.0">
79
+ ...
93
80
  </ext>
94
81
  </bibdata>"
95
82
  ----
@@ -1,10 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <include href="biblio.rng">
4
- <start>
5
- <ref name="document"/>
6
- </start>
7
- </include>
8
3
  <define name="document">
9
4
  <element name="document">
10
5
  <optional>
@@ -688,6 +683,9 @@
688
683
  </define>
689
684
  <define name="underline">
690
685
  <element name="underline">
686
+ <optional>
687
+ <attribute name="style"/>
688
+ </optional>
691
689
  <zeroOrMore>
692
690
  <ref name="PureTextElement"/>
693
691
  </zeroOrMore>
@@ -1125,26 +1123,4 @@
1125
1123
  </zeroOrMore>
1126
1124
  </element>
1127
1125
  </define>
1128
- <define name="ext">
1129
- <element name="ext">
1130
- <ref name="BibDataExtensionType"/>
1131
- </element>
1132
- </define>
1133
- <define name="BibDataExtensionType">
1134
- <ref name="doctype"/>
1135
- </define>
1136
- <define name="doctype">
1137
- <element name="doctype">
1138
- <ref name="DocumentType"/>
1139
- </element>
1140
- </define>
1141
- <define name="DocumentType">
1142
- <value>document</value>
1143
- </define>
1144
- <define name="BibData">
1145
- <ref name="BibliographicItem"/>
1146
- <optional>
1147
- <ref name="ext"/>
1148
- </optional>
1149
- </define>
1150
1126
  </grammar>
@@ -0,0 +1,164 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <!--
4
+ Add-ons to biblio.rnc for standoc model: defines the extension point BibDataExtensionType
5
+ of relaton
6
+
7
+ Specialisations as for biblio.rnc. Extension point can be redefined completely for a flavour of standoc
8
+ (SDO); but other elements in Bibdata can only be extended (more specialised vocabularies for Bibdata)
9
+ -->
10
+ <include href="biblio.rng">
11
+ <define name="BibData">
12
+ <ref name="BibliographicItem"/>
13
+ <optional>
14
+ <ref name="ext"/>
15
+ </optional>
16
+ </define>
17
+ </include>
18
+ <define name="ext">
19
+ <element name="ext">
20
+ <ref name="BibDataExtensionType"/>
21
+ </element>
22
+ </define>
23
+ <define name="BibDataExtensionType">
24
+ <optional>
25
+ <attribute name="schema-version"/>
26
+ </optional>
27
+ <ref name="doctype"/>
28
+ <optional>
29
+ <ref name="docsubtype"/>
30
+ </optional>
31
+ <optional>
32
+ <ref name="editorialgroup"/>
33
+ </optional>
34
+ <zeroOrMore>
35
+ <ref name="ics"/>
36
+ </zeroOrMore>
37
+ <zeroOrMore>
38
+ <ref name="structuredidentifier"/>
39
+ </zeroOrMore>
40
+ </define>
41
+ <define name="doctype">
42
+ <element name="doctype">
43
+ <optional>
44
+ <attribute name="abbreviation"/>
45
+ </optional>
46
+ <ref name="DocumentType"/>
47
+ </element>
48
+ </define>
49
+ <define name="DocumentType">
50
+ <text/>
51
+ </define>
52
+ <define name="docsubtype">
53
+ <element name="subdoctype">
54
+ <ref name="DocumentSubtype"/>
55
+ </element>
56
+ </define>
57
+ <define name="DocumentSubtype">
58
+ <text/>
59
+ </define>
60
+ <define name="editorialgroup">
61
+ <element name="editorialgroup">
62
+ <oneOrMore>
63
+ <ref name="technical-committee"/>
64
+ </oneOrMore>
65
+ </element>
66
+ </define>
67
+ <define name="technical-committee">
68
+ <element name="technical-committee">
69
+ <ref name="IsoWorkgroup"/>
70
+ </element>
71
+ </define>
72
+ <define name="IsoWorkgroup">
73
+ <optional>
74
+ <attribute name="number"/>
75
+ </optional>
76
+ <optional>
77
+ <attribute name="type"/>
78
+ </optional>
79
+ <optional>
80
+ <attribute name="identifier"/>
81
+ </optional>
82
+ <optional>
83
+ <attribute name="prefix"/>
84
+ </optional>
85
+ <text/>
86
+ </define>
87
+ <define name="ics">
88
+ <element name="ics">
89
+ <element name="code">
90
+ <text/>
91
+ </element>
92
+ <optional>
93
+ <element name="text">
94
+ <text/>
95
+ </element>
96
+ </optional>
97
+ </element>
98
+ </define>
99
+ <define name="structuredidentifier">
100
+ <element name="structuredidentifier">
101
+ <optional>
102
+ <attribute name="type"/>
103
+ </optional>
104
+ <oneOrMore>
105
+ <element name="agency">
106
+ <text/>
107
+ </element>
108
+ </oneOrMore>
109
+ <optional>
110
+ <element name="class">
111
+ <text/>
112
+ </element>
113
+ </optional>
114
+ <element name="docnumber">
115
+ <text/>
116
+ </element>
117
+ <optional>
118
+ <element name="partnumber">
119
+ <text/>
120
+ </element>
121
+ </optional>
122
+ <optional>
123
+ <element name="edition">
124
+ <text/>
125
+ </element>
126
+ </optional>
127
+ <optional>
128
+ <element name="version">
129
+ <text/>
130
+ </element>
131
+ </optional>
132
+ <optional>
133
+ <element name="supplementtype">
134
+ <text/>
135
+ </element>
136
+ </optional>
137
+ <optional>
138
+ <element name="supplementnumber">
139
+ <text/>
140
+ </element>
141
+ </optional>
142
+ <optional>
143
+ <element name="amendment">
144
+ <text/>
145
+ </element>
146
+ </optional>
147
+ <optional>
148
+ <element name="corrigendum">
149
+ <text/>
150
+ </element>
151
+ </optional>
152
+ <optional>
153
+ <element name="language">
154
+ <text/>
155
+ </element>
156
+ </optional>
157
+ <optional>
158
+ <element name="year">
159
+ <text/>
160
+ </element>
161
+ </optional>
162
+ </element>
163
+ </define>
164
+ </grammar>
data/grammars/biblio.rng CHANGED
@@ -33,9 +33,10 @@
33
33
  <param name="pattern">([\+\-]?\d{4})((-?)((0[1-9]|1[0-2])((-?)([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6]))))?</param>
34
34
  </data>
35
35
  </define>
36
- <start>
37
- <ref name="bibitem"/>
38
- </start>
36
+ <!-- start = bibitem -->
37
+ <define name="BibData">
38
+ <ref name="BibliographicItem"/>
39
+ </define>
39
40
  <define name="status">
40
41
  <element name="status">
41
42
  <ref name="stage"/>
@@ -73,8 +74,14 @@
73
74
  <text/>
74
75
  </element>
75
76
  </define>
76
- <define name="script">
77
+ <define name="locale">
77
78
  <a:documentation>ISO-639</a:documentation>
79
+ <element name="locale">
80
+ <text/>
81
+ </element>
82
+ </define>
83
+ <define name="script">
84
+ <a:documentation>ISO-3166</a:documentation>
78
85
  <element name="script">
79
86
  <text/>
80
87
  </element>
@@ -93,6 +100,9 @@
93
100
  <!-- multiple languages and scripts possible: comma delimit them if so -->
94
101
  <attribute name="language"/>
95
102
  </optional>
103
+ <optional>
104
+ <attribute name="locale"/>
105
+ </optional>
96
106
  <optional>
97
107
  <attribute name="script"/>
98
108
  </optional>
@@ -136,6 +146,9 @@
136
146
  <!-- multiple languages and scripts possible: comma delimit them if so -->
137
147
  <attribute name="language"/>
138
148
  </optional>
149
+ <optional>
150
+ <attribute name="locale"/>
151
+ </optional>
139
152
  <optional>
140
153
  <attribute name="script"/>
141
154
  </optional>
@@ -158,27 +171,30 @@
158
171
  </define>
159
172
  <define name="contributor">
160
173
  <element name="contributor">
161
- <zeroOrMore>
174
+ <oneOrMore>
162
175
  <ref name="role"/>
163
- </zeroOrMore>
176
+ </oneOrMore>
164
177
  <ref name="ContributorInfo"/>
165
178
  </element>
166
179
  </define>
167
180
  <define name="role">
168
181
  <element name="role">
169
- <optional>
170
- <attribute name="type">
171
- <choice>
172
- <value>author</value>
173
- <value>performer</value>
174
- <value>publisher</value>
175
- <value>editor</value>
176
- <value>adapter</value>
177
- <value>translator</value>
178
- <value>distributor</value>
179
- </choice>
180
- </attribute>
181
- </optional>
182
+ <attribute name="type">
183
+ <choice>
184
+ <value>author</value>
185
+ <value>performer</value>
186
+ <value>publisher</value>
187
+ <value>editor</value>
188
+ <value>adapter</value>
189
+ <value>translator</value>
190
+ <value>distributor</value>
191
+ <value>realizer</value>
192
+ <value>owner</value>
193
+ <value>authorizer</value>
194
+ <value>enabler</value>
195
+ <value>subject</value>
196
+ </choice>
197
+ </attribute>
182
198
  <zeroOrMore>
183
199
  <ref name="roledescription"/>
184
200
  </zeroOrMore>
@@ -225,9 +241,9 @@
225
241
  <zeroOrMore>
226
242
  <ref name="forename"/>
227
243
  </zeroOrMore>
228
- <zeroOrMore>
229
- <ref name="initial"/>
230
- </zeroOrMore>
244
+ <optional>
245
+ <ref name="formatted-initials"/>
246
+ </optional>
231
247
  <ref name="surname"/>
232
248
  <zeroOrMore>
233
249
  <ref name="addition"/>
@@ -247,8 +263,8 @@
247
263
  <ref name="LocalizedString"/>
248
264
  </element>
249
265
  </define>
250
- <define name="initial">
251
- <element name="initial">
266
+ <define name="formatted-initials">
267
+ <element name="formatted-initials">
252
268
  <ref name="LocalizedString"/>
253
269
  </element>
254
270
  </define>
@@ -264,6 +280,9 @@
264
280
  </define>
265
281
  <define name="forename">
266
282
  <element name="forename">
283
+ <optional>
284
+ <attribute name="initial"/>
285
+ </optional>
267
286
  <ref name="LocalizedString"/>
268
287
  </element>
269
288
  </define>
@@ -497,6 +516,17 @@
497
516
  </define>
498
517
  <define name="localityStack">
499
518
  <element name="localityStack">
519
+ <optional>
520
+ <attribute name="connective">
521
+ <choice>
522
+ <value>and</value>
523
+ <value>or</value>
524
+ <value>from</value>
525
+ <value>to</value>
526
+ <value/>
527
+ </choice>
528
+ </attribute>
529
+ </optional>
500
530
  <zeroOrMore>
501
531
  <ref name="locality"/>
502
532
  </zeroOrMore>
@@ -509,6 +539,17 @@
509
539
  </define>
510
540
  <define name="sourceLocalityStack">
511
541
  <element name="sourceLocalityStack">
542
+ <optional>
543
+ <attribute name="connective">
544
+ <choice>
545
+ <value>and</value>
546
+ <value>or</value>
547
+ <value>from</value>
548
+ <value>to</value>
549
+ <value/>
550
+ </choice>
551
+ </attribute>
552
+ </optional>
512
553
  <zeroOrMore>
513
554
  <ref name="sourceLocality"/>
514
555
  </zeroOrMore>
@@ -611,6 +652,9 @@
611
652
  <ref name="BibItemType"/>
612
653
  </attribute>
613
654
  </optional>
655
+ <optional>
656
+ <attribute name="schema-version"/>
657
+ </optional>
614
658
  <optional>
615
659
  <ref name="fetched"/>
616
660
  </optional>
@@ -647,6 +691,9 @@
647
691
  <zeroOrMore>
648
692
  <ref name="language"/>
649
693
  </zeroOrMore>
694
+ <zeroOrMore>
695
+ <ref name="locale"/>
696
+ </zeroOrMore>
650
697
  <zeroOrMore>
651
698
  <ref name="script"/>
652
699
  </zeroOrMore>
@@ -702,6 +749,9 @@
702
749
  <ref name="BibItemType"/>
703
750
  </attribute>
704
751
  </optional>
752
+ <optional>
753
+ <attribute name="schema-version"/>
754
+ </optional>
705
755
  <optional>
706
756
  <ref name="fetched"/>
707
757
  </optional>
@@ -738,6 +788,9 @@
738
788
  <zeroOrMore>
739
789
  <ref name="language"/>
740
790
  </zeroOrMore>
791
+ <zeroOrMore>
792
+ <ref name="locale"/>
793
+ </zeroOrMore>
741
794
  <zeroOrMore>
742
795
  <ref name="script"/>
743
796
  </zeroOrMore>
@@ -851,6 +904,15 @@
851
904
  <optional>
852
905
  <attribute name="type"/>
853
906
  </optional>
907
+ <optional>
908
+ <attribute name="language"/>
909
+ </optional>
910
+ <optional>
911
+ <attribute name="locale"/>
912
+ </optional>
913
+ <optional>
914
+ <attribute name="script"/>
915
+ </optional>
854
916
  <data type="anyURI"/>
855
917
  </define>
856
918
  <define name="DateType">
@@ -879,6 +941,7 @@
879
941
  <value>vote-started</value>
880
942
  <value>vote-ended</value>
881
943
  <value>announced</value>
944
+ <value>stable-until</value>
882
945
  </choice>
883
946
  </define>
884
947
  <define name="bdate">
@@ -927,6 +990,9 @@
927
990
  <optional>
928
991
  <attribute name="language"/>
929
992
  </optional>
993
+ <optional>
994
+ <attribute name="locale"/>
995
+ </optional>
930
996
  <optional>
931
997
  <attribute name="script"/>
932
998
  </optional>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <include href="basicdoc.rng"/>
4
+ <include href="relaton-iho.rng"/>
5
+ <start>
6
+ <choice>
7
+ <ref name="bibitem"/>
8
+ <ref name="bibdata"/>
9
+ </choice>
10
+ </start>
11
+ </grammar>
@@ -0,0 +1,92 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0">
3
+ <include href="biblio-standoc.rng">
4
+ <define name="DocumentType">
5
+ <choice>
6
+ <value>policy-and-procedures</value>
7
+ <value>best-practices</value>
8
+ <value>supporting-document</value>
9
+ <value>report</value>
10
+ <value>legal</value>
11
+ <value>directives</value>
12
+ <value>proposal</value>
13
+ <value>standard</value>
14
+ </choice>
15
+ </define>
16
+ <define name="editorialgroup">
17
+ <element name="editorialgroup">
18
+ <oneOrMore>
19
+ <choice>
20
+ <ref name="committee"/>
21
+ <ref name="workgroup"/>
22
+ <ref name="commission"/>
23
+ </choice>
24
+ </oneOrMore>
25
+ </element>
26
+ </define>
27
+ <define name="BibDataExtensionType">
28
+ <optional>
29
+ <attribute name="schema-version"/>
30
+ </optional>
31
+ <optional>
32
+ <ref name="doctype"/>
33
+ </optional>
34
+ <optional>
35
+ <ref name="docsubtype"/>
36
+ </optional>
37
+ <zeroOrMore>
38
+ <ref name="editorialgroup"/>
39
+ </zeroOrMore>
40
+ <zeroOrMore>
41
+ <ref name="ics"/>
42
+ </zeroOrMore>
43
+ <optional>
44
+ <ref name="commentperiod"/>
45
+ </optional>
46
+ </define>
47
+ </include>
48
+ <define name="committee">
49
+ <element name="committee">
50
+ <ref name="IHO_Group"/>
51
+ </element>
52
+ </define>
53
+ <define name="workgroup">
54
+ <element name="workgroup">
55
+ <ref name="IHO_Group"/>
56
+ </element>
57
+ </define>
58
+ <define name="commission">
59
+ <element name="commission">
60
+ <ref name="IHO_Group"/>
61
+ </element>
62
+ </define>
63
+ <define name="IHO_Group">
64
+ <optional>
65
+ <element name="name">
66
+ <text/>
67
+ </element>
68
+ </optional>
69
+ <element name="abbreviation">
70
+ <text/>
71
+ </element>
72
+ <optional>
73
+ <choice>
74
+ <ref name="committee"/>
75
+ <ref name="workgroup"/>
76
+ <ref name="commission"/>
77
+ </choice>
78
+ </optional>
79
+ </define>
80
+ <define name="commentperiod">
81
+ <element name="commentperiod">
82
+ <element name="from">
83
+ <ref name="ISO8601Date"/>
84
+ </element>
85
+ <optional>
86
+ <element name="to">
87
+ <ref name="ISO8601Date"/>
88
+ </element>
89
+ </optional>
90
+ </element>
91
+ </define>
92
+ </grammar>