relaton-bib 1.20.7 → 2.0.0.pre.alpha.1

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