relaton-bib 1.20.8 → 2.0.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.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/.rubocop.yml +1 -1
  4. data/CLAUDE.md +96 -0
  5. data/Gemfile +1 -4
  6. data/README.adoc +195 -154
  7. data/bin/console +1 -1
  8. data/grammars/basicdoc.rng +1572 -671
  9. data/grammars/biblio-standoc.rng +107 -46
  10. data/grammars/biblio.rng +1012 -377
  11. data/grammars/versions.json +26 -26
  12. data/lib/relaton/bib/converter/asciibib/to_asciibib.rb +663 -0
  13. data/lib/relaton/bib/converter/asciibib.rb +13 -0
  14. data/lib/relaton/bib/converter/bibtex/from_bibtex.rb +245 -0
  15. data/lib/relaton/bib/converter/bibtex/to_bibtex.rb +341 -0
  16. data/lib/relaton/bib/converter/bibtex.rb +23 -0
  17. data/lib/relaton/bib/converter/bibxml/from_rfcxml.rb +383 -0
  18. data/lib/relaton/bib/converter/bibxml/from_rfcxml_referencegroup.rb +71 -0
  19. data/lib/relaton/bib/converter/bibxml/to_rfcxml.rb +305 -0
  20. data/lib/relaton/bib/converter/bibxml/to_rfcxml_referencegroup.rb +52 -0
  21. data/lib/relaton/bib/converter/bibxml.rb +51 -0
  22. data/lib/relaton/bib/hash_parser_v1.rb +754 -0
  23. data/lib/relaton/bib/item_data.rb +229 -0
  24. data/lib/relaton/bib/model/abstract.rb +16 -0
  25. data/lib/relaton/bib/model/address.rb +22 -0
  26. data/lib/relaton/bib/model/affiliation.rb +16 -0
  27. data/lib/relaton/bib/model/bibdata.rb +24 -0
  28. data/lib/relaton/bib/model/bibitem.rb +23 -0
  29. data/lib/relaton/bib/model/contact.rb +18 -0
  30. data/lib/relaton/bib/model/contribution_info.rb +16 -0
  31. data/lib/relaton/bib/model/contributor.rb +71 -0
  32. data/lib/relaton/bib/model/copyright.rb +27 -0
  33. data/lib/relaton/bib/model/date.rb +31 -0
  34. data/lib/relaton/bib/model/depiction.rb +16 -0
  35. data/lib/relaton/bib/model/docidentifier.rb +33 -0
  36. data/lib/relaton/bib/model/doctype.rb +14 -0
  37. data/lib/relaton/bib/model/edition.rb +14 -0
  38. data/lib/relaton/bib/model/ext.rb +26 -0
  39. data/lib/relaton/bib/model/extent.rb +16 -0
  40. data/lib/relaton/bib/model/formattedref.rb +43 -0
  41. data/lib/relaton/bib/model/full_name_type.rb +64 -0
  42. data/lib/relaton/bib/model/fullname.rb +11 -0
  43. data/lib/relaton/bib/model/ics.rb +23 -0
  44. data/lib/relaton/bib/model/image.rb +28 -0
  45. data/lib/relaton/bib/model/item.rb +137 -0
  46. data/lib/relaton/bib/model/item_base.rb +27 -0
  47. data/lib/relaton/bib/model/keyword.rb +30 -0
  48. data/lib/relaton/bib/model/locality.rb +18 -0
  49. data/lib/relaton/bib/model/locality_stack.rb +14 -0
  50. data/lib/relaton/bib/model/localized_string.rb +57 -0
  51. data/lib/relaton/bib/model/localized_string_attrs.rb +24 -0
  52. data/lib/relaton/bib/model/logo.rb +14 -0
  53. data/lib/relaton/bib/model/medium.rb +22 -0
  54. data/lib/relaton/bib/model/note.rb +16 -0
  55. data/lib/relaton/bib/model/organization.rb +13 -0
  56. data/lib/relaton/bib/model/organization_type.rb +42 -0
  57. data/lib/relaton/bib/model/person.rb +36 -0
  58. data/lib/relaton/bib/model/phone.rb +14 -0
  59. data/lib/relaton/bib/model/place.rb +33 -0
  60. data/lib/relaton/bib/model/price.rb +14 -0
  61. data/lib/relaton/bib/model/relation.rb +43 -0
  62. data/lib/relaton/bib/model/series.rb +34 -0
  63. data/lib/relaton/bib/model/size.rb +23 -0
  64. data/lib/relaton/bib/model/source_locality_stack.rb +14 -0
  65. data/lib/relaton/bib/model/status.rb +27 -0
  66. data/lib/relaton/bib/model/structured_identifier.rb +48 -0
  67. data/lib/relaton/bib/model/subdivision.rb +16 -0
  68. data/lib/relaton/bib/model/title.rb +56 -0
  69. data/lib/relaton/bib/model/type/string_date.rb +48 -0
  70. data/lib/relaton/bib/model/uri.rb +18 -0
  71. data/lib/relaton/bib/model/validity.rb +16 -0
  72. data/lib/relaton/bib/model/version.rb +14 -0
  73. data/lib/relaton/bib/namespace_helper.rb +21 -0
  74. data/lib/relaton/bib/util.rb +18 -0
  75. data/lib/relaton/bib/version.rb +5 -0
  76. data/lib/relaton/bib.rb +45 -0
  77. data/relaton-bib.gemspec +11 -8
  78. metadata +125 -67
  79. data/lib/relaton_bib/bib_item_locality.rb +0 -175
  80. data/lib/relaton_bib/biblio_note.rb +0 -72
  81. data/lib/relaton_bib/biblio_version.rb +0 -46
  82. data/lib/relaton_bib/bibliographic_date.rb +0 -119
  83. data/lib/relaton_bib/bibliographic_item.rb +0 -668
  84. data/lib/relaton_bib/bibliographic_size.rb +0 -103
  85. data/lib/relaton_bib/bibtex_parser.rb +0 -246
  86. data/lib/relaton_bib/bibxml_parser.rb +0 -422
  87. data/lib/relaton_bib/classification.rb +0 -40
  88. data/lib/relaton_bib/config.rb +0 -16
  89. data/lib/relaton_bib/contribution_info.rb +0 -117
  90. data/lib/relaton_bib/contributor.rb +0 -277
  91. data/lib/relaton_bib/copyright_association.rb +0 -79
  92. data/lib/relaton_bib/deep_dup.rb +0 -30
  93. data/lib/relaton_bib/document_identifier.rb +0 -118
  94. data/lib/relaton_bib/document_relation.rb +0 -95
  95. data/lib/relaton_bib/document_relation_collection.rb +0 -57
  96. data/lib/relaton_bib/document_status.rb +0 -92
  97. data/lib/relaton_bib/document_type.rb +0 -52
  98. data/lib/relaton_bib/edition.rb +0 -55
  99. data/lib/relaton_bib/editorial_group.rb +0 -41
  100. data/lib/relaton_bib/extent.rb +0 -39
  101. data/lib/relaton_bib/forename.rb +0 -65
  102. data/lib/relaton_bib/formatted_ref.rb +0 -17
  103. data/lib/relaton_bib/formatted_string.rb +0 -133
  104. data/lib/relaton_bib/full_name.rb +0 -108
  105. data/lib/relaton_bib/hash_converter.rb +0 -568
  106. data/lib/relaton_bib/hit.rb +0 -52
  107. data/lib/relaton_bib/hit_collection.rb +0 -105
  108. data/lib/relaton_bib/ics.rb +0 -42
  109. data/lib/relaton_bib/image.rb +0 -95
  110. data/lib/relaton_bib/localized_string.rb +0 -149
  111. data/lib/relaton_bib/medium.rb +0 -76
  112. data/lib/relaton_bib/organization.rb +0 -165
  113. data/lib/relaton_bib/person.rb +0 -129
  114. data/lib/relaton_bib/place.rb +0 -203
  115. data/lib/relaton_bib/renderer/bibtex_builder.rb +0 -312
  116. data/lib/relaton_bib/renderer/bibxml.rb +0 -296
  117. data/lib/relaton_bib/series.rb +0 -119
  118. data/lib/relaton_bib/structured_identifier.rb +0 -173
  119. data/lib/relaton_bib/technical_committee.rb +0 -34
  120. data/lib/relaton_bib/typed_title_string.rb +0 -191
  121. data/lib/relaton_bib/typed_uri.rb +0 -57
  122. data/lib/relaton_bib/util.rb +0 -16
  123. data/lib/relaton_bib/validity.rb +0 -52
  124. data/lib/relaton_bib/version.rb +0 -3
  125. data/lib/relaton_bib/workers_pool.rb +0 -43
  126. data/lib/relaton_bib/workgroup.rb +0 -58
  127. data/lib/relaton_bib/xml_parser.rb +0 -718
  128. data/lib/relaton_bib.rb +0 -111
data/grammars/biblio.rng CHANGED
@@ -1,67 +1,87 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- instantiations of this grammar may replace leaf strings
4
- with more elaborated types; e.g. title (text) replaced with
5
- title-main, title-intro, title-part; type replaced with
6
- enum.
7
-
8
- some renaming at leaf nodes is permissible
9
-
10
- obligations can change both from optional to mandatory,
11
- and from mandatory to optional; optional elements may
12
- be omitted; freely positioned alternatives may be replaced
13
- with strict ordering
14
-
15
- DO NOT introduce a namespace here. We do not want a distinct namespace
16
- for these elements, and a distinct namespace for any grammar inheriting
17
- these elements; we just want one namespace for any child grammars
18
- of this.
19
- -->
20
2
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <!--
4
+ ALERT: we cannot have comments on root element, as they intervene with https://github.com/metanorma/metanorma/issues/437 fix
5
+
6
+ Instantiations of this grammar may replace leaf strings
7
+ with more elaborated types; e.g. title (text) replaced with
8
+ title-main, title-intro, title-part; type replaced with
9
+ enum.
10
+
11
+ Some renaming at leaf nodes is permissible
12
+
13
+ Obligations can change both from optional to mandatory,
14
+ and from mandatory to optional; optional elements may
15
+ be omitted; freely positioned alternatives may be replaced
16
+ with strict ordering
17
+
18
+ DO NOT introduce a namespace here. We do not want a distinct namespace
19
+ for these elements, and a distinct namespace for any grammar inheriting
20
+ these elements; we just want one namespace for any child grammars
21
+ of this.
22
+ -->
21
23
  <!--
22
24
  https://www.myintervals.com/blog/2009/05/20/iso-8601-date-validation-that-doesnt-suck/
23
25
  iso8601date = xsd:string { pattern = "([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([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])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?" }
24
26
  Somewhat dumbed down for XSD regex:
25
27
  -->
26
28
  <define name="ISO8601DateTime">
29
+ <a:documentation>Date/Time conforming with ISO 8601</a:documentation>
27
30
  <data type="string">
28
31
  <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])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([\.,]\d+)?)?((:?)[0-5]\d([.,]\d+)?)?([zZ]|([\+\-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?</param>
29
32
  </data>
30
33
  </define>
31
34
  <define name="ISO8601Date">
35
+ <a:documentation>Date conforming with ISO 8601</a:documentation>
32
36
  <data type="string">
33
37
  <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
38
  </data>
35
39
  </define>
36
- <!-- start = bibitem -->
37
40
  <define name="BibData">
38
41
  <ref name="BibliographicItem"/>
39
42
  </define>
40
43
  <define name="status">
44
+ <a:documentation>The publication or preparation status of a document</a:documentation>
41
45
  <element name="status">
42
- <ref name="stage"/>
46
+ <ref name="stage">
47
+ <a:documentation>The stage of the document status, e.g. "Published", "Unpublished", "Committee Draft", "Preprint"</a:documentation>
48
+ </ref>
43
49
  <optional>
44
- <ref name="substage"/>
50
+ <ref name="substage">
51
+ <a:documentation>The substage of the document status. These are used particularly in Standards Defining Organizations</a:documentation>
52
+ </ref>
45
53
  </optional>
46
54
  <optional>
47
- <ref name="iteration"/>
55
+ <ref name="iteration">
56
+ <a:documentation>The iteration of the given status that the document is currently in (e.g. "3" for a third draft)</a:documentation>
57
+ </ref>
48
58
  </optional>
49
59
  </element>
50
60
  </define>
51
61
  <define name="stage">
62
+ <a:documentation>The stage of the document status, e.g. "Published", "Unpublished", "Committee Draft", "Preprint"</a:documentation>
52
63
  <element name="stage">
53
64
  <optional>
54
- <attribute name="abbreviation"/>
65
+ <attribute name="abbreviation">
66
+ <a:documentation>A canonical abbreviation of the document stage</a:documentation>
67
+ </attribute>
55
68
  </optional>
56
- <text/>
69
+ <text>
70
+ <a:documentation>The name of the document stage</a:documentation>
71
+ </text>
57
72
  </element>
58
73
  </define>
59
74
  <define name="substage">
75
+ <a:documentation>The substage of the document status. These are used particularly in Standards Defining Organizations</a:documentation>
60
76
  <element name="substage">
61
77
  <optional>
62
- <attribute name="abbreviation"/>
78
+ <attribute name="abbreviation">
79
+ <a:documentation>A canonical abbreviation of the document substage</a:documentation>
80
+ </attribute>
63
81
  </optional>
64
- <text/>
82
+ <text>
83
+ <a:documentation>The name of the documen substage</a:documentation>
84
+ </text>
65
85
  </element>
66
86
  </define>
67
87
  <define name="iteration">
@@ -71,87 +91,84 @@
71
91
  </define>
72
92
  <define name="language">
73
93
  <element name="language">
74
- <text/>
94
+ <ref name="LanguageType"/>
75
95
  </element>
76
96
  </define>
77
97
  <define name="locale">
78
- <a:documentation>ISO-639</a:documentation>
79
98
  <element name="locale">
80
- <text/>
99
+ <ref name="LocaleType"/>
81
100
  </element>
82
101
  </define>
83
102
  <define name="script">
84
- <a:documentation>ISO-3166</a:documentation>
85
103
  <element name="script">
86
- <text/>
104
+ <ref name="ScriptType"/>
87
105
  </element>
88
106
  </define>
89
107
  <define name="edition">
90
- <a:documentation>ISO-15924: Latn</a:documentation>
108
+ <a:documentation>Edition of a bibliographic item</a:documentation>
91
109
  <element name="edition">
92
110
  <optional>
93
- <attribute name="number"/>
111
+ <attribute name="number">
112
+ <a:documentation>Number of edition.
113
+ NOTE: The number attribute can be used to represent the numeric equivalent of the edition string</a:documentation>
114
+ </attribute>
94
115
  </optional>
95
- <text/>
116
+ <text>
117
+ <a:documentation>Formatted, human-readable edition string</a:documentation>
118
+ </text>
96
119
  </element>
97
120
  </define>
98
- <define name="LocalizedString1">
121
+ <define name="LocalizedStringAttributes">
122
+ <a:documentation>multiple values are comma-delimited</a:documentation>
99
123
  <optional>
100
- <!-- multiple languages and scripts possible: comma delimit them if so -->
101
- <attribute name="language"/>
124
+ <attribute name="language">
125
+ <ref name="LanguageType"/>
126
+ </attribute>
102
127
  </optional>
103
128
  <optional>
104
- <attribute name="locale"/>
129
+ <attribute name="locale">
130
+ <ref name="LocaleType"/>
131
+ </attribute>
105
132
  </optional>
106
133
  <optional>
107
- <attribute name="script"/>
134
+ <attribute name="script">
135
+ <ref name="ScriptType"/>
136
+ </attribute>
108
137
  </optional>
109
- <text/>
110
138
  </define>
111
139
  <define name="LocalizedString">
112
- <choice>
113
- <ref name="LocalizedString1"/>
114
- <oneOrMore>
115
- <element name="variant">
116
- <ref name="LocalizedString1"/>
117
- </element>
118
- </oneOrMore>
119
- </choice>
140
+ <ref name="LocalizedStringAttributes"/>
141
+ <text/>
142
+ </define>
143
+ <!--
144
+ LocalizedString =
145
+ LocalizedStringAttributes,
146
+ text
147
+
148
+ LocalizedString =
149
+ LocalizedString1 |
150
+ element variant { LocalizedString1 }+
151
+ -->
152
+ <define name="LocalizedMarkedUpString">
153
+ <ref name="LocalizedStringAttributes"/>
154
+ <oneOrMore>
155
+ <ref name="PureTextElement"/>
156
+ </oneOrMore>
120
157
  </define>
158
+ <!--
159
+ LocalizedMarkedUpString =
160
+ LocalizedMarkedUpString1 |
161
+ Variants of the string, with the same content, but in different language, script, or format
162
+ element variant { LocalizedMarkedUpString1 }+
163
+ -->
121
164
  <!--
122
165
  Unlike UML, change type to format: type is overloaded
123
166
  Would be need if plain were default value and could omit the attribute
124
167
  Added LocalizedStringOrXsAny
125
168
  -->
126
- <define name="FormattedString">
127
- <optional>
128
- <!-- attribute format { ( "plain" | "html" | "docbook" | "tei" | "asciidoc" | "markdown" ) }?, -->
129
- <attribute name="format">
130
- <choice>
131
- <value>text/plain</value>
132
- <value>text/html</value>
133
- <value>application/docbook+xml</value>
134
- <value>application/tei+xml</value>
135
- <value>text/x-asciidoc</value>
136
- <value>text/markdown</value>
137
- <value>application/x-metanorma+xml</value>
138
- <text/>
139
- </choice>
140
- </attribute>
141
- </optional>
142
- <ref name="LocalizedStringOrXsAny"/>
143
- </define>
144
- <define name="LocalizedStringOrXsAny1">
145
- <optional>
146
- <!-- multiple languages and scripts possible: comma delimit them if so -->
147
- <attribute name="language"/>
148
- </optional>
149
- <optional>
150
- <attribute name="locale"/>
151
- </optional>
152
- <optional>
153
- <attribute name="script"/>
154
- </optional>
169
+ <!-- LocalizedStringOrXsAny1 = -->
170
+ <define name="LocalizedStringOrXsAny">
171
+ <ref name="LocalizedStringAttributes"/>
155
172
  <oneOrMore>
156
173
  <choice>
157
174
  <text/>
@@ -159,27 +176,43 @@
159
176
  </choice>
160
177
  </oneOrMore>
161
178
  </define>
162
- <define name="LocalizedStringOrXsAny">
163
- <choice>
164
- <ref name="LocalizedStringOrXsAny1"/>
165
- <oneOrMore>
166
- <element name="variant">
167
- <ref name="LocalizedStringOrXsAny1"/>
168
- </element>
169
- </oneOrMore>
170
- </choice>
171
- </define>
179
+ <!--
180
+ LocalizedStringOrXsAny =
181
+ LocalizedStringOrXsAny1 |
182
+ element variant { LocalizedStringOrXsAny1 }+
183
+ -->
172
184
  <define name="contributor">
185
+ <a:documentation>String which is formatted according to conventions specified in a named MIME type </a:documentation>
186
+ <!-- FormattedString = -->
187
+ <a:documentation>MIME type for string (defailts to text/plain).
188
+ NOTE: `docbook`, `AsciiDoc`, `Metanorma` are not registered IANA Media Types</a:documentation>
189
+ <!--
190
+ attribute format {
191
+ "text/plain" | "text/html" | "application/docbook+xml" |
192
+ "application/tei+xml" | "text/x-asciidoc" | "text/markdown" | "application/x-metanorma+xml" | text
193
+ }?,
194
+ -->
195
+ <a:documentation>String</a:documentation>
196
+ <!-- LocalizedStringOrXsAny -->
197
+ <a:documentation>Description of a contributor to the production of the bibliographic item</a:documentation>
173
198
  <element name="contributor">
174
199
  <oneOrMore>
175
- <ref name="role"/>
200
+ <ref name="role">
201
+ <a:documentation>A description of the role of the contributor in the production of the bibliographic item</a:documentation>
202
+ </ref>
176
203
  </oneOrMore>
177
- <ref name="ContributorInfo"/>
204
+ <ref name="ContributorInfo">
205
+ <a:documentation>The contributor involved in the production of the bibliographic item.
206
+ May be either a person or an organization</a:documentation>
207
+ </ref>
178
208
  </element>
179
209
  </define>
180
210
  <define name="role">
211
+ <a:documentation>A description of the role of the contributor in the production of a bibliographic item</a:documentation>
181
212
  <element name="role">
182
213
  <attribute name="type">
214
+ <a:documentation>The broad class of role of the contributor. Mandatory in order to enforce orderly management of contributors.
215
+ Detailed in https://www.relaton.org/model/creator/</a:documentation>
183
216
  <choice>
184
217
  <value>author</value>
185
218
  <value>performer</value>
@@ -196,7 +229,9 @@
196
229
  </choice>
197
230
  </attribute>
198
231
  <zeroOrMore>
199
- <ref name="roledescription"/>
232
+ <ref name="roledescription">
233
+ <a:documentation>A more detailed description of the role of the contributor</a:documentation>
234
+ </ref>
200
235
  </zeroOrMore>
201
236
  </element>
202
237
  </define>
@@ -207,30 +242,44 @@
207
242
  </choice>
208
243
  </define>
209
244
  <define name="roledescription">
245
+ <a:documentation>A more detailed description of the role of the contributor
246
+ Some descriptions are reserved words; in particular, the editorial committee of a standard has the role description "committee"</a:documentation>
210
247
  <element name="description">
211
- <ref name="FormattedString"/>
248
+ <ref name="LocalizedMarkedUpString"/>
212
249
  </element>
213
250
  </define>
214
251
  <define name="person">
252
+ <a:documentation>Person associated with a bibliographic item</a:documentation>
215
253
  <element name="person">
216
254
  <optional>
217
- <ref name="fullname"/>
255
+ <ref name="fullname">
256
+ <a:documentation>The name of the person</a:documentation>
257
+ </ref>
218
258
  </optional>
219
259
  <zeroOrMore>
220
- <ref name="credential"/>
221
- </zeroOrMore>
222
- <zeroOrMore>
223
- <ref name="affiliation"/>
260
+ <ref name="credential">
261
+ <a:documentation>Credentials given for the person postnominally, e.g. "PhD"</a:documentation>
262
+ </ref>
224
263
  </zeroOrMore>
225
264
  <zeroOrMore>
226
- <ref name="person-identifier"/>
265
+ <ref name="affiliation">
266
+ <a:documentation>The affiliation of the person within an organization</a:documentation>
267
+ </ref>
227
268
  </zeroOrMore>
228
269
  <zeroOrMore>
229
- <ref name="contact"/>
270
+ <ref name="person-identifier">
271
+ <a:documentation>An identifier of the person according to an international identifier scheme</a:documentation>
272
+ </ref>
230
273
  </zeroOrMore>
274
+ <optional>
275
+ <ref name="contact">
276
+ <a:documentation>Contact information for the person, including URI, address, phone number, and email</a:documentation>
277
+ </ref>
278
+ </optional>
231
279
  </element>
232
280
  </define>
233
281
  <define name="fullname">
282
+ <a:documentation>The name of a person</a:documentation>
234
283
  <element name="name">
235
284
  <ref name="FullNameType"/>
236
285
  </element>
@@ -242,31 +291,56 @@
242
291
  </define>
243
292
  <define name="FullNameType">
244
293
  <optional>
245
- <ref name="name_abbreviation"/>
294
+ <ref name="name_abbreviation">
295
+ <a:documentation>The initials of the person, used as an abbreviation for the person, and including the
296
+ surname. Can be used instead of the complete name. Distinct from formatted-initials,
297
+ which are the initials only of the forenames of the person</a:documentation>
298
+ </ref>
246
299
  </optional>
247
- <choice>
248
- <group>
249
- <zeroOrMore>
250
- <ref name="prefix"/>
251
- </zeroOrMore>
252
- <zeroOrMore>
253
- <ref name="forename"/>
254
- </zeroOrMore>
255
- <optional>
256
- <ref name="formatted-initials"/>
257
- </optional>
258
- <ref name="surname"/>
259
- <zeroOrMore>
260
- <ref name="addition"/>
261
- </zeroOrMore>
262
- </group>
263
- <ref name="completeName"/>
264
- </choice>
300
+ <group>
301
+ <zeroOrMore>
302
+ <ref name="prefix">
303
+ <a:documentation>A prefixed addition to the name of the person, such as "Dr"</a:documentation>
304
+ </ref>
305
+ </zeroOrMore>
306
+ <zeroOrMore>
307
+ <ref name="forename">
308
+ <a:documentation>A forename or given name of the person. Includes middle names</a:documentation>
309
+ </ref>
310
+ </zeroOrMore>
311
+ <optional>
312
+ <ref name="formatted-initials">
313
+ <a:documentation>The initials of the person, as a formatted string, including punctuation, dropping
314
+ punctuation as desired, and including hyphens where necessary. For example,
315
+ the initial set for Jean-Paul would be J, P; the formatted initials would be "J.-P."
316
+ or "J-P.". Can be used instead of forenames</a:documentation>
317
+ </ref>
318
+ </optional>
319
+ <optional>
320
+ <ref name="surname">
321
+ <a:documentation>The surname, family name, or equivalent of the person</a:documentation>
322
+ </ref>
323
+ </optional>
324
+ <zeroOrMore>
325
+ <ref name="addition">
326
+ <a:documentation>A suffixed addition to the name of the person, such as "Jr"</a:documentation>
327
+ </ref>
328
+ </zeroOrMore>
329
+ <optional>
330
+ <ref name="completeName">
331
+ <a:documentation>A preformatted version of the name of the person, not broken down into its component parts</a:documentation>
332
+ </ref>
333
+ </optional>
334
+ </group>
265
335
  <zeroOrMore>
266
- <ref name="biblionote"/>
336
+ <ref name="biblionote">
337
+ <a:documentation>An additional note about the name of the person</a:documentation>
338
+ </ref>
267
339
  </zeroOrMore>
268
340
  <zeroOrMore>
269
- <ref name="variantname"/>
341
+ <ref name="variantname">
342
+ <a:documentation>A variant name of the person</a:documentation>
343
+ </ref>
270
344
  </zeroOrMore>
271
345
  </define>
272
346
  <define name="name_abbreviation">
@@ -295,11 +369,19 @@
295
369
  </element>
296
370
  </define>
297
371
  <define name="forename">
372
+ <a:documentation>A forename of a person</a:documentation>
298
373
  <element name="forename">
299
374
  <optional>
300
- <attribute name="initial"/>
375
+ <attribute name="initial">
376
+ <a:documentation>An individual initial of the person, corresponding to the given forename.
377
+ Does not include final punctuation, but can include hyphens.
378
+ Can be used instead of forenames, if formatted-initials are not provided
379
+ (in which case each initial will be punctuated following local practice).</a:documentation>
380
+ </attribute>
301
381
  </optional>
302
- <ref name="LocalizedString"/>
382
+ <ref name="LocalizedString">
383
+ <a:documentation>A forename or given name of the person. Includes middle names</a:documentation>
384
+ </ref>
303
385
  </element>
304
386
  </define>
305
387
  <define name="completeName">
@@ -308,21 +390,34 @@
308
390
  </element>
309
391
  </define>
310
392
  <define name="variantname">
393
+ <a:documentation>A variant name of a person</a:documentation>
311
394
  <element name="variant">
312
- <attribute name="type"/>
313
- <ref name="FullNameType"/>
395
+ <attribute name="type">
396
+ <a:documentation>The type of variant name for the person. Examples include pseudonyms; user names (online);
397
+ real names (if the person is named with a pseudonym or user name); previous legal names</a:documentation>
398
+ </attribute>
399
+ <ref name="FullNameType">
400
+ <a:documentation>The variant name itself</a:documentation>
401
+ </ref>
314
402
  </element>
315
403
  </define>
316
404
  <define name="affiliation">
405
+ <a:documentation>The affiliation of a person with an organization</a:documentation>
317
406
  <element name="affiliation">
318
407
  <optional>
319
- <ref name="affiliationname"/>
408
+ <ref name="affiliationname">
409
+ <a:documentation>The name of the affiliation of the person with the organization; typically a position title</a:documentation>
410
+ </ref>
320
411
  </optional>
321
412
  <zeroOrMore>
322
- <ref name="affiliationdescription"/>
413
+ <ref name="affiliationdescription">
414
+ <a:documentation>A more detailed description of the affiliation of the person</a:documentation>
415
+ </ref>
323
416
  </zeroOrMore>
324
417
  <optional>
325
- <ref name="organization"/>
418
+ <ref name="organization">
419
+ <a:documentation>The organization with which the person is affiliated</a:documentation>
420
+ </ref>
326
421
  </optional>
327
422
  </element>
328
423
  </define>
@@ -333,140 +428,206 @@
333
428
  </define>
334
429
  <define name="affiliationdescription">
335
430
  <element name="description">
336
- <ref name="FormattedString"/>
431
+ <ref name="LocalizedMarkedUpString"/>
337
432
  </element>
338
433
  </define>
339
434
  <define name="organization">
435
+ <a:documentation>Organization associated with a bibliographic item</a:documentation>
340
436
  <element name="organization">
341
- <oneOrMore>
342
- <ref name="orgname"/>
343
- </oneOrMore>
344
- <zeroOrMore>
345
- <ref name="subdivision"/>
346
- </zeroOrMore>
347
- <optional>
348
- <ref name="abbreviation"/>
349
- </optional>
350
- <zeroOrMore>
351
- <ref name="uri"/>
352
- </zeroOrMore>
353
- <zeroOrMore>
354
- <ref name="org-identifier"/>
355
- </zeroOrMore>
356
- <zeroOrMore>
357
- <ref name="contact"/>
358
- </zeroOrMore>
359
- <optional>
360
- <ref name="logo"/>
361
- </optional>
437
+ <ref name="OrganizationType"/>
362
438
  </element>
363
439
  </define>
440
+ <define name="OrganizationType">
441
+ <oneOrMore>
442
+ <ref name="orgname">
443
+ <a:documentation>The name of the organization</a:documentation>
444
+ </ref>
445
+ </oneOrMore>
446
+ <zeroOrMore>
447
+ <ref name="subdivision">
448
+ <a:documentation>The subdivision of the organization directly involved with the production of the bibliographic item.
449
+ Multiple subdivisions can be specified for an organization, with no implication of hierarchical
450
+ relation between them
451
+ Editorial and advisory groups are represented as consecutive subdivisions of the SDO</a:documentation>
452
+ </ref>
453
+ </zeroOrMore>
454
+ <optional>
455
+ <ref name="abbreviation">
456
+ <a:documentation>Abbreviation under which the organization is known</a:documentation>
457
+ </ref>
458
+ </optional>
459
+ <zeroOrMore>
460
+ <ref name="org-identifier">
461
+ <a:documentation>An identifier of the organization according to an international identifier scheme</a:documentation>
462
+ </ref>
463
+ </zeroOrMore>
464
+ <optional>
465
+ <ref name="contact">
466
+ <a:documentation>Contact information for the organization, including address, phone number, and email</a:documentation>
467
+ </ref>
468
+ </optional>
469
+ <zeroOrMore>
470
+ <ref name="logo">
471
+ <a:documentation>A logo for the organization</a:documentation>
472
+ </ref>
473
+ </zeroOrMore>
474
+ </define>
364
475
  <define name="orgname">
365
476
  <element name="name">
366
- <choice>
367
- <ref name="LocalizedString"/>
368
- <ref name="NameWithVariants"/>
369
- </choice>
477
+ <optional>
478
+ <attribute name="type">
479
+ <a:documentation>Type of organisation name, to differentiate variant names</a:documentation>
480
+ </attribute>
481
+ </optional>
482
+ <ref name="LocalizedString"/>
370
483
  </element>
371
484
  </define>
372
485
  <define name="subdivision">
486
+ <a:documentation>Subdivision of organization associated with a bibliographic item</a:documentation>
373
487
  <element name="subdivision">
374
- <choice>
375
- <ref name="LocalizedString"/>
376
- <ref name="NameWithVariants"/>
377
- </choice>
488
+ <optional>
489
+ <attribute name="type">
490
+ <a:documentation>The type of subdivision</a:documentation>
491
+ </attribute>
492
+ </optional>
493
+ <optional>
494
+ <attribute name="subtype">
495
+ <a:documentation>The subtype of subdivision; e.g. different types of technical committee</a:documentation>
496
+ </attribute>
497
+ </optional>
498
+ <ref name="OrganizationType">
499
+ <a:documentation>The subdivision, modelled recursively as an organization</a:documentation>
500
+ </ref>
378
501
  </element>
379
502
  </define>
380
503
  <define name="logo">
381
504
  <element name="logo">
382
- <ref name="image"/>
505
+ <optional>
506
+ <attribute name="type">
507
+ <a:documentation>The type of logo</a:documentation>
508
+ </attribute>
509
+ </optional>
510
+ <ref name="image-no-id"/>
383
511
  </element>
384
512
  </define>
385
513
  <define name="depiction">
514
+ <a:documentation>Depiction of the bibliographic item</a:documentation>
386
515
  <element name="depiction">
387
516
  <optional>
388
- <attribute name="scope"/>
517
+ <attribute name="scope">
518
+ <a:documentation>Description of what is being depicted</a:documentation>
519
+ </attribute>
520
+ </optional>
521
+ <optional>
522
+ <attribute name="type">
523
+ <a:documentation>Description of what kind of depiction this</a:documentation>
524
+ </attribute>
389
525
  </optional>
390
526
  <zeroOrMore>
391
- <ref name="image"/>
527
+ <ref name="image-no-id">
528
+ <a:documentation>A visual depiction of the bibliographic item</a:documentation>
529
+ </ref>
392
530
  </zeroOrMore>
393
531
  </element>
394
532
  </define>
395
- <define name="NameWithVariants">
396
- <element name="primary">
397
- <ref name="LocalizedString"/>
398
- </element>
399
- <zeroOrMore>
400
- <element name="variant">
401
- <ref name="NameWithVariants1"/>
402
- </element>
403
- </zeroOrMore>
404
- </define>
405
- <define name="NameWithVariants1">
406
- <attribute name="type"/>
407
- <element name="primary">
408
- <ref name="LocalizedString"/>
409
- </element>
410
- <zeroOrMore>
411
- <element name="variant">
412
- <ref name="NameWithVariants1"/>
413
- </element>
414
- </zeroOrMore>
415
- </define>
533
+ <!--
534
+ NameWithVariants =
535
+ element primary { LocalizedString },
536
+ element variant { NameWithVariants1 }*
537
+
538
+ NameWithVariants1 =
539
+ attribute type { text },
540
+ element primary { LocalizedString },
541
+ element variant { NameWithVariants1 }*
542
+ -->
416
543
  <define name="abbreviation">
417
544
  <element name="abbreviation">
418
545
  <ref name="LocalizedString"/>
419
546
  </element>
420
547
  </define>
421
548
  <define name="uri">
549
+ <a:documentation>URI associated with a type</a:documentation>
422
550
  <element name="uri">
423
551
  <optional>
424
- <attribute name="type"/>
552
+ <attribute name="type">
553
+ <a:documentation>The types of URI are open-ended, but include the IANA link relations specified in RFC 8288</a:documentation>
554
+ </attribute>
425
555
  </optional>
426
- <data type="anyURI"/>
556
+ <ref name="LocalizedStringAttributes"/>
557
+ <data type="anyURI">
558
+ <a:documentation>URI content</a:documentation>
559
+ </data>
427
560
  </element>
428
561
  </define>
429
562
  <!-- TODO may change -->
430
563
  <define name="contact">
431
- <choice>
564
+ <a:documentation>Contact information for a person or organization</a:documentation>
565
+ <zeroOrMore>
432
566
  <ref name="address"/>
567
+ </zeroOrMore>
568
+ <zeroOrMore>
433
569
  <ref name="phone"/>
570
+ </zeroOrMore>
571
+ <zeroOrMore>
434
572
  <ref name="email"/>
573
+ </zeroOrMore>
574
+ <zeroOrMore>
435
575
  <ref name="uri"/>
436
- </choice>
576
+ </zeroOrMore>
437
577
  </define>
438
578
  <define name="phone">
579
+ <a:documentation>The phone number associated with a person or organization</a:documentation>
439
580
  <element name="phone">
440
581
  <optional>
441
- <attribute name="type"/>
582
+ <attribute name="type">
583
+ <a:documentation>The type of phone number; can include "Fax" and "Mobile"</a:documentation>
584
+ </attribute>
442
585
  </optional>
443
- <text/>
586
+ <text>
587
+ <a:documentation>The phone number itself</a:documentation>
588
+ </text>
444
589
  </element>
445
590
  </define>
446
591
  <define name="email">
592
+ <a:documentation>Email address</a:documentation>
447
593
  <element name="email">
448
594
  <text/>
449
595
  </element>
450
596
  </define>
451
597
  <define name="address">
598
+ <a:documentation>An address for a person or organization</a:documentation>
452
599
  <element name="address">
453
- <choice>
600
+ <zeroOrMore>
454
601
  <!-- iso191606 TODO -->
455
- <group>
456
- <zeroOrMore>
457
- <ref name="street"/>
458
- </zeroOrMore>
459
- <ref name="city"/>
460
- <optional>
461
- <ref name="state"/>
462
- </optional>
463
- <ref name="country"/>
464
- <optional>
465
- <ref name="postcode"/>
466
- </optional>
467
- </group>
468
- <ref name="formattedAddress"/>
469
- </choice>
602
+ <ref name="street">
603
+ <a:documentation>The street and street number or equivalent in the address, as one or more lines of text</a:documentation>
604
+ </ref>
605
+ </zeroOrMore>
606
+ <optional>
607
+ <ref name="city">
608
+ <a:documentation>The settlement or municipality in the address</a:documentation>
609
+ </ref>
610
+ </optional>
611
+ <optional>
612
+ <ref name="state">
613
+ <a:documentation>The region of the country in the address</a:documentation>
614
+ </ref>
615
+ </optional>
616
+ <optional>
617
+ <ref name="country">
618
+ <a:documentation>The country in the address</a:documentation>
619
+ </ref>
620
+ </optional>
621
+ <optional>
622
+ <ref name="postcode">
623
+ <a:documentation>The postal code or equivalent in the address</a:documentation>
624
+ </ref>
625
+ </optional>
626
+ <optional>
627
+ <ref name="formattedAddress">
628
+ <a:documentation>Preformatted version of the address, not decomposed into its component parts</a:documentation>
629
+ </ref>
630
+ </optional>
470
631
  </element>
471
632
  </define>
472
633
  <define name="street">
@@ -496,48 +657,77 @@
496
657
  </define>
497
658
  <define name="formattedAddress">
498
659
  <element name="formattedAddress">
499
- <text/>
660
+ <oneOrMore>
661
+ <choice>
662
+ <text/>
663
+ <ref name="br"/>
664
+ </choice>
665
+ </oneOrMore>
500
666
  </element>
501
667
  </define>
502
668
  <define name="person-identifier">
669
+ <a:documentation>An identifier of a person according to an international identifier scheme</a:documentation>
503
670
  <element name="identifier">
504
671
  <attribute name="type">
505
- <choice>
506
- <value>isni</value>
507
- <value>orcid</value>
508
- <value>uri</value>
509
- </choice>
672
+ <a:documentation>The international identifier scheme for the identifier of the person.
673
+ Examples include "isni", "orcid", "uri"</a:documentation>
510
674
  </attribute>
511
- <text/>
675
+ <text>
676
+ <a:documentation>The identifier value</a:documentation>
677
+ </text>
512
678
  </element>
513
679
  </define>
514
680
  <define name="org-identifier">
681
+ <a:documentation>An identifier of an organization according to an international identifier scheme</a:documentation>
515
682
  <element name="identifier">
516
- <attribute name="type">
517
- <data type="string" datatypeLibrary=""/>
518
- </attribute>
519
- <text/>
683
+ <optional>
684
+ <attribute name="type">
685
+ <a:documentation>The international identifier scheme for the identifier of the organization.
686
+ Examples include GRID, LEI, CrossRef, and Ringgold</a:documentation>
687
+ </attribute>
688
+ </optional>
689
+ <text>
690
+ <a:documentation>The identifier value</a:documentation>
691
+ </text>
520
692
  </element>
521
693
  </define>
522
694
  <define name="citation">
695
+ <a:documentation>Representation of a citation of a bibliographic item, typically within a document</a:documentation>
523
696
  <element name="citation">
524
697
  <ref name="CitationType"/>
525
698
  </element>
526
699
  </define>
527
700
  <define name="CitationType">
528
701
  <attribute name="bibitemid">
529
- <data type="IDREF"/>
702
+ <a:documentation>Bibliographic item that the citation applies to, referenced as the anchor of a bibliographic description</a:documentation>
703
+ <ref name="IdRefType"/>
530
704
  </attribute>
531
705
  <choice>
532
706
  <zeroOrMore>
533
- <ref name="locality"/>
707
+ <ref name="locality">
708
+ <a:documentation>Describes the location of the cited information resource within the subject of the bibliographic item.
709
+ Multiple ``bibLocality``s are interpreted as discontinuous references.</a:documentation>
710
+ </ref>
534
711
  </zeroOrMore>
535
712
  <zeroOrMore>
536
- <ref name="localityStack"/>
713
+ <ref name="localityStack">
714
+ <a:documentation>Describes the location of the cited information resource within the subject of the bibliographic item in a multi-level manner.
715
+ For example, the hierarchical specification "Part IV, Chapter 3, Paragraphs 22-24"
716
+ is represented as a single `bibLocalityStack`, composed of those three localities
717
+ (as opposed to three `bibLocality` references, which would be treated as three discontinuous references).
718
+ Multiple ``bibLocalityStack``s are themselves interpreted as discontinuous references</a:documentation>
719
+ </ref>
537
720
  </zeroOrMore>
538
721
  </choice>
539
722
  <optional>
540
- <ref name="date"/>
723
+ <ref name="date">
724
+ <a:documentation>Date of the citation, typically date of publication.
725
+ A combination of the date time elements year, month and day should be specified.
726
+ Specification of month and day are optional.
727
+ This date is not intended for disambiguation, since `bibitemid`
728
+ already identifies the source unambiguously; it is added for ease of processing, in case author-date
729
+ citations cannot straightforwardly extract the date from the bibliographic source</a:documentation>
730
+ </ref>
541
731
  </optional>
542
732
  </define>
543
733
  <define name="date">
@@ -546,14 +736,20 @@
546
736
  </element>
547
737
  </define>
548
738
  <define name="locality">
739
+ <a:documentation>The extent or location of a bibliographic item being referred to.
740
+ A sequence of locality elements is meant to indicate hierarchical ordering, from greater to smaller.
741
+ e.g. Chapter, then page, then paragraph.
742
+ A discontinuous range can be represented by using two adjacent localities with the same type</a:documentation>
549
743
  <element name="locality">
550
744
  <ref name="BibItemLocality"/>
551
745
  </element>
552
746
  </define>
553
747
  <define name="localityStack">
748
+ <a:documentation>Hierarchical arrangement of bibliographic localities, to refer to a single span of text in a bibliographic item</a:documentation>
554
749
  <element name="localityStack">
555
750
  <optional>
556
751
  <attribute name="connective">
752
+ <a:documentation>Logical connective linking localities. If not supplied, "and" is understood</a:documentation>
557
753
  <choice>
558
754
  <value>and</value>
559
755
  <value>or</value>
@@ -564,16 +760,23 @@
564
760
  </attribute>
565
761
  </optional>
566
762
  <zeroOrMore>
567
- <ref name="locality"/>
763
+ <ref name="locality">
764
+ <a:documentation>Component bibliographic localities which group together to designate a single span of text.
765
+ Earlier localities are assumed to include later localities, and be of different types;
766
+ e.g. "Chapter 7, paragraph 9–11"</a:documentation>
767
+ </ref>
568
768
  </zeroOrMore>
569
769
  </element>
570
770
  </define>
571
771
  <define name="sourceLocality">
772
+ <a:documentation>The extent or location of a source bibliographic item being related to a target bibliographic item</a:documentation>
572
773
  <element name="sourceLocality">
573
774
  <ref name="BibItemLocality"/>
574
775
  </element>
575
776
  </define>
576
777
  <define name="sourceLocalityStack">
778
+ <a:documentation>Hierarchical arrangement of bibliographic localities, to refer to a single span of text in a source bibliographic item,
779
+ being related to a target bibliographic item</a:documentation>
577
780
  <element name="sourceLocalityStack">
578
781
  <optional>
579
782
  <attribute name="connective">
@@ -593,16 +796,30 @@
593
796
  </define>
594
797
  <define name="BibItemLocality">
595
798
  <attribute name="type">
799
+ <a:documentation>The type of extent of a locality (e.g. section, clause, page)</a:documentation>
596
800
  <ref name="LocalityType"/>
597
801
  </attribute>
598
802
  <optional>
599
- <ref name="referenceFrom"/>
803
+ <ref name="referenceFrom">
804
+ <a:documentation>The starting value of the extent, or point location</a:documentation>
805
+ </ref>
600
806
  </optional>
601
807
  <optional>
602
- <ref name="referenceTo"/>
808
+ <ref name="referenceTo">
809
+ <a:documentation>The end value of the extent as a range, if applicable</a:documentation>
810
+ </ref>
603
811
  </optional>
604
812
  </define>
605
813
  <define name="LocalityType">
814
+ <a:documentation>Type of indicator of a location or extent within a bibliographic item.
815
+ When the value `whole` or `title` is used, the corresponding `BibItemLocality`
816
+ attribute `identifier` should be empty
817
+ `whole` refers to the entire document.
818
+ `list` is used for ordered lists in standards documents
819
+ `time` is used for timestamps in audio and visual media
820
+ `anchor` is used for locations within web pages
821
+ `line` is a line number, dependent on printed form of document
822
+ `locality:...` is an extension point: it allows a free-form text string that is human-readable</a:documentation>
606
823
  <data type="string">
607
824
  <param name="pattern">section|clause|part|paragraph|chapter|page|title|line|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
608
825
  </data>
@@ -619,6 +836,7 @@
619
836
  </define>
620
837
  <!-- unlike UML, has id attribute; that results from including bibitem in a docmodel -->
621
838
  <define name="bibitem">
839
+ <a:documentation>Description of a bibliographic item</a:documentation>
622
840
  <element name="bibitem">
623
841
  <attribute name="id">
624
842
  <data type="ID"/>
@@ -627,162 +845,312 @@
627
845
  </element>
628
846
  </define>
629
847
  <define name="bibitem_no_id">
848
+ <a:documentation>Description of a bibliographic item: no ID attribute (for use in Relaton, metadata)</a:documentation>
630
849
  <element name="bibitem">
631
850
  <ref name="BibliographicItem"/>
632
851
  </element>
633
852
  </define>
634
853
  <define name="relaton_collection">
854
+ <a:documentation>Used to present a group of bibliographic items as a single group;
855
+ e.g. when summarising the collection of standards created by a standards body.
856
+ A collection may be used for bibliographic exchange but is typically not necesary for citation purposes</a:documentation>
635
857
  <element name="relaton-collection">
636
858
  <optional>
637
- <attribute name="type"/>
859
+ <attribute name="type">
860
+ <a:documentation>The type of grouping of bibliographic items</a:documentation>
861
+ </attribute>
638
862
  </optional>
639
- <ref name="btitle"/>
863
+ <ref name="btitle">
864
+ <a:documentation>The title given to the grouping of bibliographic items</a:documentation>
865
+ </ref>
640
866
  <zeroOrMore>
641
- <ref name="contributor"/>
867
+ <ref name="contributor">
868
+ <a:documentation>Contributors to the production of the bibliographic items as a grouping,
869
+ with corporate responsibility for all the items in the group
870
+ (e.g. as compilers of a collection or corporate authors)</a:documentation>
871
+ </ref>
642
872
  </zeroOrMore>
643
873
  <zeroOrMore>
644
- <ref name="docrelation"/>
874
+ <ref name="docrelation">
875
+ <a:documentation>The individual items which constitute the group, expressed as relations to the
876
+ document group. The `type` attribute of each relation is expected to be either `includes` or `hasPart`,
877
+ depending on whether the items exist as independent documents, or are parts of a multi-part document</a:documentation>
878
+ </ref>
645
879
  </zeroOrMore>
646
880
  </element>
647
881
  </define>
648
- <define name="BibItemType" combine="choice">
882
+ <define name="BibItemType">
883
+ <a:documentation>Type of bibliographic item.
884
+ The value list complies with the types provided in ISO 690:2021.
885
+ NOTE: These values represent a strict superset to BibTeX
886
+ publication types, and therefore any BibTeX type value can be
887
+ mapped to these values. Some values here do not have a corresponding
888
+ entry in BibTeX, for instance, "standard" and "website".</a:documentation>
649
889
  <choice>
650
890
  <value>article</value>
891
+ <a:documentation>An article from a journal or magazine</a:documentation>
651
892
  <value>book</value>
893
+ <a:documentation>A monograph</a:documentation>
652
894
  <value>booklet</value>
895
+ <a:documentation>A booklet or pamphlet. The distinction between book and booklet is not made frequently</a:documentation>
653
896
  <value>manual</value>
897
+ <a:documentation>A manual</a:documentation>
654
898
  <value>proceedings</value>
899
+ <a:documentation>A conference proceedings</a:documentation>
655
900
  <value>presentation</value>
901
+ <a:documentation>A presentation given in a formal meeting</a:documentation>
656
902
  <value>thesis</value>
903
+ <a:documentation>A dissertation given in an academic institution, as a summation of research</a:documentation>
657
904
  <value>techreport</value>
905
+ <a:documentation>A technical report</a:documentation>
658
906
  <value>standard</value>
907
+ <a:documentation>A standard, a document issued by a Standards Defining Organization</a:documentation>
659
908
  <value>unpublished</value>
909
+ <a:documentation>An intellectual creation which has not been published, e.g. a manuscript.
910
+ NOTE: Properly this does not represent a distinct bibliographic type, and it
911
+ should be avoided in favour of using the `status` element of `BibliographicItem`</a:documentation>
660
912
  <value>map</value>
913
+ <a:documentation>A map or other cartographic resource</a:documentation>
661
914
  <value>electronic resource</value>
915
+ <a:documentation>A resource avaiulable in digital form
916
+ NOTE: The overloaded type `electronicResource` should be avoided where possible, particularly if the
917
+ resource corresponds closely to a paper bibliographic type, such as `book` or `article`.
918
+ The distinction between offline and online resources should be made through `medium` (electronic vs physical).
919
+ Specialisations of `electronicResource` include `dataset`, `webResource`, `website`,
920
+ `socialMedia`, and `software`.</a:documentation>
662
921
  <value>audiovisual</value>
922
+ <a:documentation>An audiovisual resource. Is a superclass of other types such as `video` and `music`</a:documentation>
663
923
  <value>film</value>
924
+ <a:documentation>A film</a:documentation>
664
925
  <value>video</value>
926
+ <a:documentation>A video</a:documentation>
665
927
  <value>broadcast</value>
928
+ <a:documentation>A broadcast made through mass media, including radio and television</a:documentation>
666
929
  <value>software</value>
930
+ <a:documentation>Computer executable code, not itself human-readable text (though it may generate such text)</a:documentation>
667
931
  <value>graphic_work</value>
932
+ <a:documentation>A graphic work, a work with two-dimensional or three-dimensional content</a:documentation>
668
933
  <value>music</value>
934
+ <a:documentation>A musical work. Includes both notated music and music performances:
935
+ The two are differentiated through `BibliographicItem/medium/content` as "notated music" vs "performed music"</a:documentation>
669
936
  <value>patent</value>
937
+ <a:documentation>A patent</a:documentation>
670
938
  <value>inbook</value>
939
+ <a:documentation>A (typically untitled) part of a book. May be a chapter (or section, etc.) and/or a range of pages</a:documentation>
671
940
  <value>incollection</value>
941
+ <a:documentation>A part of a book having its own title, and typically having distinct authorship</a:documentation>
672
942
  <value>inproceedings</value>
943
+ <a:documentation>An article in a conference proceedings</a:documentation>
673
944
  <value>journal</value>
945
+ <a:documentation>A journal or periodical publication</a:documentation>
674
946
  <value>website</value>
947
+ <a:documentation>A collection of web resources, presented under the same URL domain and under the same (individual or corporate) authorship</a:documentation>
675
948
  <value>webresource</value>
949
+ <a:documentation>A human-readable or consumable web resource, a single item accessible online via a web browser,
950
+ which is not composed of components all of which can be accessed in the same way.
951
+ Includes media files, as well as individual web pages</a:documentation>
676
952
  <value>dataset</value>
953
+ <a:documentation>An electronic dataset, a collection of data that is not meant to be human-readable, and which is typically only machine readable</a:documentation>
677
954
  <value>archival</value>
955
+ <a:documentation>A instance of a resource curated and preserved in an archive, which mediates any access to it.
956
+ Typically it is physical, unique, and unpublished.
957
+ NOTE: The content of the resource may be published separately,
958
+ but that makes it a distinct bibliographic item, as access to it is no longer mediated through the archive</a:documentation>
678
959
  <value>social_media</value>
960
+ <a:documentation>One or more resources within a collection that is typically collectively authored by member users.
961
+ Includes blog posts, forum posts, social media posts, tweets. Is usually a `webResource`,
962
+ but not always (e.g. blogs on WeChat are only accessible within the WeChat app.)</a:documentation>
679
963
  <value>alert</value>
964
+ <a:documentation>A single communication intended for multiple persons, and publicly accessible.
965
+ May be electronic (e.g. Facebook status update) or voice (e.g. evacuation alert), but is typically not print</a:documentation>
680
966
  <value>message</value>
967
+ <a:documentation>A single communication intended for a restricted number of authorised persons (typically one).
968
+ May be electronic (e.g. Twitter direct message, email) or voice (e.g. a remark made to someone,
969
+ typically cited as "personal communication")</a:documentation>
681
970
  <value>conversation</value>
971
+ <a:documentation>An exchange of messages between two or more persons. May be electronic (e.g. web chat) or voice (e.g. phone call)</a:documentation>
972
+ <value>collection</value>
973
+ <a:documentation>A compound resource consisting of other resources, which are themselves presupposed to have their type specified..</a:documentation>
682
974
  <value>misc</value>
975
+ <a:documentation>Bibliographic type not adequately described in the foregoing</a:documentation>
683
976
  </choice>
684
977
  </define>
685
978
  <define name="BibliographicItem">
979
+ <a:documentation>Description of a bibliographic resource</a:documentation>
686
980
  <optional>
687
981
  <attribute name="type">
982
+ <a:documentation>The type of the bibliographic item</a:documentation>
688
983
  <ref name="BibItemType"/>
689
984
  </attribute>
690
985
  </optional>
691
986
  <optional>
692
- <attribute name="schema-version"/>
987
+ <attribute name="schema-version">
988
+ <a:documentation>The version of the Relaton schema that this description conforms to</a:documentation>
989
+ </attribute>
693
990
  </optional>
694
991
  <optional>
695
- <ref name="fetched"/>
992
+ <ref name="fetched">
993
+ <a:documentation>The date at which the bibliographic item was last updated</a:documentation>
994
+ </ref>
696
995
  </optional>
697
996
  <optional>
698
- <ref name="formattedref"/>
997
+ <ref name="formattedref">
998
+ <a:documentation>A pre-formatted version of the full bibliographic item reference,
999
+ rendered for human reading, and used to sidestep the rendering of the reference out of its component parts</a:documentation>
1000
+ </ref>
699
1001
  </optional>
700
1002
  <oneOrMore>
701
- <ref name="btitle"/>
1003
+ <ref name="btitle">
1004
+ <a:documentation>The title(s) of the bibliographic item</a:documentation>
1005
+ </ref>
702
1006
  </oneOrMore>
703
1007
  <zeroOrMore>
704
- <ref name="bsource"/>
1008
+ <ref name="bsource">
1009
+ <a:documentation>The URI(s) associated with the bibliographic item</a:documentation>
1010
+ </ref>
705
1011
  </zeroOrMore>
706
1012
  <oneOrMore>
707
- <ref name="docidentifier"/>
1013
+ <ref name="docidentifier">
1014
+ <a:documentation>The identifier(s) of the bibliographic item in an international standard scheme</a:documentation>
1015
+ </ref>
708
1016
  </oneOrMore>
709
1017
  <optional>
710
- <ref name="docnumber"/>
1018
+ <ref name="docnumber">
1019
+ <a:documentation>Unprefixed, preferably numeric version of an identifier of the bibliographic item, intended for sorting of bibliography</a:documentation>
1020
+ </ref>
711
1021
  </optional>
712
1022
  <zeroOrMore>
713
- <ref name="bdate"/>
1023
+ <ref name="bdate">
1024
+ <a:documentation>One or more date-times associated with the production of or access to the bibliographic item</a:documentation>
1025
+ </ref>
714
1026
  </zeroOrMore>
715
1027
  <zeroOrMore>
716
- <ref name="contributor"/>
1028
+ <ref name="contributor">
1029
+ <a:documentation>Contributors to the production of the bibliographic item</a:documentation>
1030
+ </ref>
717
1031
  </zeroOrMore>
718
1032
  <optional>
719
- <ref name="edition"/>
1033
+ <ref name="edition">
1034
+ <a:documentation>The edition of the bibliographic item</a:documentation>
1035
+ </ref>
720
1036
  </optional>
721
1037
  <zeroOrMore>
722
- <ref name="version"/>
1038
+ <ref name="version">
1039
+ <a:documentation>The version of the bibliographic item (within an edition). Can be used for drafts.
1040
+ Can be more than one, in case of multiple versioning schemes</a:documentation>
1041
+ </ref>
723
1042
  </zeroOrMore>
724
1043
  <zeroOrMore>
725
- <ref name="biblionote"/>
1044
+ <ref name="biblionote">
1045
+ <a:documentation>Note(s) associated with the bibliographic item</a:documentation>
1046
+ </ref>
726
1047
  </zeroOrMore>
727
1048
  <zeroOrMore>
728
- <ref name="language"/>
1049
+ <ref name="language">
1050
+ <a:documentation>The language(s) in which the bibliographic item is expressed</a:documentation>
1051
+ </ref>
729
1052
  </zeroOrMore>
730
1053
  <zeroOrMore>
731
- <ref name="locale"/>
1054
+ <ref name="locale">
1055
+ <a:documentation>The locale(s) in which the bibliographic item is expressed</a:documentation>
1056
+ </ref>
732
1057
  </zeroOrMore>
733
1058
  <zeroOrMore>
734
- <ref name="script"/>
1059
+ <ref name="script">
1060
+ <a:documentation>The script(s) in which the bibliographic item is written</a:documentation>
1061
+ </ref>
735
1062
  </zeroOrMore>
736
1063
  <zeroOrMore>
737
- <ref name="bibabstract"/>
1064
+ <ref name="bibabstract">
1065
+ <a:documentation>The abstract of the bibliographic item</a:documentation>
1066
+ </ref>
738
1067
  </zeroOrMore>
739
1068
  <optional>
740
- <ref name="status"/>
1069
+ <ref name="status">
1070
+ <a:documentation>The publication or preparation status of the bibliographic item</a:documentation>
1071
+ </ref>
741
1072
  </optional>
742
1073
  <zeroOrMore>
743
- <ref name="copyright"/>
1074
+ <ref name="copyright">
1075
+ <a:documentation>The copyright status of the bibliographic item</a:documentation>
1076
+ </ref>
744
1077
  </zeroOrMore>
745
1078
  <zeroOrMore>
746
- <ref name="docrelation"/>
1079
+ <ref name="docrelation">
1080
+ <a:documentation>The relation(s) of the bibliographic item to other bibliographic items</a:documentation>
1081
+ </ref>
747
1082
  </zeroOrMore>
748
1083
  <zeroOrMore>
749
- <ref name="series"/>
1084
+ <ref name="series">
1085
+ <a:documentation>The series of the bibliographic item</a:documentation>
1086
+ </ref>
750
1087
  </zeroOrMore>
751
1088
  <optional>
752
- <ref name="medium"/>
1089
+ <ref name="medium">
1090
+ <a:documentation>The medium the subject is realized on.
1091
+ Medium can be used to differentiate between "electronic" and "physical" manifestations of an information resource.</a:documentation>
1092
+ </ref>
753
1093
  </optional>
754
1094
  <zeroOrMore>
755
- <ref name="bplace"/>
1095
+ <ref name="bplace">
1096
+ <a:documentation>The geographic location associated with the production of the bibliographic item</a:documentation>
1097
+ </ref>
756
1098
  </zeroOrMore>
757
1099
  <zeroOrMore>
758
- <ref name="bprice"/>
1100
+ <ref name="bprice">
1101
+ <a:documentation>The price set on accessing the bibliographic item.
1102
+ The price should be treated as nominal, rather than capturing all possible pricings at a given time</a:documentation>
1103
+ </ref>
759
1104
  </zeroOrMore>
760
1105
  <zeroOrMore>
761
- <ref name="extent"/>
1106
+ <ref name="extent">
1107
+ <a:documentation>The extent of the bibliographic item, if reference is not being made to the entirety of the item described.
1108
+ Repeats for different levels of granularity (e.g. volume number, page number), or for discontinuous ranges
1109
+ (e.g. multiple page ranges, pages plus plates)</a:documentation>
1110
+ </ref>
762
1111
  </zeroOrMore>
763
1112
  <optional>
764
- <ref name="bibliographic_size"/>
1113
+ <ref name="bibliographic_size">
1114
+ <a:documentation>The bibliographic size of the bibliographic item, measured in the same units as extent (i.e. pages, volumes,
1115
+ megabytes, hours, rather than cm^2.) Distinct from the physical size of the bibliographic item, captured in medium/size</a:documentation>
1116
+ </ref>
765
1117
  </optional>
766
1118
  <zeroOrMore>
767
- <ref name="accesslocation"/>
1119
+ <ref name="accesslocation">
1120
+ <a:documentation>The location where the bibliographic item may be accessed.
1121
+ Used for archival resources. Also used for pathways to access digital resources, where a URI is not practical</a:documentation>
1122
+ </ref>
768
1123
  </zeroOrMore>
769
1124
  <zeroOrMore>
770
- <ref name="license"/>
1125
+ <ref name="license">
1126
+ <a:documentation>A license under which the bibliographic item has been issued.
1127
+ NOTE: This should preferably be encoded as a URI or short identifier, rather than descriptive text</a:documentation>
1128
+ </ref>
771
1129
  </zeroOrMore>
772
1130
  <zeroOrMore>
773
- <ref name="bclassification"/>
1131
+ <ref name="bclassification">
1132
+ <a:documentation>The classification of the bibliographic item according to a standard classification scheme</a:documentation>
1133
+ </ref>
774
1134
  </zeroOrMore>
775
1135
  <zeroOrMore>
776
- <ref name="bkeyword"/>
1136
+ <ref name="bkeyword">
1137
+ <a:documentation>Keyword(s) for the bibliographic item</a:documentation>
1138
+ </ref>
777
1139
  </zeroOrMore>
778
1140
  <optional>
779
- <ref name="validity"/>
780
- </optional>
781
- <optional>
782
- <ref name="depiction"/>
1141
+ <ref name="validity">
1142
+ <a:documentation>Information about how long the current description of the bibliographic item is valid for</a:documentation>
1143
+ </ref>
783
1144
  </optional>
1145
+ <zeroOrMore>
1146
+ <ref name="depiction">
1147
+ <a:documentation>Depiction of the bibliographic item, typically an image</a:documentation>
1148
+ </ref>
1149
+ </zeroOrMore>
784
1150
  </define>
785
1151
  <define name="ReducedBibliographicItem">
1152
+ <a:documentation>Reduced description of a bibliographic resource, without mandatory title and docidentifier, used for document relations
1153
+ Refer to `BibliographicItem` for definitions</a:documentation>
786
1154
  <optional>
787
1155
  <attribute name="type">
788
1156
  <ref name="BibItemType"/>
@@ -878,11 +1246,12 @@
878
1246
  <optional>
879
1247
  <ref name="validity"/>
880
1248
  </optional>
881
- <optional>
1249
+ <zeroOrMore>
882
1250
  <ref name="depiction"/>
883
- </optional>
1251
+ </zeroOrMore>
884
1252
  </define>
885
1253
  <define name="btitle">
1254
+ <a:documentation>A title of a bibliographic item, associated with a type of title</a:documentation>
886
1255
  <element name="title">
887
1256
  <ref name="TypedTitleString"/>
888
1257
  </element>
@@ -894,7 +1263,14 @@
894
1263
  </define>
895
1264
  <define name="formattedref">
896
1265
  <element name="formattedref">
897
- <ref name="FormattedString"/>
1266
+ <optional>
1267
+ <attribute name="format">
1268
+ <a:documentation>format of formatted reference; Metanorma assumes references are formatted as Metanorma XML</a:documentation>
1269
+ </attribute>
1270
+ </optional>
1271
+ <oneOrMore>
1272
+ <ref name="TextElement"/>
1273
+ </oneOrMore>
898
1274
  </element>
899
1275
  </define>
900
1276
  <define name="license">
@@ -908,15 +1284,23 @@
908
1284
  </element>
909
1285
  </define>
910
1286
  <define name="validity">
1287
+ <a:documentation>The time interval for which a bibliographic item is determined valid, and the associated revision date</a:documentation>
911
1288
  <element name="validity">
912
1289
  <optional>
913
- <ref name="validityBegins"/>
1290
+ <ref name="validityBegins">
1291
+ <a:documentation>The date and time when this bibliographic item becomes valid</a:documentation>
1292
+ </ref>
914
1293
  </optional>
915
1294
  <optional>
916
- <ref name="validityEnds"/>
1295
+ <ref name="validityEnds">
1296
+ <a:documentation>The date and time when this bibliographic item becomes invalid</a:documentation>
1297
+ </ref>
917
1298
  </optional>
918
1299
  <optional>
919
- <ref name="validityRevision"/>
1300
+ <ref name="validityRevision">
1301
+ <a:documentation>The date and time of issuance of the version of the document
1302
+ for which this claim of validity is made, if applicable</a:documentation>
1303
+ </ref>
920
1304
  </optional>
921
1305
  </element>
922
1306
  </define>
@@ -937,111 +1321,168 @@
937
1321
  </define>
938
1322
  <define name="TypedTitleString">
939
1323
  <optional>
940
- <attribute name="type"/>
1324
+ <attribute name="type">
1325
+ <a:documentation>Type of title given to a bibliographic item. Indicative values include:
1326
+ "alternative": alternate title for the item
1327
+ "original": The original title of the item. Includes the source language title of a translated item
1328
+ "unofficial": A title that has become prevalent but has never been the official or intended title of the item
1329
+ "subtitle": Subsidiary title of the item
1330
+ "main": The default title of the item, privileged in citation</a:documentation>
1331
+ </attribute>
941
1332
  </optional>
942
- <ref name="FormattedString"/>
1333
+ <optional>
1334
+ <attribute name="format">
1335
+ <a:documentation>(legacy attribute) format; can have value text/plain</a:documentation>
1336
+ </attribute>
1337
+ </optional>
1338
+ <ref name="LocalizedMarkedUpString">
1339
+ <a:documentation>Content of title</a:documentation>
1340
+ </ref>
943
1341
  </define>
944
1342
  <!-- TitleType = ( "alternative" | "original" | "unofficial" | "subtitle" | "main" ) -->
945
1343
  <define name="TypedUri">
1344
+ <a:documentation>URI with type</a:documentation>
946
1345
  <optional>
947
- <attribute name="type"/>
948
- </optional>
949
- <optional>
950
- <attribute name="language"/>
951
- </optional>
952
- <optional>
953
- <attribute name="locale"/>
954
- </optional>
955
- <optional>
956
- <attribute name="script"/>
1346
+ <attribute name="type">
1347
+ <a:documentation>Type of URI</a:documentation>
1348
+ </attribute>
957
1349
  </optional>
1350
+ <ref name="LocalizedStringAttributes"/>
958
1351
  <data type="anyURI"/>
959
1352
  </define>
960
1353
  <define name="DateType">
1354
+ <a:documentation>Type which allows date and time to be specified as either a Gregorian
1355
+ date and time, as specified in ISO 8601, as text, or as both</a:documentation>
961
1356
  <optional>
962
- <attribute name="text"/>
1357
+ <attribute name="text">
1358
+ <a:documentation>Date and time, as specified in text</a:documentation>
1359
+ </attribute>
963
1360
  </optional>
964
1361
  <optional>
965
- <ref name="ISO8601Date"/>
1362
+ <group>
1363
+ <a:documentation>Gregorian date and time, as specified in ISO 8601. Can be used
1364
+ as a canonical interpretation of the date and time given in `text`</a:documentation>
1365
+ <ref name="ISO8601Date"/>
1366
+ </group>
966
1367
  </optional>
967
1368
  </define>
968
1369
  <define name="BibliographicDateType">
1370
+ <a:documentation>Indicates type of date within a bibliographic lifecycle.
1371
+ NOTE: Typically only the `published` date is of interest</a:documentation>
969
1372
  <choice>
970
1373
  <value>published</value>
1374
+ <a:documentation>The date on which the document was published (distributed by the publisher)</a:documentation>
971
1375
  <value>accessed</value>
1376
+ <a:documentation>Date a document was last accessed by the compiler of the bibliographic record; routinely used for online publications.
1377
+ NOTE: Unlike in ISO 690:2021, no distinction is made between
1378
+ "viewed" and "accessed" based on whether the resource is human-readable or machine-readable.)</a:documentation>
972
1379
  <value>created</value>
1380
+ <a:documentation>The date on which the first version of the document was created</a:documentation>
973
1381
  <value>implemented</value>
1382
+ <a:documentation>The date on which the document takes effect. Applies to normative documents</a:documentation>
974
1383
  <value>obsoleted</value>
1384
+ <a:documentation>The date on which the document was obsoleted/</a:documentation>
975
1385
  <value>confirmed</value>
1386
+ <a:documentation>The date on which the document was reviewed and approved by the issuing authority</a:documentation>
976
1387
  <value>updated</value>
1388
+ <a:documentation>The date on which the current version of the document was updated</a:documentation>
977
1389
  <value>corrected</value>
1390
+ <a:documentation>The date on which the current version of the document was corrected, without that correction considered to amount to a full document update</a:documentation>
978
1391
  <value>issued</value>
1392
+ <a:documentation>The date on which the document was issued (authorised for publication by the issuing authority).
1393
+ Is typically differentiated from `published` for normative documents, such as standards and legislation</a:documentation>
979
1394
  <value>transmitted</value>
1395
+ <a:documentation>The date on which the document was broadcast</a:documentation>
980
1396
  <value>copied</value>
1397
+ <a:documentation>The date on which the document physically copied, or recreated without any substantial change in content (allowing for change in medium)</a:documentation>
981
1398
  <value>unchanged</value>
1399
+ <a:documentation>The date on which the document was last renewed or reprinted without any changes in content</a:documentation>
982
1400
  <value>circulated</value>
1401
+ <a:documentation>The date on which the unpublished document was last circulated officially as a preprint.
1402
+ For standards, this is associated with the latest transition to a formally defined preparation stage,
1403
+ such as Working Draft or Committee Draft</a:documentation>
983
1404
  <value>adapted</value>
1405
+ <a:documentation>The date on which a document adapted for a new purpose or audience, with some change in content (includes translation)</a:documentation>
984
1406
  <value>vote-started</value>
1407
+ <a:documentation>The date on which a formal process for approval of a document was initiated. Typically applies to standards documents in draft</a:documentation>
985
1408
  <value>vote-ended</value>
1409
+ <a:documentation>The date on which a formal process for approval of a document was closed. Typically applies to standards documents in draft</a:documentation>
986
1410
  <value>announced</value>
1411
+ <a:documentation>The date on which the existence of a document is made public.
1412
+ Applies whether the resource has already been created or not, and whether it is to be published or not</a:documentation>
987
1413
  <value>stable-until</value>
1414
+ <a:documentation>The document is guaranteed not to be changed or updated until this date</a:documentation>
988
1415
  </choice>
989
1416
  </define>
990
1417
  <define name="bdate">
1418
+ <a:documentation>Significant date in the lifecycle of the bibliographic item, including its production and its access</a:documentation>
991
1419
  <element name="date">
992
- <attribute name="type">
993
- <choice>
994
- <ref name="BibliographicDateType"/>
995
- <text/>
996
- </choice>
997
- </attribute>
998
- <optional>
999
- <attribute name="text"/>
1000
- </optional>
1420
+ <ref name="bDateAttributes"/>
1001
1421
  <optional>
1002
1422
  <choice>
1003
1423
  <group>
1004
1424
  <element name="from">
1425
+ <a:documentation>The start of the date range described</a:documentation>
1005
1426
  <ref name="ISO8601Date"/>
1006
1427
  </element>
1007
1428
  <optional>
1008
1429
  <element name="to">
1430
+ <a:documentation>The end of the date range described</a:documentation>
1009
1431
  <ref name="ISO8601Date"/>
1010
1432
  </element>
1011
1433
  </optional>
1012
1434
  </group>
1013
1435
  <element name="on">
1436
+ <a:documentation>The point date described</a:documentation>
1014
1437
  <ref name="ISO8601Date"/>
1015
1438
  </element>
1016
1439
  </choice>
1017
1440
  </optional>
1018
1441
  </element>
1019
1442
  </define>
1443
+ <define name="bDateAttributes">
1444
+ <attribute name="type">
1445
+ <a:documentation>The phase of the production of or access to a bibliographic item</a:documentation>
1446
+ <choice>
1447
+ <ref name="BibliographicDateType"/>
1448
+ <text/>
1449
+ </choice>
1450
+ </attribute>
1451
+ <optional>
1452
+ <attribute name="text">
1453
+ <a:documentation>An optional textual description of the date, especially when a Gregorian date is not applicable</a:documentation>
1454
+ </attribute>
1455
+ </optional>
1456
+ </define>
1020
1457
  <define name="docidentifier">
1458
+ <a:documentation>An identifier of a bibliographic item in an international standard scheme</a:documentation>
1021
1459
  <element name="docidentifier">
1022
- <optional>
1023
- <attribute name="type"/>
1024
- </optional>
1025
- <optional>
1026
- <attribute name="scope"/>
1027
- </optional>
1028
- <optional>
1029
- <attribute name="primary">
1030
- <data type="boolean"/>
1031
- </attribute>
1032
- </optional>
1033
- <optional>
1034
- <attribute name="language"/>
1035
- </optional>
1036
- <optional>
1037
- <attribute name="locale"/>
1038
- </optional>
1039
- <optional>
1040
- <attribute name="script"/>
1041
- </optional>
1042
- <text/>
1460
+ <ref name="DocIdentifierType"/>
1043
1461
  </element>
1044
1462
  </define>
1463
+ <define name="DocIdentifierType">
1464
+ <optional>
1465
+ <attribute name="type">
1466
+ <a:documentation>The scheme or namespace of the identifier</a:documentation>
1467
+ </attribute>
1468
+ </optional>
1469
+ <optional>
1470
+ <attribute name="scope">
1471
+ <a:documentation>The scope of the identifier, in case the identifier does not apply to the document
1472
+ but to a superset or subset of entities; or in case the identifier
1473
+ is for a particular instance of the document, e.g. for a particular format or edition of the document</a:documentation>
1474
+ </attribute>
1475
+ </optional>
1476
+ <optional>
1477
+ <attribute name="primary">
1478
+ <a:documentation>This is a primary identifier for the item, to be used in citation</a:documentation>
1479
+ <data type="boolean"/>
1480
+ </attribute>
1481
+ </optional>
1482
+ <ref name="LocalizedMarkedUpString">
1483
+ <a:documentation>The identifier string</a:documentation>
1484
+ </ref>
1485
+ </define>
1045
1486
  <define name="docnumber">
1046
1487
  <element name="docnumber">
1047
1488
  <text/>
@@ -1049,26 +1490,37 @@
1049
1490
  </define>
1050
1491
  <define name="bclassification">
1051
1492
  <element name="classification">
1052
- <optional>
1053
- <attribute name="type"/>
1054
- </optional>
1055
- <text/>
1493
+ <ref name="DocIdentifierType"/>
1056
1494
  </element>
1057
1495
  </define>
1058
1496
  <define name="bplace">
1497
+ <a:documentation>Place associated with the production of a bibliographic item</a:documentation>
1059
1498
  <element name="place">
1060
- <choice>
1061
- <text/>
1062
- <group>
1063
- <ref name="bibliocity"/>
1064
- <zeroOrMore>
1065
- <ref name="biblioregion"/>
1066
- </zeroOrMore>
1067
- <zeroOrMore>
1068
- <ref name="bibliocountry"/>
1069
- </zeroOrMore>
1070
- </group>
1071
- </choice>
1499
+ <optional>
1500
+ <ref name="bibliocity">
1501
+ <a:documentation>City</a:documentation>
1502
+ </ref>
1503
+ </optional>
1504
+ <zeroOrMore>
1505
+ <ref name="biblioregion">
1506
+ <a:documentation>Region that city is located in, given for disambiguation purposes.</a:documentation>
1507
+ </ref>
1508
+ </zeroOrMore>
1509
+ <zeroOrMore>
1510
+ <ref name="bibliocountry">
1511
+ <a:documentation>Country that city is located in, given for disambiguation purposes.</a:documentation>
1512
+ </ref>
1513
+ </zeroOrMore>
1514
+ <optional>
1515
+ <ref name="formattedPlace">
1516
+ <a:documentation>Name of the place, not broken down semantically</a:documentation>
1517
+ </ref>
1518
+ </optional>
1519
+ <optional>
1520
+ <ref name="uri">
1521
+ <a:documentation>URI in a geographical registry identifying the place</a:documentation>
1522
+ </ref>
1523
+ </optional>
1072
1524
  </element>
1073
1525
  </define>
1074
1526
  <define name="bibliocity">
@@ -1076,6 +1528,11 @@
1076
1528
  <text/>
1077
1529
  </element>
1078
1530
  </define>
1531
+ <define name="formattedPlace">
1532
+ <element name="formattedPlace">
1533
+ <text/>
1534
+ </element>
1535
+ </define>
1079
1536
  <define name="biblioregion">
1080
1537
  <element name="region">
1081
1538
  <ref name="RegionType"/>
@@ -1087,41 +1544,90 @@
1087
1544
  </element>
1088
1545
  </define>
1089
1546
  <define name="RegionType">
1547
+ <a:documentation>Encoding of region in bibliographic `place`. ISO 3166 encoding is recommended</a:documentation>
1090
1548
  <optional>
1091
- <attribute name="iso"/>
1549
+ <attribute name="iso">
1550
+ <a:documentation>ISO 3166 encoding</a:documentation>
1551
+ </attribute>
1092
1552
  </optional>
1093
1553
  <optional>
1094
1554
  <attribute name="recommended">
1555
+ <a:documentation>Whether the region should be included in rendering of the place, for disambiguation</a:documentation>
1095
1556
  <data type="boolean"/>
1096
1557
  </attribute>
1097
1558
  </optional>
1559
+ <optional>
1560
+ <text>
1561
+ <a:documentation>Name of the region</a:documentation>
1562
+ </text>
1563
+ </optional>
1564
+ </define>
1565
+ <define name="CurrencyType">
1566
+ <a:documentation>Code for currencies, taken from ISO 4217</a:documentation>
1098
1567
  <text/>
1099
1568
  </define>
1100
1569
  <define name="bprice">
1570
+ <a:documentation>The price set on accessing the bibliographic item</a:documentation>
1101
1571
  <element name="price">
1102
- <attribute name="currency"/>
1103
- <text/>
1572
+ <attribute name="currency">
1573
+ <a:documentation>The currency denomination for the price</a:documentation>
1574
+ <ref name="CurrencyType"/>
1575
+ </attribute>
1576
+ <text>
1577
+ <a:documentation>The currency amount for the price</a:documentation>
1578
+ </text>
1104
1579
  </element>
1105
1580
  </define>
1106
1581
  <define name="medium">
1582
+ <a:documentation>Information about the medium and transmission of a bibliographic item</a:documentation>
1107
1583
  <element name="medium">
1108
1584
  <optional>
1109
- <ref name="bcontent"/>
1585
+ <ref name="bcontent">
1586
+ <a:documentation>The content type of the bibliographic item, reflecting the form of
1587
+ communication with which it is expressed and perceived. For example,
1588
+ `text`, `video`, `audio`.</a:documentation>
1589
+ <a:documentation>NOTE: This field is intended to convey the
1590
+ Content attribute of the MARC and Resource Description and Access
1591
+ standards, although its values are not restricted to that
1592
+ vocabulary; see http://www.loc.gov/standards/valuelist/rdacontent.html</a:documentation>
1593
+ </ref>
1110
1594
  </optional>
1111
1595
  <optional>
1112
- <ref name="genre"/>
1596
+ <ref name="genre">
1597
+ <a:documentation>The genre of the bibliographic item, as a classification of the
1598
+ type of communication it represents that is more specific than `content` or `BibliographicItem/type`.
1599
+ For example, "statistical dataset"</a:documentation>
1600
+ </ref>
1113
1601
  </optional>
1114
1602
  <optional>
1115
- <ref name="form"/>
1603
+ <ref name="form">
1604
+ <a:documentation>The media type of the bibliographic item, used to access the content
1605
+ of the item, including file format for electronic media.</a:documentation>
1606
+ <a:documentation>NOTE: This field is intended to convey the
1607
+ Media attribute of the MARC and Resource Description and Access
1608
+ standards, although its values are not restricted to that
1609
+ vocabulary; see http://www.loc.gov/standards/valuelist/rdamedia.html
1610
+ IANA Media Types are recommended for electronic resources</a:documentation>
1611
+ </ref>
1116
1612
  </optional>
1117
1613
  <optional>
1118
- <ref name="carrier"/>
1614
+ <ref name="carrier">
1615
+ <a:documentation>The storage medium of the physical representation of the bibliographic item.</a:documentation>
1616
+ <a:documentation>NOTE: This field is intended to convey the
1617
+ Carrier attribute of the MARC and Resource Description and Access
1618
+ standards, although its values are not restricted to that
1619
+ vocabulary; see https://www.loc.gov/standards/valuelist/rdacarrier.html</a:documentation>
1620
+ </ref>
1119
1621
  </optional>
1120
1622
  <optional>
1121
- <ref name="size"/>
1623
+ <ref name="size">
1624
+ <a:documentation>The size of the physical representation of the bibliographic item</a:documentation>
1625
+ </ref>
1122
1626
  </optional>
1123
1627
  <optional>
1124
- <ref name="scale"/>
1628
+ <ref name="scale">
1629
+ <a:documentation>The scale of the cartographic material in the bibliographic item</a:documentation>
1630
+ </ref>
1125
1631
  </optional>
1126
1632
  </element>
1127
1633
  </define>
@@ -1161,9 +1667,19 @@
1161
1667
  </element>
1162
1668
  </define>
1163
1669
  <define name="sizevalue">
1670
+ <a:documentation>The size of a bibliographic item being referred to.
1671
+ A sequence of sizes can be used to indicate different numberings, e.g. xii + 40 pp.,
1672
+ or different kinds of measures, e.g. pages + plates</a:documentation>
1164
1673
  <element name="value">
1165
- <attribute name="type"/>
1166
- <text/>
1674
+ <attribute name="type">
1675
+ <a:documentation>The type of size. Recommended values: page, volume, time (in ISO 8601 duration values),
1676
+ data (including unit), value (free-form string)</a:documentation>
1677
+ </attribute>
1678
+ <optional>
1679
+ <text>
1680
+ <a:documentation>The quantity of the size</a:documentation>
1681
+ </text>
1682
+ </optional>
1167
1683
  </element>
1168
1684
  </define>
1169
1685
  <define name="bibliographic_size">
@@ -1186,46 +1702,80 @@
1186
1702
  </element>
1187
1703
  </define>
1188
1704
  <define name="series">
1705
+ <a:documentation>Series to which a bibliographic item belongs. Series is to be understood broadly,
1706
+ and it includes monograph series, journals, newspapers, and report series within
1707
+ which the bibliographic item has appeared</a:documentation>
1189
1708
  <element name="series">
1190
1709
  <optional>
1191
1710
  <attribute name="type">
1711
+ <a:documentation>The type of series description expressed in this container</a:documentation>
1192
1712
  <ref name="SeriesType"/>
1193
1713
  </attribute>
1194
1714
  </optional>
1195
1715
  <optional>
1196
- <ref name="formattedref"/>
1716
+ <ref name="formattedref">
1717
+ <a:documentation>A pre-formatted version of the series description, incorporating
1718
+ all needed disambiguating information in human-readable format</a:documentation>
1719
+ </ref>
1197
1720
  </optional>
1198
- <ref name="btitle"/>
1721
+ <oneOrMore>
1722
+ <ref name="btitle">
1723
+ <a:documentation>The title of the series</a:documentation>
1724
+ </ref>
1725
+ </oneOrMore>
1199
1726
  <optional>
1200
- <ref name="bplace"/>
1727
+ <ref name="bplace">
1728
+ <a:documentation>The place where the series is issued; used for disambiguation</a:documentation>
1729
+ </ref>
1201
1730
  </optional>
1202
1731
  <optional>
1203
- <ref name="seriesorganization"/>
1732
+ <ref name="seriesorganization">
1733
+ <a:documentation>The organization issuing the series; used for disambiguation</a:documentation>
1734
+ </ref>
1204
1735
  </optional>
1205
1736
  <optional>
1206
- <ref name="abbreviation"/>
1737
+ <ref name="abbreviation">
1738
+ <a:documentation>The abbreviation under which the series is known</a:documentation>
1739
+ </ref>
1207
1740
  </optional>
1208
1741
  <optional>
1209
- <ref name="seriesfrom"/>
1742
+ <ref name="seriesfrom">
1743
+ <a:documentation>The start of the date range when the series has been known under the given title</a:documentation>
1744
+ </ref>
1210
1745
  </optional>
1211
1746
  <optional>
1212
- <ref name="seriesto"/>
1747
+ <ref name="seriesto">
1748
+ <a:documentation>The end of the date range when the series has been known under the given title</a:documentation>
1749
+ </ref>
1213
1750
  </optional>
1214
1751
  <optional>
1215
- <ref name="seriesnumber"/>
1752
+ <ref name="seriesnumber">
1753
+ <a:documentation>The number of the bibliographic item within the series</a:documentation>
1754
+ </ref>
1216
1755
  </optional>
1217
1756
  <optional>
1218
- <ref name="seriespartnumber"/>
1757
+ <ref name="seriespartnumber">
1758
+ <a:documentation>The part-number of the bibliographic item within the series. For example,
1759
+ if the series is a journal, the number is the volume number, and the partnumber is the issue number</a:documentation>
1760
+ </ref>
1219
1761
  </optional>
1220
1762
  <optional>
1221
- <ref name="seriesrun"/>
1763
+ <ref name="seriesrun">
1764
+ <a:documentation>An iteration of numbering of the series, if the series has restarted numbering
1765
+ (as occurs in some journals); referred to as "series" in the context of journals.
1766
+ For example, "n.s." (new series) or "2" indicates
1767
+ that the `number` given for the series applies to the second iteration of numbering</a:documentation>
1768
+ </ref>
1222
1769
  </optional>
1223
1770
  </element>
1224
1771
  </define>
1225
1772
  <define name="SeriesType">
1773
+ <a:documentation>The type of series description given</a:documentation>
1226
1774
  <choice>
1227
1775
  <value>main</value>
1776
+ <a:documentation>Default type: The current, authoritative series description</a:documentation>
1228
1777
  <value>alt</value>
1778
+ <a:documentation>An alternative, potentially historical series description</a:documentation>
1229
1779
  <text/>
1230
1780
  </choice>
1231
1781
  </define>
@@ -1260,32 +1810,80 @@
1260
1810
  </element>
1261
1811
  </define>
1262
1812
  <define name="biblionote">
1813
+ <a:documentation>A note associated with the bibliographic item</a:documentation>
1263
1814
  <element name="note">
1264
1815
  <optional>
1265
- <attribute name="type"/>
1816
+ <attribute name="type">
1817
+ <a:documentation>The class of the note associated with the bibliographic item.
1818
+ May be used to differentiate rendering of notes in bibliographies</a:documentation>
1819
+ </attribute>
1266
1820
  </optional>
1267
- <ref name="FormattedString"/>
1821
+ <ref name="LocalizedStringAttributes">
1822
+ <a:documentation>The content of the note</a:documentation>
1823
+ </ref>
1824
+ <choice>
1825
+ <oneOrMore>
1826
+ <ref name="BasicBlockNoId">
1827
+ <a:documentation>Multiple blocks of content</a:documentation>
1828
+ </ref>
1829
+ </oneOrMore>
1830
+ <oneOrMore>
1831
+ <ref name="TextElement">
1832
+ <a:documentation>Single block of content</a:documentation>
1833
+ </ref>
1834
+ </oneOrMore>
1835
+ </choice>
1268
1836
  </element>
1269
1837
  </define>
1270
1838
  <define name="bibabstract">
1839
+ <a:documentation>Abstract of bibliographic item</a:documentation>
1271
1840
  <element name="abstract">
1272
- <ref name="FormattedString"/>
1841
+ <ref name="LocalizedStringAttributes"/>
1842
+ <optional>
1843
+ <attribute name="format">
1844
+ <a:documentation>What format the formatted abstract is in. In Metanorma, assumed to be Metanorma XML</a:documentation>
1845
+ </attribute>
1846
+ </optional>
1847
+ <choice>
1848
+ <oneOrMore>
1849
+ <ref name="BasicBlockNoId">
1850
+ <a:documentation>Multiple blocks of content</a:documentation>
1851
+ </ref>
1852
+ </oneOrMore>
1853
+ <oneOrMore>
1854
+ <ref name="TextElement">
1855
+ <a:documentation>Single block of content</a:documentation>
1856
+ </ref>
1857
+ </oneOrMore>
1858
+ </choice>
1273
1859
  </element>
1274
1860
  </define>
1275
1861
  <define name="copyright">
1862
+ <a:documentation>The copyright status of a bibliographic item.</a:documentation>
1276
1863
  <element name="copyright">
1277
- <ref name="from"/>
1864
+ <ref name="from">
1865
+ <a:documentation>The copyright date of the bibliographic item</a:documentation>
1866
+ </ref>
1278
1867
  <optional>
1279
- <ref name="to"/>
1868
+ <ref name="to">
1869
+ <a:documentation>The date when the copyright of the bibliographic item expires</a:documentation>
1870
+ </ref>
1280
1871
  </optional>
1281
1872
  <oneOrMore>
1282
- <ref name="owner"/>
1873
+ <ref name="owner">
1874
+ <a:documentation>The copyright owner for the bibliographic item.</a:documentation>
1875
+ </ref>
1283
1876
  </oneOrMore>
1284
1877
  <optional>
1285
- <ref name="copyright_scope"/>
1878
+ <ref name="copyright_scope">
1879
+ <a:documentation>The extent of the bibliographic item, or contexts of use, for which this
1880
+ assertion of copyright applies. For example, this description may only apply
1881
+ to the preface of a book</a:documentation>
1882
+ </ref>
1286
1883
  </optional>
1287
1884
  </element>
1288
1885
  </define>
1886
+ <!-- TODO potentially should be locality | localityStack -->
1289
1887
  <define name="copyright_scope">
1290
1888
  <element name="scope">
1291
1889
  <text/>
@@ -1302,11 +1900,14 @@
1302
1900
  </element>
1303
1901
  </define>
1304
1902
  <define name="owner">
1903
+ <a:documentation>Copyright owner</a:documentation>
1305
1904
  <element name="owner">
1306
1905
  <ref name="ContributorInfo"/>
1307
1906
  </element>
1308
1907
  </define>
1309
1908
  <define name="DocRelationType">
1909
+ <a:documentation>Type of the relationship between a main document (described in `BibliographicItem`) and a target document
1910
+ Detailed in https://www.relaton.org/model/relations/</a:documentation>
1310
1911
  <choice>
1311
1912
  <value>includes</value>
1312
1913
  <value>includedIn</value>
@@ -1338,6 +1939,10 @@
1338
1939
  <value>hasAnnotation</value>
1339
1940
  <value>draftOf</value>
1340
1941
  <value>hasDraft</value>
1942
+ <value>predecessorDraftOf</value>
1943
+ <value>hasPredecessorDraft</value>
1944
+ <value>successorDraftOf</value>
1945
+ <value>hasSuccessorDraft</value>
1341
1946
  <value>editionOf</value>
1342
1947
  <value>hasEdition</value>
1343
1948
  <value>updates</value>
@@ -1368,19 +1973,25 @@
1368
1973
  </choice>
1369
1974
  </define>
1370
1975
  <define name="docrelation">
1976
+ <a:documentation>Relation between a bibliographic item and another bibliographic item</a:documentation>
1371
1977
  <element name="relation">
1372
1978
  <attribute name="type">
1979
+ <a:documentation>The type of document relation described, using a controlled vocabulary</a:documentation>
1373
1980
  <ref name="DocRelationType"/>
1374
1981
  </attribute>
1375
1982
  <optional>
1376
1983
  <element name="description">
1377
- <ref name="FormattedString"/>
1984
+ <a:documentation>A more complete description of the type of document relation described</a:documentation>
1985
+ <ref name="LocalizedMarkedUpString"/>
1378
1986
  </element>
1379
1987
  </optional>
1380
1988
  <element name="bibitem">
1989
+ <a:documentation>The target bibliographic item to which this bibliographic item is described as related to</a:documentation>
1381
1990
  <ref name="ReducedBibliographicItem"/>
1382
1991
  </element>
1383
1992
  <choice>
1993
+ <a:documentation>The extent of the target bibliographic item which is related to this bibliographic item,
1994
+ provided that it is not the entire bibliographic item that is so related</a:documentation>
1384
1995
  <zeroOrMore>
1385
1996
  <ref name="locality"/>
1386
1997
  </zeroOrMore>
@@ -1389,6 +2000,8 @@
1389
2000
  </zeroOrMore>
1390
2001
  </choice>
1391
2002
  <choice>
2003
+ <a:documentation>The extent of this bibliographic item which is related to the target bibliographic item,
2004
+ provided that it is not the entire bibliographic item that is so related</a:documentation>
1392
2005
  <zeroOrMore>
1393
2006
  <ref name="sourceLocality"/>
1394
2007
  </zeroOrMore>
@@ -1399,12 +2012,17 @@
1399
2012
  </element>
1400
2013
  </define>
1401
2014
  <define name="version">
2015
+ <a:documentation>A version of the bibliographic item (within an edition). Can be used for drafts</a:documentation>
1402
2016
  <element name="version">
1403
2017
  <optional>
1404
- <ref name="revision-date"/>
2018
+ <ref name="revision-date">
2019
+ <a:documentation>The date at which the current version of the bibliographic item was produced</a:documentation>
2020
+ </ref>
1405
2021
  </optional>
1406
2022
  <optional>
1407
- <ref name="draft"/>
2023
+ <ref name="draft">
2024
+ <a:documentation>The identifier for the current draft of the bibliographic item</a:documentation>
2025
+ </ref>
1408
2026
  </optional>
1409
2027
  </element>
1410
2028
  </define>
@@ -1423,46 +2041,63 @@
1423
2041
  <text/>
1424
2042
  </element>
1425
2043
  </define>
2044
+ <!--
2045
+ bkeyword = element keyword {
2046
+ LocalizedString |
2047
+ (
2048
+ element vocab { LocalizedString },
2049
+ vocabid+
2050
+ ) |
2051
+ (
2052
+ element taxon { LocalizedString }+,
2053
+ vocabid+
2054
+ )
2055
+ }
2056
+ -->
1426
2057
  <define name="bkeyword">
2058
+ <a:documentation>Keyword for a bibliographic item</a:documentation>
1427
2059
  <element name="keyword">
1428
- <choice>
1429
- <ref name="LocalizedString"/>
1430
- <group>
1431
- <element name="vocab">
1432
- <ref name="LocalizedString"/>
1433
- </element>
1434
- <oneOrMore>
1435
- <ref name="vocabid"/>
1436
- </oneOrMore>
1437
- </group>
1438
- <group>
1439
- <oneOrMore>
1440
- <element name="taxon">
1441
- <ref name="LocalizedString"/>
1442
- </element>
1443
- </oneOrMore>
1444
- <oneOrMore>
1445
- <ref name="vocabid"/>
1446
- </oneOrMore>
1447
- </group>
1448
- </choice>
2060
+ <optional>
2061
+ <element name="vocab">
2062
+ <a:documentation>The keyword as a single, controlled or uncontrolled vocabulary item</a:documentation>
2063
+ <ref name="LocalizedString"/>
2064
+ </element>
2065
+ </optional>
2066
+ <zeroOrMore>
2067
+ <element name="taxon">
2068
+ <a:documentation>The keywords as a hierarchical taxonomy. For example, the sequence of `taxon` elements
2069
+ `pump`, `centrifugal pump`, `line shaft pump` represents a taxonomic classification</a:documentation>
2070
+ <ref name="LocalizedString"/>
2071
+ </element>
2072
+ </zeroOrMore>
2073
+ <zeroOrMore>
2074
+ <ref name="vocabid">
2075
+ <a:documentation>Identifiers for the keyword as a controlled vocabulary</a:documentation>
2076
+ </ref>
2077
+ </zeroOrMore>
1449
2078
  </element>
1450
2079
  </define>
1451
2080
  <define name="vocabid">
2081
+ <a:documentation>Item in a controlled vocabulary</a:documentation>
1452
2082
  <element name="vocabid">
1453
- <attribute name="type"/>
2083
+ <attribute name="type">
2084
+ <a:documentation>A label for the controlled vocabulary</a:documentation>
2085
+ </attribute>
1454
2086
  <optional>
1455
2087
  <attribute name="uri">
2088
+ <a:documentation>A URI for the controlled vocabulary item</a:documentation>
1456
2089
  <data type="anyURI"/>
1457
2090
  </attribute>
1458
2091
  </optional>
1459
2092
  <optional>
1460
2093
  <element name="code">
2094
+ <a:documentation>The code or identifier for the controlled vocabulary item</a:documentation>
1461
2095
  <text/>
1462
2096
  </element>
1463
2097
  </optional>
1464
2098
  <optional>
1465
2099
  <element name="term">
2100
+ <a:documentation>The term itself for the controlled vocabulary item</a:documentation>
1466
2101
  <text/>
1467
2102
  </element>
1468
2103
  </optional>