modsulator 1.1.0 → 1.2.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/doc/Modsulator.html +725 -0
  4. data/lib/doc/_index.html +101 -0
  5. data/lib/doc/class_list.html +58 -0
  6. data/lib/doc/css/common.css +1 -0
  7. data/lib/doc/css/full_list.css +57 -0
  8. data/lib/doc/css/style.css +339 -0
  9. data/lib/doc/file_list.html +57 -0
  10. data/lib/doc/frames.html +26 -0
  11. data/lib/doc/index.html +101 -0
  12. data/lib/doc/js/app.js +219 -0
  13. data/lib/doc/js/full_list.js +181 -0
  14. data/lib/doc/js/jquery.js +4 -0
  15. data/lib/doc/method_list.html +87 -0
  16. data/lib/doc/top-level-namespace.html +112 -0
  17. data/lib/modsulator/mods-3-6.xsd +1512 -0
  18. data/lib/modsulator/modsulator.xsd +3 -3
  19. data/lib/modsulator/modsulator_template.xml +413 -21
  20. data/spec/fixtures/36_Fitch_Chavez.xml +2806 -0
  21. data/spec/fixtures/36_Fitch_King.xml +2560 -0
  22. data/spec/fixtures/36_Heckrotte_ChartsOfCoastSurvey.xml +1835 -0
  23. data/spec/fixtures/36_M1463_AV_manifest.xml +2373 -0
  24. data/spec/fixtures/36_Matter_manifest.xml +3309 -0
  25. data/spec/fixtures/36_PosadaSpreadsheet.xml +1259 -0
  26. data/spec/fixtures/36_SC1049_metadata.xml +18644 -0
  27. data/spec/fixtures/36_ars0056_manifest.xml +9728 -0
  28. data/spec/fixtures/36_crowdsourcing_bridget_1.xml +606 -0
  29. data/spec/fixtures/36_crowdsourcing_bridget_2.xml +3433 -0
  30. data/spec/fixtures/36_edition_physLoc_intmediatype.xml +41 -0
  31. data/spec/fixtures/36_filled_template_20160711.xml +458 -0
  32. data/spec/fixtures/36_invalid_crowdsourcing_bridget_1.xml +606 -0
  33. data/spec/fixtures/36_location_url.xml +14 -0
  34. data/spec/fixtures/36_manifest_v0174.xml +1026 -0
  35. data/spec/fixtures/36_point_coord_test.xml +23 -0
  36. data/spec/fixtures/36_roman_coins_mods.xml +7634 -0
  37. data/spec/fixtures/Fitch_Chavez.xml +90 -90
  38. data/spec/fixtures/Fitch_King.xml +75 -75
  39. data/spec/fixtures/Heckrotte_ChartsOfCoastSurvey.xml +15 -15
  40. data/spec/fixtures/M1463_AV_manifest.xml +68 -68
  41. data/spec/fixtures/Matter_manifest.xml +292 -292
  42. data/spec/fixtures/PosadaSpreadsheet.xml +157 -157
  43. data/spec/fixtures/SC1049_metadata.xml +384 -384
  44. data/spec/fixtures/ars0056_manifest.xml +258 -258
  45. data/spec/fixtures/crowdsourcing_bridget_1.xml +20 -20
  46. data/spec/fixtures/crowdsourcing_bridget_2.xml +130 -130
  47. data/spec/fixtures/edition_physLoc_intmediatype.xml +2 -2
  48. data/spec/fixtures/filled_template_20160711.xml +1 -1
  49. data/spec/fixtures/invalid_crowdsourcing_bridget_1.xml +20 -20
  50. data/spec/fixtures/location_url.xml +1 -1
  51. data/spec/fixtures/manifest_v0174.xml +31 -31
  52. data/spec/fixtures/point_coord_test.xml +1 -1
  53. data/spec/fixtures/roman_coins_mods.xml +173 -173
  54. data/spec/integration_tests/integration_spec.rb +4 -3
  55. metadata +81 -33
  56. data/lib/modsulator/mods-3-5.xsd +0 -1463
@@ -24,11 +24,12 @@ RSpec.describe Modsulator do
24
24
  'location_url.xlsx' => 'location_url.xml',
25
25
  'point_coord_test.xlsx' => 'point_coord_test.xml'
26
26
  }.each do |testfile, results_file|
27
- it "converts #{testfile} correctly to valid XML" do
28
- generated_xml_string = Modsulator.new(File.join(FIXTURES_DIR, testfile), testfile).convert_rows()
27
+ generated_xml_string = Modsulator.new(File.join(FIXTURES_DIR, testfile), testfile).convert_rows()
28
+ it "converts #{testfile} to valid XML" do
29
29
  error_list = Validator.new(File.expand_path("lib/modsulator/modsulator.xsd")).validate_xml_string(generated_xml_string)
30
30
  expect(error_list.length()).to eq(0)
31
-
31
+ end
32
+ it "generates same XML from #{testfile} as previous modsulator version" do
32
33
  generated_xml = Nokogiri::XML(generated_xml_string)
33
34
  expected_xml = Nokogiri::XML(File.read(File.join(FIXTURES_DIR, results_file)))
34
35
  expect(generated_xml).to be_equivalent_to(expected_xml).ignoring_attr_values('datetime')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modsulator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tommy Ingulfsen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-13 00:00:00.000000000 Z
11
+ date: 2018-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: roo
@@ -175,8 +175,22 @@ files:
175
175
  - README.md
176
176
  - Rakefile
177
177
  - bin/modsulator
178
+ - lib/doc/Modsulator.html
179
+ - lib/doc/_index.html
180
+ - lib/doc/class_list.html
181
+ - lib/doc/css/common.css
182
+ - lib/doc/css/full_list.css
183
+ - lib/doc/css/style.css
184
+ - lib/doc/file_list.html
185
+ - lib/doc/frames.html
186
+ - lib/doc/index.html
187
+ - lib/doc/js/app.js
188
+ - lib/doc/js/full_list.js
189
+ - lib/doc/js/jquery.js
190
+ - lib/doc/method_list.html
191
+ - lib/doc/top-level-namespace.html
178
192
  - lib/modsulator.rb
179
- - lib/modsulator/mods-3-5.xsd
193
+ - lib/modsulator/mods-3-6.xsd
180
194
  - lib/modsulator/modsulator.xsd
181
195
  - lib/modsulator/modsulator_sheet.rb
182
196
  - lib/modsulator/modsulator_template.xlsx
@@ -185,6 +199,23 @@ files:
185
199
  - spec/features/modsulator_sheet_unit_spec.rb
186
200
  - spec/features/process_template_spec.rb
187
201
  - spec/features/validator_unit_spec.rb
202
+ - spec/fixtures/36_Fitch_Chavez.xml
203
+ - spec/fixtures/36_Fitch_King.xml
204
+ - spec/fixtures/36_Heckrotte_ChartsOfCoastSurvey.xml
205
+ - spec/fixtures/36_M1463_AV_manifest.xml
206
+ - spec/fixtures/36_Matter_manifest.xml
207
+ - spec/fixtures/36_PosadaSpreadsheet.xml
208
+ - spec/fixtures/36_SC1049_metadata.xml
209
+ - spec/fixtures/36_ars0056_manifest.xml
210
+ - spec/fixtures/36_crowdsourcing_bridget_1.xml
211
+ - spec/fixtures/36_crowdsourcing_bridget_2.xml
212
+ - spec/fixtures/36_edition_physLoc_intmediatype.xml
213
+ - spec/fixtures/36_filled_template_20160711.xml
214
+ - spec/fixtures/36_invalid_crowdsourcing_bridget_1.xml
215
+ - spec/fixtures/36_location_url.xml
216
+ - spec/fixtures/36_manifest_v0174.xml
217
+ - spec/fixtures/36_point_coord_test.xml
218
+ - spec/fixtures/36_roman_coins_mods.xml
188
219
  - spec/fixtures/Fitch_Chavez.xlsx
189
220
  - spec/fixtures/Fitch_Chavez.xml
190
221
  - spec/fixtures/Fitch_King.xlsx
@@ -243,49 +274,66 @@ required_rubygems_version: !ruby/object:Gem::Requirement
243
274
  version: '0'
244
275
  requirements: []
245
276
  rubyforge_project:
246
- rubygems_version: 2.7.6
277
+ rubygems_version: 2.7.3
247
278
  signing_key:
248
279
  specification_version: 4
249
280
  summary: Produces (Stanford) MODS XML from spreadsheets.
250
281
  test_files:
251
- - spec/spec_helper.rb
252
- - spec/integration_tests/integration_spec.rb
253
- - spec/features/validator_unit_spec.rb
254
282
  - spec/features/modsulator_sheet_unit_spec.rb
255
283
  - spec/features/process_template_spec.rb
256
- - spec/lib/modsulator_spec.rb
284
+ - spec/features/validator_unit_spec.rb
285
+ - spec/fixtures/36_ars0056_manifest.xml
286
+ - spec/fixtures/36_crowdsourcing_bridget_1.xml
287
+ - spec/fixtures/36_crowdsourcing_bridget_2.xml
288
+ - spec/fixtures/36_edition_physLoc_intmediatype.xml
289
+ - spec/fixtures/36_filled_template_20160711.xml
290
+ - spec/fixtures/36_Fitch_Chavez.xml
291
+ - spec/fixtures/36_Fitch_King.xml
292
+ - spec/fixtures/36_Heckrotte_ChartsOfCoastSurvey.xml
293
+ - spec/fixtures/36_invalid_crowdsourcing_bridget_1.xml
294
+ - spec/fixtures/36_location_url.xml
295
+ - spec/fixtures/36_M1463_AV_manifest.xml
296
+ - spec/fixtures/36_manifest_v0174.xml
297
+ - spec/fixtures/36_Matter_manifest.xml
298
+ - spec/fixtures/36_point_coord_test.xml
299
+ - spec/fixtures/36_PosadaSpreadsheet.xml
300
+ - spec/fixtures/36_roman_coins_mods.xml
301
+ - spec/fixtures/36_SC1049_metadata.xml
302
+ - spec/fixtures/ars0056_manifest.csv
303
+ - spec/fixtures/ars0056_manifest.xml
304
+ - spec/fixtures/crowdsourcing_bridget_1.xlsx
305
+ - spec/fixtures/crowdsourcing_bridget_1.xml
306
+ - spec/fixtures/crowdsourcing_bridget_2.xlsx
307
+ - spec/fixtures/crowdsourcing_bridget_2.xml
308
+ - spec/fixtures/edition_physLoc_intmediatype.xlsx
309
+ - spec/fixtures/edition_physLoc_intmediatype.xml
257
310
  - spec/fixtures/filled_template_20160711.xlsx
258
- - spec/fixtures/SC1049_metadata.xlsx
259
311
  - spec/fixtures/filled_template_20160711.xml
260
- - spec/fixtures/crowdsourcing_bridget_2.xlsx
261
- - spec/fixtures/SC1049_metadata.xml
262
- - spec/fixtures/Matter_manifest.csv
263
312
  - spec/fixtures/Fitch_Chavez.xlsx
264
- - spec/fixtures/crowdsourcing_bridget_2.xml
265
- - spec/fixtures/Fitch_King.xlsx
266
- - spec/fixtures/manifest_v0174.csv
267
- - spec/fixtures/crowdsourcing_bridget_1.xml
268
- - spec/fixtures/M1463_AV_manifest.xml
269
- - spec/fixtures/roman_coins_mods.xlsx
270
313
  - spec/fixtures/Fitch_Chavez.xml
271
- - spec/fixtures/ars0056_manifest.xml
272
- - spec/fixtures/invalid_crowdsourcing_bridget_1.xml
314
+ - spec/fixtures/Fitch_King.xlsx
273
315
  - spec/fixtures/Fitch_King.xml
274
- - spec/fixtures/M1463_AV_manifest.xlsx
275
- - spec/fixtures/location_url.xml
276
- - spec/fixtures/roman_coins_mods.xml
277
- - spec/fixtures/edition_physLoc_intmediatype.xml
278
- - spec/fixtures/PosadaSpreadsheet.xlsx
279
- - spec/fixtures/Heckrotte_ChartsOfCoastSurvey.xml
280
- - spec/fixtures/ars0056_manifest.csv
281
- - spec/fixtures/edition_physLoc_intmediatype.xlsx
282
316
  - spec/fixtures/Heckrotte_ChartsOfCoastSurvey.xlsx
317
+ - spec/fixtures/Heckrotte_ChartsOfCoastSurvey.xml
318
+ - spec/fixtures/invalid_crowdsourcing_bridget_1.xml
283
319
  - spec/fixtures/location_url.xlsx
284
- - spec/fixtures/PosadaSpreadsheet.xml
285
- - spec/fixtures/point_coord_test.xml
286
- - spec/fixtures/test_002.xlsx
287
- - spec/fixtures/test_002.csv
320
+ - spec/fixtures/location_url.xml
321
+ - spec/fixtures/M1463_AV_manifest.xlsx
322
+ - spec/fixtures/M1463_AV_manifest.xml
323
+ - spec/fixtures/manifest_v0174.csv
288
324
  - spec/fixtures/manifest_v0174.xml
325
+ - spec/fixtures/Matter_manifest.csv
289
326
  - spec/fixtures/Matter_manifest.xml
290
- - spec/fixtures/crowdsourcing_bridget_1.xlsx
291
327
  - spec/fixtures/point_coord_test.xlsx
328
+ - spec/fixtures/point_coord_test.xml
329
+ - spec/fixtures/PosadaSpreadsheet.xlsx
330
+ - spec/fixtures/PosadaSpreadsheet.xml
331
+ - spec/fixtures/roman_coins_mods.xlsx
332
+ - spec/fixtures/roman_coins_mods.xml
333
+ - spec/fixtures/SC1049_metadata.xlsx
334
+ - spec/fixtures/SC1049_metadata.xml
335
+ - spec/fixtures/test_002.csv
336
+ - spec/fixtures/test_002.xlsx
337
+ - spec/integration_tests/integration_spec.rb
338
+ - spec/lib/modsulator_spec.rb
339
+ - spec/spec_helper.rb
@@ -1,1463 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- Via XMLSpy. Editor: Ray Denenberg, Library of Congress; rden@loc.gov
4
- -->
5
- <xs:schema xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.loc.gov/mods/v3" targetNamespace="http://www.loc.gov/mods/v3" elementFormDefault="qualified" attributeFormDefault="unqualified">
6
- <!-- -->
7
- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.loc.gov/mods/xml.xsd"/>
8
- <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.loc.gov/standards/xlink/xlink.xsd"/>
9
- <!--
10
-
11
- MODS: Metadata Object Description Schema. See http://www.loc.gov/standards/mods/
12
-
13
- ****************************************************************
14
- *
15
- * MODS 3.5
16
- *
17
- * July 8, 2013
18
- *
19
- *****************************************************************
20
-
21
-
22
- ***************************************************
23
- Changes in version 3.5
24
-
25
- 1. Reorganization of the schema. To allow a reader to more easily understand the definition of a particular element,
26
- by minimizing the number of places within the schema that the reader must look.
27
- This in itself does not introduce any substantive changes.
28
-
29
- 2. Add attribute @unit to <extent> of <physicalDescription> ( @unit is already defined for <extent> of <part>).
30
-
31
- 3. Add value 'rfc5646' to the enumerated list of values for the authority attribute for languageTerm.
32
-
33
- 4. Define attributes @altFormat and @contentType attributes for <abstract>, <accessCondition>, <tableOfContents> and <titleInfo>.
34
-
35
- 5. Define attribute @eventType for <originInfo> (recomended values 'production', 'publication', 'distribution', 'manufacture').
36
-
37
- 6. Define attribute @typeURI for <identifier> and <note> (including <physicalDescription><note>).
38
-
39
- 7. Define attribute @generator for <classification>.
40
-
41
- 8. Define element <etal>, a subelement of <name>.
42
-
43
- 9. Define attribute @otherType for <titleInfo>.
44
-
45
-
46
-
47
- *********************************************************************************************
48
-
49
- *************************************
50
- Organization of this schema
51
- *************************************
52
- The schema has three parts:
53
-
54
- 1. Structural declarations and definitions
55
- 2. Elements (top level elements and their subelements)
56
- 3. Auxiliary Definitions
57
-
58
- ***********************************************************************
59
- ***********************************************************************
60
- Part 1: Structural Declarations and Definitions
61
- ***********************************************************************
62
- ***********************************************************************
63
- - Definition of a single MODS record and a MODS collection
64
- - modsGroup, listing the top level MODS elements
65
-
66
- ***********************************************************************
67
- ** Definition of a single MODS record **
68
- **********************************************************************
69
- -->
70
- <xs:element name="mods" type="modsDefinition"/>
71
- <!-- -->
72
- <xs:complexType name="modsDefinition">
73
- <xs:group ref="modsGroup" maxOccurs="unbounded"/>
74
- <xs:attribute name="ID" type="xs:ID"/>
75
- <xs:attribute name="version">
76
- <xs:simpleType>
77
- <xs:restriction base="xs:string">
78
- <xs:enumeration value="3.5"/>
79
- <xs:enumeration value="3.4"/>
80
- <xs:enumeration value="3.3"/>
81
- <xs:enumeration value="3.2"/>
82
- <xs:enumeration value="3.1"/>
83
- <xs:enumeration value="3.0"/>
84
- </xs:restriction>
85
- </xs:simpleType>
86
- </xs:attribute>
87
- </xs:complexType>
88
- <!--
89
-
90
- ***********************************************************************
91
- ** Definition of a MODS collection **
92
- **********************************************************************
93
- -->
94
- <xs:element name="modsCollection" type="modsCollectionDefinition"/>
95
- <!-- -->
96
- <xs:complexType name="modsCollectionDefinition">
97
- <xs:sequence>
98
- <xs:element ref="mods" maxOccurs="unbounded"/>
99
- </xs:sequence>
100
- </xs:complexType>
101
- <!--
102
-
103
-
104
- ************************************************
105
- ** Group Definition
106
- ***********************************************
107
- This forms the basis of the mods record definition, and also relatedItem. The difference between a MODS record and a relatedItem
108
- (as they pertain to their usage of the group definition) is that mods requires at least one element and relatedItem does not.
109
- The group definition is used by both, where relatedItem says minOccurs="0" and for the mods record definition minOccurs="1" (default).
110
-
111
- -->
112
- <xs:group name="modsGroup">
113
- <xs:choice>
114
- <!--
115
-
116
- ***********************************************************************
117
- ** These are the "top level" MODS elements **
118
- **********************************************************************
119
- -->
120
- <xs:element ref="abstract"/>
121
- <xs:element ref="accessCondition"/>
122
- <xs:element ref="classification"/>
123
- <xs:element ref="extension"/>
124
- <xs:element ref="genre"/>
125
- <xs:element ref="identifier"/>
126
- <xs:element ref="language"/>
127
- <xs:element ref="location"/>
128
- <xs:element ref="name"/>
129
- <xs:element ref="note"/>
130
- <xs:element ref="originInfo"/>
131
- <xs:element ref="part"/>
132
- <xs:element ref="physicalDescription"/>
133
- <xs:element ref="recordInfo"/>
134
- <xs:element ref="relatedItem"/>
135
- <xs:element ref="subject"/>
136
- <xs:element ref="tableOfContents"/>
137
- <xs:element ref="targetAudience"/>
138
- <xs:element ref="titleInfo"/>
139
- <xs:element ref="typeOfResource"/>
140
- <!--
141
- End list of "top level" MODS elements
142
- -->
143
- </xs:choice>
144
- </xs:group>
145
- <!--
146
-
147
- ***********************************************************************
148
- ***********************************************************************
149
- Part 2: Elements (top level elements and their subelements)
150
- ************************************************************************
151
- ***********************************************************************
152
- -->
153
- <!--
154
-
155
- *********************************************
156
- * Top Level Element <abstract> *
157
- *********************************************
158
-
159
- -->
160
- <xs:element name="abstract" type="abstractDefinition"/>
161
- <!-- -->
162
- <xs:complexType name="abstractDefinition">
163
- <xs:simpleContent>
164
- <xs:extension base="stringPlusLanguage">
165
- <xs:attribute name="displayLabel" type="xs:string"/>
166
- <xs:attribute name="type" type="xs:string"/>
167
- <xs:attributeGroup ref="xlink:simpleLink"/>
168
- <xs:attribute name="shareable" fixed="no"/>
169
- <xs:attribute name="altRepGroup" type="xs:string"/>
170
- <xs:attributeGroup ref="altFormatAttributeGroup"/>
171
- </xs:extension>
172
- <!-- -->
173
- <!-- altFormat new in version 3.5 -->
174
- </xs:simpleContent>
175
- </xs:complexType>
176
- <!--
177
-
178
-
179
- ****************************************************
180
- * Top Level Element <accessCondition> *
181
- *****************************************************
182
-
183
- -->
184
- <xs:element name="accessCondition" type="accessConditionDefinition"/>
185
- <!-- -->
186
- <xs:complexType name="accessConditionDefinition" mixed="true">
187
- <xs:complexContent mixed="true">
188
- <xs:extension base="extensionDefinition">
189
- <xs:attributeGroup ref="xlink:simpleLink"/>
190
- <xs:attributeGroup ref="languageAttributeGroup"/>
191
- <xs:attribute name="type" type="xs:string"/>
192
- <xs:attribute name="altRepGroup" type="xs:string"/>
193
- <xs:attributeGroup ref="altFormatAttributeGroup"/>
194
- </xs:extension>
195
- <!-- -->
196
- <!-- altFormat new in version 3.5 -->
197
- </xs:complexContent>
198
- </xs:complexType>
199
- <!--
200
-
201
- ****************************************************
202
- * Top Level Element <classification> *
203
- *****************************************************
204
- -->
205
- <xs:element name="classification" type="classificationDefinition"/>
206
- <!-- -->
207
- <xs:complexType name="classificationDefinition">
208
- <xs:simpleContent>
209
- <xs:extension base="stringPlusLanguagePlusAuthority">
210
- <xs:attribute name="edition" type="xs:string"/>
211
- <xs:attribute name="displayLabel" type="xs:string"/>
212
- <xs:attribute name="altRepGroup" type="xs:string"/>
213
- <xs:attribute name="usage" fixed="primary"/>
214
- <xs:attribute name="generator" type="xs:string"/>
215
- </xs:extension>
216
- <!--
217
- The following attribute, generator, is new in version 3.5
218
- -->
219
- <!--
220
- @generator may be used to indicate that the classification is automatically generated,
221
- and its value may indicate the nature of the generation, for example "lcc to ddc"
222
- -->
223
- </xs:simpleContent>
224
- </xs:complexType>
225
- <!--
226
-
227
- ****************************************************
228
- * Top Level Element <extension> *
229
- *****************************************************
230
-
231
- -->
232
- <xs:element name="extension" type="extensionDefinition"/>
233
- <!-- -->
234
- <xs:complexType name="extensionDefinition" mixed="true">
235
- <xs:sequence>
236
- <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
237
- </xs:sequence>
238
- <xs:attribute name="displayLabel" type="xs:string"/>
239
- </xs:complexType>
240
- <!--
241
-
242
- ****************************************************
243
- * Top Level Element <genre> *
244
- *****************************************************
245
- -->
246
- <xs:element name="genre" type="genreDefinition"/>
247
- <!-- -->
248
- <xs:complexType name="genreDefinition">
249
- <xs:simpleContent>
250
- <xs:extension base="stringPlusLanguagePlusAuthority">
251
- <xs:attribute name="type" type="xs:string"/>
252
- <xs:attribute name="displayLabel" type="xs:string"/>
253
- <xs:attribute name="altRepGroup" type="xs:string"/>
254
- <xs:attribute name="usage" fixed="primary"/>
255
- </xs:extension>
256
- </xs:simpleContent>
257
- </xs:complexType>
258
- <!--
259
-
260
- ****************************************************
261
- * Top Level Element <identifier> *
262
- *****************************************************
263
- -->
264
- <xs:element name="identifier" type="identifierDefinition"/>
265
- <!-- -->
266
- <xs:complexType name="identifierDefinition">
267
- <xs:simpleContent>
268
- <xs:extension base="stringPlusLanguage">
269
- <xs:attribute name="displayLabel" type="xs:string"/>
270
- <xs:attribute name="type" type="xs:string"/>
271
- <xs:attribute name="typeURI" type="xs:anyURI"/>
272
- <xs:attribute name="invalid" fixed="yes"/>
273
- <xs:attribute name="altRepGroup" type="xs:string"/>
274
- </xs:extension>
275
- <!-- -->
276
- <!-- typeURI attribute added in version 3.5 -->
277
- </xs:simpleContent>
278
- </xs:complexType>
279
- <!--
280
-
281
- ****************************************************
282
- * Top Level Element <language> *
283
- *****************************************************
284
- -->
285
- <xs:element name="language" type="languageDefinition"/>
286
- <!-- -->
287
- <xs:complexType name="languageDefinition">
288
- <xs:sequence>
289
- <xs:element ref="languageTerm" maxOccurs="unbounded"/>
290
- <xs:element ref="scriptTerm" minOccurs="0" maxOccurs="unbounded"/>
291
- </xs:sequence>
292
- <xs:attribute name="objectPart" type="xs:string"/>
293
- <xs:attributeGroup ref="languageAttributeGroup"/>
294
- <xs:attribute name="displayLabel" type="xs:string"/>
295
- <xs:attribute name="altRepGroup" type="xs:string"/>
296
- <xs:attribute name="usage" fixed="primary"/>
297
- </xs:complexType>
298
- <!--
299
-
300
- ******** Subordinate Elements for <language>
301
- -->
302
- <xs:element name="languageTerm" type="languageTermDefinition"/>
303
- <!-- -->
304
- <xs:complexType name="languageTermDefinition">
305
- <xs:simpleContent>
306
- <xs:extension base="stringPlusLanguage">
307
- <xs:attribute name="authorityURI" type="xs:anyURI"/>
308
- <xs:attribute name="valueURI" type="xs:anyURI"/>
309
- <xs:attribute name="authority">
310
- <xs:simpleType>
311
- <xs:restriction base="xs:string">
312
- <xs:enumeration value="rfc3066"/>
313
- <xs:enumeration value="iso639-2b"/>
314
- <xs:enumeration value="iso639-3"/>
315
- <xs:enumeration value="rfc4646"/>
316
- <xs:enumeration value="rfc5646"/>
317
- <!-- -->
318
- <!--
319
- ******* value rfc5646 new in version 3.5.
320
- -->
321
- </xs:restriction>
322
- </xs:simpleType>
323
- </xs:attribute>
324
- <xs:attribute name="type" type="codeOrText"/>
325
- </xs:extension>
326
- </xs:simpleContent>
327
- </xs:complexType>
328
- <!--
329
-
330
- *****************scriptTerm ************************
331
- -->
332
- <xs:element name="scriptTerm" type="scriptTermDefinition"/>
333
- <!-- -->
334
- <xs:complexType name="scriptTermDefinition">
335
- <xs:simpleContent>
336
- <xs:extension base="stringPlusLanguagePlusAuthority">
337
- <xs:attribute name="type" type="codeOrText"/>
338
- </xs:extension>
339
- </xs:simpleContent>
340
- </xs:complexType>
341
- <!--
342
-
343
-
344
- ****************************************************
345
- * Top Level Element <location> *
346
- *****************************************************
347
-
348
- -->
349
- <xs:element name="location" type="locationDefinition"/>
350
- <!-- -->
351
- <xs:complexType name="locationDefinition">
352
- <xs:sequence>
353
- <xs:element ref="physicalLocation" minOccurs="0" maxOccurs="unbounded"/>
354
- <xs:element ref="shelfLocator" minOccurs="0" maxOccurs="unbounded"/>
355
- <xs:element ref="url" minOccurs="0" maxOccurs="unbounded"/>
356
- <xs:element ref="holdingSimple" minOccurs="0"/>
357
- <xs:element ref="holdingExternal" minOccurs="0"/>
358
- </xs:sequence>
359
- <xs:attributeGroup ref="languageAttributeGroup"/>
360
- <xs:attribute name="displayLabel" type="xs:string"/>
361
- <xs:attribute name="altRepGroup" type="xs:string"/>
362
- </xs:complexType>
363
- <!--
364
-
365
- ******** Subordinate Elements for <location>
366
- -->
367
- <!--
368
- ********** physicalLocation **********
369
- -->
370
- <xs:element name="physicalLocation" type="physicalLocationDefinition"/>
371
- <!-- -->
372
- <xs:complexType name="physicalLocationDefinition">
373
- <xs:simpleContent>
374
- <xs:extension base="stringPlusLanguagePlusAuthority">
375
- <xs:attributeGroup ref="xlink:simpleLink"/>
376
- <xs:attribute name="displayLabel" type="xs:string"/>
377
- <xs:attribute name="type" type="xs:string"/>
378
- </xs:extension>
379
- </xs:simpleContent>
380
- </xs:complexType>
381
- <!-- -->
382
- <xs:element name="shelfLocator" type="stringPlusLanguage"/>
383
- <!--
384
- ********** holdingSimple **********
385
- -->
386
- <xs:element name="holdingSimple" type="holdingSimpleDefinition"/>
387
- <!-- -->
388
- <xs:complexType name="holdingSimpleDefinition">
389
- <xs:sequence>
390
- <xs:element ref="copyInformation" maxOccurs="unbounded"/>
391
- </xs:sequence>
392
- </xs:complexType>
393
- <!--
394
- **********copyInformation **********
395
- -->
396
- <xs:element name="copyInformation" type="copyInformationDefinition"/>
397
- <!-- -->
398
- <xs:complexType name="copyInformationDefinition">
399
- <xs:sequence>
400
- <xs:element ref="form" minOccurs="0"/>
401
- <xs:element ref="subLocation" minOccurs="0" maxOccurs="unbounded"/>
402
- <xs:element ref="shelfLocator" minOccurs="0" maxOccurs="unbounded"/>
403
- <xs:element ref="electronicLocator" minOccurs="0" maxOccurs="unbounded"/>
404
- <xs:element name="note" minOccurs="0" maxOccurs="unbounded">
405
- <xs:complexType>
406
- <xs:simpleContent>
407
- <xs:extension base="stringPlusLanguage">
408
- <xs:attribute name="displayLabel" type="xs:string"/>
409
- <xs:attribute name="type" type="xs:string"/>
410
- <xs:attributeGroup ref="xlink:simpleLink"/>
411
- <xs:attribute name="ID" type="xs:ID"/>
412
- </xs:extension>
413
- </xs:simpleContent>
414
- </xs:complexType>
415
- </xs:element>
416
- <xs:element ref="enumerationAndChronology" minOccurs="0" maxOccurs="unbounded"/>
417
- </xs:sequence>
418
- </xs:complexType>
419
- <!--
420
- **********form**********
421
- -->
422
- <xs:element name="form" type="formDefinition"/>
423
- <!-- -->
424
- <xs:complexType name="formDefinition">
425
- <xs:simpleContent>
426
- <xs:extension base="stringPlusLanguagePlusAuthority">
427
- <xs:attribute name="type" type="xs:string"/>
428
- </xs:extension>
429
- </xs:simpleContent>
430
- </xs:complexType>
431
- <!-- -->
432
- <xs:element name="subLocation" type="stringPlusLanguage"/>
433
- <xs:element name="electronicLocator" type="stringPlusLanguage"/>
434
- <!--
435
- **********enumerationAndChronology **********
436
- -->
437
- <xs:element name="enumerationAndChronology" type="enumerationAndChronologyDefinition"/>
438
- <!-- -->
439
- <xs:complexType name="enumerationAndChronologyDefinition">
440
- <xs:simpleContent>
441
- <xs:extension base="stringPlusLanguage">
442
- <xs:attribute name="unitType">
443
- <xs:simpleType>
444
- <xs:restriction base="xs:string">
445
- <xs:enumeration value="1"/>
446
- <xs:enumeration value="2"/>
447
- <xs:enumeration value="3"/>
448
- </xs:restriction>
449
- </xs:simpleType>
450
- </xs:attribute>
451
- </xs:extension>
452
- </xs:simpleContent>
453
- </xs:complexType>
454
- <!--
455
- ********** url **********
456
- -->
457
- <xs:element name="url" type="urlDefinition"/>
458
- <!-- -->
459
- <xs:complexType name="urlDefinition">
460
- <xs:simpleContent>
461
- <xs:extension base="xs:anyURI">
462
- <xs:attribute name="dateLastAccessed" type="xs:string"/>
463
- <xs:attribute name="displayLabel" type="xs:string"/>
464
- <xs:attribute name="note" type="xs:string"/>
465
- <xs:attribute name="access">
466
- <xs:simpleType>
467
- <xs:restriction base="xs:string">
468
- <xs:enumeration value="preview"/>
469
- <xs:enumeration value="raw object"/>
470
- <xs:enumeration value="object in context"/>
471
- </xs:restriction>
472
- </xs:simpleType>
473
- </xs:attribute>
474
- <xs:attribute name="usage">
475
- <xs:simpleType>
476
- <xs:restriction base="xs:string">
477
- <xs:enumeration value="primary display"/>
478
- <xs:enumeration value="primary"/>
479
- </xs:restriction>
480
- </xs:simpleType>
481
- </xs:attribute>
482
- </xs:extension>
483
- </xs:simpleContent>
484
- </xs:complexType>
485
- <!-- -->
486
- <xs:element name="holdingExternal" type="extensionDefinition"/>
487
- <!--
488
-
489
- ****************************************************
490
- * Top Level Element <name> *
491
- *****************************************************
492
- -->
493
- <xs:element name="name" type="nameDefinition"/>
494
- <!-- -->
495
- <xs:complexType name="nameDefinition">
496
- <xs:choice>
497
- <!--
498
- this choice is introduced in version 3.5, with the introduction of <etal>. There are two "choices", one without <etal> (the old way) and one with <etal>.
499
-
500
- Choice one. The old way.
501
- -->
502
- <xs:choice minOccurs="0" maxOccurs="unbounded">
503
- <xs:element ref="namePart"/>
504
- <xs:element ref="displayForm"/>
505
- <xs:element ref="affiliation"/>
506
- <xs:element ref="role"/>
507
- <xs:element ref="description"/>
508
- </xs:choice>
509
- <!--
510
-
511
- Choice two. With <etal>.
512
- The presence of <etal> Indicates that there are names that cannot be explicitily included. It may be empty, or it may have simple content
513
- - e.g. <etal>et al.</etal>. In the latter case the content is what is suggested for display. When <etal> occurs, <namePart> MAY NOT occur,
514
- <displayForm> MAY NOT occur, <affiliation>, <role>, <description> MAY occur (but are not repeatable).
515
- (<etal> is not repeatable within a given <name>, however there may be mutilple <etal> elements, each within in a separate <name> element.)
516
- -->
517
- <xs:sequence>
518
- <!--
519
-
520
- <etal> is mandatory, nonrepeatable, and must occur first.
521
- After that <affiliation>, <role>, and <description> may occur, in any order or number.
522
- -->
523
- <xs:element ref="etal"/>
524
- <xs:choice minOccurs="0" maxOccurs="unbounded">
525
- <xs:element ref="affiliation"/>
526
- <xs:element ref="role"/>
527
- <xs:element ref="description"/>
528
- </xs:choice>
529
- </xs:sequence>
530
- <!-- -->
531
- </xs:choice>
532
- <xs:attribute name="ID" type="xs:ID"/>
533
- <xs:attributeGroup ref="authorityAttributeGroup"/>
534
- <xs:attributeGroup ref="xlink:simpleLink"/>
535
- <xs:attributeGroup ref="languageAttributeGroup"/>
536
- <xs:attribute name="displayLabel" type="xs:string"/>
537
- <xs:attribute name="altRepGroup" type="xs:string"/>
538
- <xs:attribute name="nameTitleGroup" type="xs:string"/>
539
- <xs:attribute name="usage" fixed="primary"/>
540
- <xs:attribute name="type">
541
- <xs:simpleType>
542
- <xs:restriction base="xs:string">
543
- <xs:enumeration value="personal"/>
544
- <xs:enumeration value="corporate"/>
545
- <xs:enumeration value="conference"/>
546
- <xs:enumeration value="family"/>
547
- </xs:restriction>
548
- </xs:simpleType>
549
- </xs:attribute>
550
- </xs:complexType>
551
- <!--
552
-
553
- ******** Subordinate Elements for <name>
554
- -->
555
- <!-- namePart -->
556
- <xs:element name="namePart" type="namePartDefinition"/>
557
- <!-- -->
558
- <xs:complexType name="namePartDefinition">
559
- <xs:simpleContent>
560
- <xs:extension base="stringPlusLanguage">
561
- <xs:attribute name="type">
562
- <xs:simpleType>
563
- <xs:restriction base="xs:string">
564
- <xs:enumeration value="date"/>
565
- <xs:enumeration value="family"/>
566
- <xs:enumeration value="given"/>
567
- <xs:enumeration value="termsOfAddress"/>
568
- </xs:restriction>
569
- </xs:simpleType>
570
- </xs:attribute>
571
- </xs:extension>
572
- </xs:simpleContent>
573
- </xs:complexType>
574
- <!-- displayForm, affiliation, description -->
575
- <xs:element name="displayForm" type="stringPlusLanguage"/>
576
- <xs:element name="affiliation" type="stringPlusLanguage"/>
577
- <xs:element name="description" type="stringPlusLanguage"/>
578
- <!--
579
- ******** role *********************
580
- -->
581
- <xs:element name="role" type="roleDefinition"/>
582
- <!-- -->
583
- <xs:complexType name="roleDefinition">
584
- <xs:sequence maxOccurs="unbounded">
585
- <xs:element ref="roleTerm"/>
586
- </xs:sequence>
587
- </xs:complexType>
588
- <!--
589
- ***************roleTerm ***********************
590
- -->
591
- <xs:element name="roleTerm" type="roleTermDefinition"/>
592
- <!-- -->
593
- <xs:complexType name="roleTermDefinition">
594
- <xs:simpleContent>
595
- <xs:extension base="stringPlusLanguagePlusAuthority">
596
- <xs:attribute name="type" type="codeOrText"/>
597
- </xs:extension>
598
- </xs:simpleContent>
599
- </xs:complexType>
600
- <!--
601
- ******** etal (new in 3.5) ********
602
- -->
603
- <xs:element name="etal" type="stringPlusLanguage"/>
604
- <!--
605
-
606
-
607
- ****************************************************
608
- * Top Level Element <note> *
609
- *****************************************************
610
- -->
611
- <xs:element name="note" type="noteDefinition"/>
612
- <!-- -->
613
- <xs:complexType name="noteDefinition">
614
- <xs:simpleContent>
615
- <xs:extension base="stringPlusLanguage">
616
- <xs:attribute name="displayLabel" type="xs:string"/>
617
- <xs:attribute name="type" type="xs:string"/>
618
- <xs:attribute name="typeURI" type="xs:anyURI"/>
619
- <xs:attributeGroup ref="xlink:simpleLink"/>
620
- <xs:attribute name="ID" type="xs:ID"/>
621
- <xs:attribute name="altRepGroup" type="xs:string"/>
622
- </xs:extension>
623
- <!-- -->
624
- <!-- typeURI attribute added in version 3.5 -->
625
- </xs:simpleContent>
626
- </xs:complexType>
627
- <!--
628
-
629
-
630
- ****************************************************
631
- * Top Level Element <originInfo> *
632
- *****************************************************
633
- -->
634
- <xs:element name="originInfo" type="originInfoDefinition"/>
635
- <!-- -->
636
- <xs:complexType name="originInfoDefinition">
637
- <xs:choice maxOccurs="unbounded">
638
- <xs:element ref="place"/>
639
- <xs:element ref="publisher"/>
640
- <xs:element ref="dateIssued"/>
641
- <xs:element ref="dateCreated"/>
642
- <xs:element ref="dateCaptured"/>
643
- <xs:element ref="dateValid"/>
644
- <xs:element ref="dateModified"/>
645
- <xs:element ref="copyrightDate"/>
646
- <xs:element ref="dateOther"/>
647
- <xs:element ref="edition"/>
648
- <xs:element ref="issuance"/>
649
- <xs:element ref="frequency"/>
650
- </xs:choice>
651
- <xs:attributeGroup ref="languageAttributeGroup"/>
652
- <xs:attribute name="displayLabel" type="xs:string"/>
653
- <xs:attribute name="altRepGroup" type="xs:string"/>
654
- <xs:attribute name="eventType" type="xs:string"/>
655
- <!--
656
-
657
- following attribute, @eventType, is new in version 3.5
658
- -->
659
- <!--
660
- Recomended values are "production", "publication", "distribution", "manufacture"
661
- So when eventType="production"
662
- • <publisher> is the producer
663
- • <dateIssued> is the date of production
664
- • <place> is the place of production
665
- etc.
666
- Detailed usage rules are supplied in the guidelines.
667
- -->
668
- </xs:complexType>
669
- <!--
670
-
671
- ******** Subordinate Elements for <originInfo>
672
- -->
673
- <!--
674
- *** place ***
675
- -->
676
- <xs:element name="place" type="placeDefinition"/>
677
- <!-- -->
678
- <xs:complexType name="placeDefinition">
679
- <xs:sequence>
680
- <xs:element ref="placeTerm" maxOccurs="unbounded"/>
681
- </xs:sequence>
682
- <xs:attribute name="supplied" fixed="yes"/>
683
- </xs:complexType>
684
- <!--
685
- *** placeTerm ***
686
- -->
687
- <xs:element name="placeTerm" type="placeTermDefinition"/>
688
- <!-- -->
689
- <xs:complexType name="placeTermDefinition">
690
- <xs:simpleContent>
691
- <xs:extension base="stringPlusLanguage">
692
- <xs:attribute name="authorityURI" type="xs:anyURI"/>
693
- <xs:attribute name="valueURI" type="xs:anyURI"/>
694
- <xs:attribute name="authority">
695
- <xs:simpleType>
696
- <xs:restriction base="xs:string">
697
- <xs:enumeration value="marcgac"/>
698
- <xs:enumeration value="marccountry"/>
699
- <xs:enumeration value="iso3166"/>
700
- </xs:restriction>
701
- </xs:simpleType>
702
- </xs:attribute>
703
- <xs:attribute name="type" type="codeOrText"/>
704
- </xs:extension>
705
- </xs:simpleContent>
706
- </xs:complexType>
707
- <!--
708
- *** publisher ***
709
- -->
710
- <xs:element name="publisher" type="stringPlusLanguagePlusSupplied"/>
711
- <!--
712
- ********** dates **********
713
- -->
714
- <xs:element name="dateIssued" type="dateDefinition"/>
715
- <xs:element name="dateCreated" type="dateDefinition"/>
716
- <xs:element name="dateCaptured" type="dateDefinition"/>
717
- <xs:element name="dateValid" type="dateDefinition"/>
718
- <xs:element name="dateModified" type="dateDefinition"/>
719
- <xs:element name="copyrightDate" type="dateDefinition"/>
720
- <xs:element name="dateOther" type="dateOtherDefinition"/>
721
- <!-- -->
722
- <xs:complexType name="dateDefinition">
723
- <xs:simpleContent>
724
- <xs:extension base="stringPlusLanguage">
725
- <xs:attribute name="encoding">
726
- <xs:simpleType>
727
- <xs:restriction base="xs:string">
728
- <xs:enumeration value="w3cdtf"/>
729
- <xs:enumeration value="iso8601"/>
730
- <xs:enumeration value="marc"/>
731
- <xs:enumeration value="temper"/>
732
- <xs:enumeration value="edtf"/>
733
- </xs:restriction>
734
- </xs:simpleType>
735
- </xs:attribute>
736
- <xs:attribute name="qualifier">
737
- <xs:simpleType>
738
- <xs:restriction base="xs:string">
739
- <xs:enumeration value="approximate"/>
740
- <xs:enumeration value="inferred"/>
741
- <xs:enumeration value="questionable"/>
742
- </xs:restriction>
743
- </xs:simpleType>
744
- </xs:attribute>
745
- <xs:attribute name="point">
746
- <xs:simpleType>
747
- <xs:restriction base="xs:string">
748
- <xs:enumeration value="start"/>
749
- <xs:enumeration value="end"/>
750
- </xs:restriction>
751
- </xs:simpleType>
752
- </xs:attribute>
753
- <xs:attribute name="keyDate" fixed="yes"/>
754
- </xs:extension>
755
- </xs:simpleContent>
756
- </xs:complexType>
757
- <!--
758
- ********** dateOther **********
759
- -->
760
- <xs:complexType name="dateOtherDefinition">
761
- <xs:simpleContent>
762
- <xs:extension base="dateDefinition">
763
- <xs:attribute name="type" type="xs:string"/>
764
- </xs:extension>
765
- </xs:simpleContent>
766
- </xs:complexType>
767
- <!--
768
- ********** edition **********
769
- -->
770
- <xs:element name="edition" type="stringPlusLanguagePlusSupplied"/>
771
- <!--
772
- ********** issuance **********
773
- -->
774
- <xs:element name="issuance" type="issuanceDefinition"/>
775
- <!-- -->
776
- <xs:simpleType name="issuanceDefinition">
777
- <xs:restriction base="xs:string">
778
- <xs:enumeration value="continuing"/>
779
- <xs:enumeration value="monographic"/>
780
- <xs:enumeration value="single unit"/>
781
- <xs:enumeration value="multipart monograph"/>
782
- <xs:enumeration value="serial"/>
783
- <xs:enumeration value="integrating resource"/>
784
- </xs:restriction>
785
- </xs:simpleType>
786
- <!--
787
- ********** frequency**********
788
- -->
789
- <xs:element name="frequency" type="stringPlusLanguagePlusAuthority"/>
790
- <!--
791
-
792
-
793
- ****************************************************
794
- * Top Level Element <part> *
795
- *****************************************************
796
- -->
797
- <xs:element name="part" type="partDefinition"/>
798
- <!-- -->
799
- <xs:complexType name="partDefinition">
800
- <xs:choice minOccurs="0" maxOccurs="unbounded">
801
- <xs:element ref="detail"/>
802
- <xs:element name="extent" type="extentDefinition"/>
803
- <xs:element ref="date"/>
804
- <xs:element ref="text"/>
805
- </xs:choice>
806
- <xs:attribute name="ID" type="xs:ID"/>
807
- <xs:attribute name="type" type="xs:string"/>
808
- <xs:attribute name="order" type="xs:integer"/>
809
- <xs:attributeGroup ref="languageAttributeGroup"/>
810
- <xs:attribute name="displayLabel" type="xs:string"/>
811
- <xs:attribute name="altRepGroup" type="xs:string"/>
812
- </xs:complexType>
813
- <!--
814
-
815
- ******** Subordinate Elements for <part>
816
- -->
817
- <!--
818
- ********** detail **********
819
- -->
820
- <xs:element name="detail" type="detailDefinition"/>
821
- <!-- -->
822
- <xs:complexType name="detailDefinition">
823
- <xs:choice maxOccurs="unbounded">
824
- <xs:element ref="number"/>
825
- <xs:element ref="caption"/>
826
- <xs:element ref="title"/>
827
- </xs:choice>
828
- <xs:attribute name="type" type="xs:string"/>
829
- <xs:attribute name="level" type="xs:positiveInteger"/>
830
- </xs:complexType>
831
- <!-- -->
832
- <xs:element name="number" type="stringPlusLanguage"/>
833
- <xs:element name="caption" type="stringPlusLanguage"/>
834
- <!--
835
- ********** extent **********
836
- -->
837
- <xs:complexType name="extentDefinition">
838
- <xs:sequence>
839
- <xs:element ref="start" minOccurs="0"/>
840
- <xs:element ref="end" minOccurs="0"/>
841
- <xs:element ref="total" minOccurs="0"/>
842
- <xs:element ref="list" minOccurs="0"/>
843
- </xs:sequence>
844
- <xs:attribute name="unit" type="xs:string"/>
845
- </xs:complexType>
846
- <!-- -->
847
- <xs:element name="start" type="stringPlusLanguage"/>
848
- <xs:element name="end" type="stringPlusLanguage"/>
849
- <xs:element name="total" type="xs:positiveInteger"/>
850
- <xs:element name="list" type="stringPlusLanguage"/>
851
- <!--
852
- ***************** date ***
853
- -->
854
- <xs:element name="date" type="dateDefinition"/>
855
- <!--
856
- ***************** text ***
857
- -->
858
- <xs:element name="text">
859
- <xs:complexType>
860
- <xs:simpleContent>
861
- <xs:extension base="stringPlusLanguage">
862
- <xs:attribute name="displayLabel" type="xs:string"/>
863
- <xs:attribute name="type" type="xs:string"/>
864
- <xs:attributeGroup ref="xlink:simpleLink"/>
865
- </xs:extension>
866
- </xs:simpleContent>
867
- </xs:complexType>
868
- </xs:element>
869
- <!--
870
-
871
-
872
- ****************************************************
873
- * Top Level Element <physicalDescription> *
874
- *****************************************************
875
-
876
- -->
877
- <xs:element name="physicalDescription" type="physicalDescriptionDefinition"/>
878
- <!-- -->
879
- <xs:complexType name="physicalDescriptionDefinition">
880
- <xs:choice maxOccurs="unbounded">
881
- <xs:element ref="form"/>
882
- <!-- same definition as is used in copyInformation -->
883
- <xs:element ref="reformattingQuality"/>
884
- <xs:element ref="internetMediaType"/>
885
- <xs:element ref="extent"/>
886
- <xs:element ref="digitalOrigin"/>
887
- <xs:element name="note" type="physicalDescriptionNote"/>
888
- </xs:choice>
889
- <xs:attributeGroup ref="languageAttributeGroup"/>
890
- <xs:attribute name="displayLabel" type="xs:string"/>
891
- <xs:attribute name="altRepGroup" type="xs:string"/>
892
- </xs:complexType>
893
- <!--
894
-
895
-
896
- ******** Subordinate Elements for <physicalDescription>
897
-
898
- -->
899
- <!--
900
- **********reformattingQuality **********
901
- -->
902
- <xs:element name="reformattingQuality" type="reformattingQualityDefinition"/>
903
- <!-- -->
904
- <xs:simpleType name="reformattingQualityDefinition">
905
- <xs:restriction base="xs:string">
906
- <xs:enumeration value="access"/>
907
- <xs:enumeration value="preservation"/>
908
- <xs:enumeration value="replacement"/>
909
- </xs:restriction>
910
- </xs:simpleType>
911
- <!--
912
- **********internetMediaType **********
913
- -->
914
- <xs:element name="internetMediaType" type="stringPlusLanguage"/>
915
- <!--
916
- ********** extent **********
917
- -->
918
- <xs:element name="extent">
919
- <xs:complexType>
920
- <xs:simpleContent>
921
- <xs:extension base="stringPlusLanguagePlusSupplied">
922
- <xs:attribute name="unit"/>
923
- </xs:extension>
924
- <!--
925
- ******************* unit is new in 3.5
926
- -->
927
- </xs:simpleContent>
928
- </xs:complexType>
929
- </xs:element>
930
- <!--
931
- ********** digitalOrigin **********
932
- -->
933
- <xs:element name="digitalOrigin" type="digitalOriginDefinition"/>
934
- <!-- -->
935
- <xs:simpleType name="digitalOriginDefinition">
936
- <xs:restriction base="xs:string">
937
- <xs:enumeration value="born digital"/>
938
- <xs:enumeration value="reformatted digital"/>
939
- <xs:enumeration value="digitized microfilm"/>
940
- <xs:enumeration value="digitized other analog"/>
941
- </xs:restriction>
942
- </xs:simpleType>
943
- <!--
944
- ********** note **********
945
- -->
946
- <xs:complexType name="physicalDescriptionNote">
947
- <xs:simpleContent>
948
- <xs:extension base="stringPlusLanguage">
949
- <xs:attribute name="displayLabel" type="xs:string"/>
950
- <xs:attribute name="type" type="xs:string"/>
951
- <xs:attribute name="typeURI" type="xs:anyURI"/>
952
- <xs:attributeGroup ref="xlink:simpleLink"/>
953
- <xs:attribute name="ID" type="xs:ID"/>
954
- </xs:extension>
955
- <!-- -->
956
- <!-- typeURI attribute added in version 3.5 -->
957
- </xs:simpleContent>
958
- </xs:complexType>
959
- <!--
960
-
961
- ****************************************************
962
- * Top Level Element <recordInfo> *
963
- *****************************************************
964
-
965
- ********** recordInfo **********
966
- -->
967
- <xs:element name="recordInfo" type="recordInfoDefinition"/>
968
- <!-- -->
969
- <xs:complexType name="recordInfoDefinition">
970
- <xs:choice maxOccurs="unbounded">
971
- <xs:element ref="recordContentSource"/>
972
- <xs:element ref="recordCreationDate"/>
973
- <xs:element ref="recordChangeDate"/>
974
- <xs:element ref="recordIdentifier"/>
975
- <xs:element ref="languageOfCataloging"/>
976
- <xs:element ref="recordOrigin"/>
977
- <xs:element ref="descriptionStandard"/>
978
- </xs:choice>
979
- <xs:attributeGroup ref="languageAttributeGroup"/>
980
- <xs:attribute name="displayLabel" type="xs:string"/>
981
- <xs:attribute name="altRepGroup" type="xs:string"/>
982
- </xs:complexType>
983
- <!--
984
-
985
- ******** Subordinate Elements for <recordInfo>
986
- -->
987
- <xs:element name="recordContentSource" type="stringPlusLanguagePlusAuthority"/>
988
- <xs:element name="recordCreationDate" type="dateDefinition"/>
989
- <xs:element name="recordChangeDate" type="dateDefinition"/>
990
- <!--
991
- ********** recordIdentifier
992
- -->
993
- <xs:element name="recordIdentifier" type="recordIdentifierDefinition"/>
994
- <!-- -->
995
- <xs:complexType name="recordIdentifierDefinition">
996
- <xs:simpleContent>
997
- <xs:extension base="stringPlusLanguage">
998
- <xs:attribute name="source" type="xs:string"/>
999
- </xs:extension>
1000
- </xs:simpleContent>
1001
- </xs:complexType>
1002
- <!-- -->
1003
- <xs:element name="languageOfCataloging" type="languageDefinition"/>
1004
- <xs:element name="recordOrigin" type="stringPlusLanguage"/>
1005
- <xs:element name="descriptionStandard" type="stringPlusLanguagePlusAuthority"/>
1006
- <!--
1007
-
1008
-
1009
- ****************************************************
1010
- * Top Level Element <relatedItem> *
1011
- *****************************************************
1012
-
1013
- ********** relatedItem **********
1014
- -->
1015
- <xs:element name="relatedItem" type="relatedItemDefinition"/>
1016
- <!-- -->
1017
- <xs:complexType name="relatedItemDefinition">
1018
- <xs:group ref="modsGroup" minOccurs="0" maxOccurs="unbounded"/>
1019
- <xs:attribute name="type">
1020
- <xs:simpleType>
1021
- <xs:restriction base="xs:string">
1022
- <xs:enumeration value="preceding"/>
1023
- <xs:enumeration value="succeeding"/>
1024
- <xs:enumeration value="original"/>
1025
- <xs:enumeration value="host"/>
1026
- <xs:enumeration value="constituent"/>
1027
- <xs:enumeration value="series"/>
1028
- <xs:enumeration value="otherVersion"/>
1029
- <xs:enumeration value="otherFormat"/>
1030
- <xs:enumeration value="isReferencedBy"/>
1031
- <xs:enumeration value="references"/>
1032
- <xs:enumeration value="reviewOf"/>
1033
- </xs:restriction>
1034
- </xs:simpleType>
1035
- </xs:attribute>
1036
- <xs:attribute name="displayLabel" type="xs:string"/>
1037
- <xs:attribute name="ID" type="xs:ID"/>
1038
- <xs:attributeGroup ref="xlink:simpleLink"/>
1039
- </xs:complexType>
1040
- <!--
1041
-
1042
-
1043
- ****************************************************
1044
- * Top Level Element <subject> *
1045
- *****************************************************
1046
- -->
1047
- <xs:element name="subject" type="subjectDefinition"/>
1048
- <!-- -->
1049
- <xs:complexType name="subjectDefinition">
1050
- <xs:choice minOccurs="0" maxOccurs="unbounded">
1051
- <xs:element ref="topic"/>
1052
- <xs:element ref="geographic"/>
1053
- <xs:element ref="temporal"/>
1054
- <xs:element name="titleInfo" type="subjectTitleInfoDefinition"/>
1055
- <xs:element name="name" type="subjectNameDefinition"/>
1056
- <xs:element ref="geographicCode"/>
1057
- <xs:element ref="hierarchicalGeographic"/>
1058
- <xs:element ref="cartographics"/>
1059
- <xs:element ref="occupation"/>
1060
- <xs:element ref="genre"/>
1061
- <!-- uses top-level genre definition -->
1062
- </xs:choice>
1063
- <xs:attribute name="ID" type="xs:ID"/>
1064
- <xs:attributeGroup ref="authorityAttributeGroup"/>
1065
- <xs:attributeGroup ref="languageAttributeGroup"/>
1066
- <xs:attributeGroup ref="xlink:simpleLink"/>
1067
- <xs:attribute name="displayLabel" type="xs:string"/>
1068
- <xs:attribute name="altRepGroup" type="xs:string"/>
1069
- <xs:attribute name="usage" fixed="primary"/>
1070
- </xs:complexType>
1071
- <!--
1072
-
1073
- ******** Subordinate Elements for <subject>
1074
- -->
1075
- <!-- topic, geographic -->
1076
- <xs:element name="topic" type="stringPlusLanguagePlusAuthority"/>
1077
- <xs:element name="geographic" type="stringPlusLanguagePlusAuthority"/>
1078
- <!--
1079
-
1080
- *****************temporal ************************
1081
-
1082
- -->
1083
- <xs:element name="temporal" type="temporalDefinition"/>
1084
- <!-- -->
1085
- <xs:complexType name="temporalDefinition">
1086
- <xs:simpleContent>
1087
- <xs:extension base="dateDefinition">
1088
- <xs:attributeGroup ref="authorityAttributeGroup"/>
1089
- </xs:extension>
1090
- </xs:simpleContent>
1091
- </xs:complexType>
1092
- <!--
1093
-
1094
- *****************subjectTitleInfo ************************
1095
- -->
1096
- <xs:complexType name="subjectTitleInfoDefinition">
1097
- <xs:choice minOccurs="0" maxOccurs="unbounded">
1098
- <xs:element ref="title"/>
1099
- <xs:element ref="subTitle"/>
1100
- <xs:element ref="partNumber"/>
1101
- <xs:element ref="partName"/>
1102
- <xs:element ref="nonSort"/>
1103
- </xs:choice>
1104
- <xs:attribute name="ID" type="xs:ID"/>
1105
- <xs:attributeGroup ref="authorityAttributeGroup"/>
1106
- <xs:attributeGroup ref="xlink:simpleLink"/>
1107
- <xs:attributeGroup ref="languageAttributeGroup"/>
1108
- <xs:attribute name="displayLabel" type="xs:string"/>
1109
- <xs:attribute name="type">
1110
- <xs:simpleType>
1111
- <xs:restriction base="xs:string">
1112
- <xs:enumeration value="abbreviated"/>
1113
- <xs:enumeration value="translated"/>
1114
- <xs:enumeration value="alternative"/>
1115
- <xs:enumeration value="uniform"/>
1116
- </xs:restriction>
1117
- </xs:simpleType>
1118
- </xs:attribute>
1119
- </xs:complexType>
1120
- <!--
1121
-
1122
- *****************subjectName ************************
1123
- -->
1124
- <xs:complexType name="subjectNameDefinition">
1125
- <xs:choice minOccurs="0" maxOccurs="unbounded">
1126
- <xs:element ref="namePart"/>
1127
- <xs:element ref="displayForm"/>
1128
- <xs:element ref="affiliation"/>
1129
- <xs:element ref="role"/>
1130
- <xs:element ref="description"/>
1131
- </xs:choice>
1132
- <xs:attribute name="type">
1133
- <xs:simpleType>
1134
- <xs:restriction base="xs:string">
1135
- <xs:enumeration value="personal"/>
1136
- <xs:enumeration value="corporate"/>
1137
- <xs:enumeration value="conference"/>
1138
- <xs:enumeration value="family"/>
1139
- </xs:restriction>
1140
- </xs:simpleType>
1141
- </xs:attribute>
1142
- <xs:attribute name="ID" type="xs:ID"/>
1143
- <xs:attributeGroup ref="authorityAttributeGroup"/>
1144
- <xs:attributeGroup ref="xlink:simpleLink"/>
1145
- <xs:attributeGroup ref="languageAttributeGroup"/>
1146
- <xs:attribute name="displayLabel" type="xs:string"/>
1147
- </xs:complexType>
1148
- <!--
1149
- ********** geographicCode **********
1150
- -->
1151
- <xs:element name="geographicCode" type="geographicCodeDefinition"/>
1152
- <!-- -->
1153
- <xs:complexType name="geographicCodeDefinition">
1154
- <xs:simpleContent>
1155
- <xs:extension base="stringPlusLanguage">
1156
- <xs:attribute name="authorityURI" type="xs:anyURI"/>
1157
- <xs:attribute name="valueURI" type="xs:anyURI"/>
1158
- <xs:attribute name="authority">
1159
- <xs:simpleType>
1160
- <xs:restriction base="xs:string">
1161
- <xs:enumeration value="marcgac"/>
1162
- <xs:enumeration value="marccountry"/>
1163
- <xs:enumeration value="iso3166"/>
1164
- </xs:restriction>
1165
- </xs:simpleType>
1166
- </xs:attribute>
1167
- </xs:extension>
1168
- </xs:simpleContent>
1169
- </xs:complexType>
1170
- <!--
1171
- ********** hierarchicalGeographic **********
1172
- -->
1173
- <xs:element name="hierarchicalGeographic" type="hierarchicalGeographicDefinition"/>
1174
- <!-- -->
1175
- <xs:complexType name="hierarchicalGeographicDefinition">
1176
- <xs:choice maxOccurs="unbounded">
1177
- <xs:element ref="extraterrestrialArea"/>
1178
- <xs:element ref="continent"/>
1179
- <xs:element ref="country"/>
1180
- <xs:element ref="province"/>
1181
- <xs:element ref="region"/>
1182
- <xs:element ref="state"/>
1183
- <xs:element ref="territory"/>
1184
- <xs:element ref="county"/>
1185
- <xs:element ref="city"/>
1186
- <xs:element ref="citySection"/>
1187
- <xs:element ref="island"/>
1188
- <xs:element ref="area"/>
1189
- </xs:choice>
1190
- <xs:attributeGroup ref="authorityAttributeGroup"/>
1191
- </xs:complexType>
1192
- <!-- -->
1193
- <xs:element name="area" type="stringPlusLanguage"/>
1194
- <xs:element name="city" type="stringPlusLanguage"/>
1195
- <xs:element name="citySection" type="stringPlusLanguage"/>
1196
- <xs:element name="continent" type="stringPlusLanguage"/>
1197
- <xs:element name="country" type="stringPlusLanguage"/>
1198
- <xs:element name="county" type="stringPlusLanguage"/>
1199
- <xs:element name="extraterrestrialArea" type="stringPlusLanguage"/>
1200
- <xs:element name="island" type="stringPlusLanguage"/>
1201
- <xs:element name="province" type="stringPlusLanguage"/>
1202
- <xs:element name="state" type="stringPlusLanguage"/>
1203
- <xs:element name="region" type="stringPlusLanguage"/>
1204
- <xs:element name="territory" type="stringPlusLanguage"/>
1205
- <!--
1206
- ********** cartographics **********
1207
- -->
1208
- <xs:element name="cartographics" type="cartographicsDefinition"/>
1209
- <!-- -->
1210
- <xs:complexType name="cartographicsDefinition">
1211
- <xs:sequence>
1212
- <xs:element ref="scale" minOccurs="0"/>
1213
- <xs:element ref="projection" minOccurs="0"/>
1214
- <xs:element ref="coordinates" minOccurs="0" maxOccurs="unbounded"/>
1215
- </xs:sequence>
1216
- <xs:attributeGroup ref="authorityAttributeGroup"/>
1217
- </xs:complexType>
1218
- <!-- -->
1219
- <xs:element name="scale" type="stringPlusLanguage"/>
1220
- <xs:element name="projection" type="stringPlusLanguage"/>
1221
- <xs:element name="coordinates" type="stringPlusLanguage"/>
1222
- <!--
1223
- ********** occupation **********
1224
- -->
1225
- <xs:element name="occupation" type="stringPlusLanguagePlusAuthority"/>
1226
- <!--
1227
-
1228
- ****************************************************
1229
- * Top Level Element <tableOfContents> *
1230
- *****************************************************
1231
-
1232
- -->
1233
- <xs:element name="tableOfContents" type="tableOfContentsDefinition"/>
1234
- <!-- -->
1235
- <xs:complexType name="tableOfContentsDefinition">
1236
- <xs:simpleContent>
1237
- <xs:extension base="stringPlusLanguage">
1238
- <xs:attribute name="displayLabel" type="xs:string"/>
1239
- <xs:attribute name="type" type="xs:string"/>
1240
- <xs:attributeGroup ref="xlink:simpleLink"/>
1241
- <xs:attribute name="shareable" fixed="no"/>
1242
- <xs:attribute name="altRepGroup" type="xs:string"/>
1243
- <xs:attributeGroup ref="altFormatAttributeGroup"/>
1244
- </xs:extension>
1245
- <!-- -->
1246
- <!-- altFormat new in version 3.5 -->
1247
- </xs:simpleContent>
1248
- </xs:complexType>
1249
- <!--
1250
-
1251
-
1252
- ****************************************************
1253
- * Top Level Element <targetAudience> *
1254
- *****************************************************
1255
-
1256
- -->
1257
- <xs:element name="targetAudience" type="targetAudienceDefinition"/>
1258
- <!-- -->
1259
- <xs:complexType name="targetAudienceDefinition">
1260
- <xs:simpleContent>
1261
- <xs:extension base="stringPlusLanguagePlusAuthority">
1262
- <xs:attribute name="displayLabel" type="xs:string"/>
1263
- <xs:attribute name="altRepGroup" type="xs:string"/>
1264
- </xs:extension>
1265
- </xs:simpleContent>
1266
- </xs:complexType>
1267
- <!--
1268
-
1269
- ****************************************************
1270
- * Top Level Element <titleInfo> *
1271
- *****************************************************
1272
-
1273
- -->
1274
- <xs:element name="titleInfo" type="titleInfoDefinition"/>
1275
- <!-- -->
1276
- <xs:complexType name="titleInfoDefinition">
1277
- <xs:choice minOccurs="0" maxOccurs="unbounded">
1278
- <xs:element ref="title"/>
1279
- <xs:element ref="subTitle"/>
1280
- <xs:element ref="partNumber"/>
1281
- <xs:element ref="partName"/>
1282
- <xs:element ref="nonSort"/>
1283
- </xs:choice>
1284
- <xs:attribute name="type">
1285
- <xs:simpleType>
1286
- <xs:restriction base="xs:string">
1287
- <xs:enumeration value="abbreviated"/>
1288
- <xs:enumeration value="translated"/>
1289
- <xs:enumeration value="alternative"/>
1290
- <xs:enumeration value="uniform"/>
1291
- </xs:restriction>
1292
- </xs:simpleType>
1293
- </xs:attribute>
1294
- <xs:attribute name="otherType"/>
1295
- <xs:attribute name="supplied" fixed="yes"/>
1296
- <xs:attribute name="altRepGroup" type="xs:string"/>
1297
- <xs:attributeGroup ref="altFormatAttributeGroup"/>
1298
- <xs:attribute name="nameTitleGroup" type="xs:string"/>
1299
- <xs:attribute name="usage" fixed="primary"/>
1300
- <xs:attribute name="ID" type="xs:ID"/>
1301
- <xs:attributeGroup ref="authorityAttributeGroup"/>
1302
- <xs:attributeGroup ref="xlink:simpleLink"/>
1303
- <xs:attributeGroup ref="languageAttributeGroup"/>
1304
- <xs:attribute name="displayLabel" type="xs:string"/>
1305
- <!-- -->
1306
- <!-- otherType new in version 3.5 -->
1307
- <!-- -->
1308
- <!-- altFormat new in version 3.5 -->
1309
- </xs:complexType>
1310
- <!--
1311
-
1312
- ******** Subordinate Elements for <titleInfo>
1313
- -->
1314
- <xs:element name="title" type="stringPlusLanguage"/>
1315
- <xs:element name="subTitle" type="stringPlusLanguage"/>
1316
- <xs:element name="partNumber" type="stringPlusLanguage"/>
1317
- <xs:element name="partName" type="stringPlusLanguage"/>
1318
- <xs:element name="nonSort" type="stringPlusLanguage"/>
1319
- <!--
1320
-
1321
- ****************************************************
1322
- * Top Level Element <typeOfResource> *
1323
- *****************************************************
1324
-
1325
- -->
1326
- <xs:element name="typeOfResource" type="typeOfResourceDefinition"/>
1327
- <!-- -->
1328
- <xs:complexType name="typeOfResourceDefinition">
1329
- <xs:simpleContent>
1330
- <xs:extension base="resourceTypeDefinition">
1331
- <xs:attribute name="collection" fixed="yes"/>
1332
- <xs:attribute name="manuscript" fixed="yes"/>
1333
- <xs:attribute name="displayLabel" type="xs:string"/>
1334
- <xs:attribute name="altRepGroup" type="xs:string"/>
1335
- <xs:attribute name="usage" fixed="primary"/>
1336
- </xs:extension>
1337
- </xs:simpleContent>
1338
- </xs:complexType>
1339
- <!--
1340
-
1341
-
1342
- ******** Subordinate Definitions for <typeOfResource>
1343
-
1344
- -->
1345
- <!--
1346
- ******* resourceTypeDefinition ********
1347
- -->
1348
- <xs:simpleType name="resourceTypeDefinition">
1349
- <xs:restriction base="xs:string">
1350
- <xs:enumeration value="text"/>
1351
- <xs:enumeration value="cartographic"/>
1352
- <xs:enumeration value="notated music"/>
1353
- <xs:enumeration value="sound recording-musical"/>
1354
- <xs:enumeration value="sound recording-nonmusical"/>
1355
- <xs:enumeration value="sound recording"/>
1356
- <xs:enumeration value="still image"/>
1357
- <xs:enumeration value="moving image"/>
1358
- <xs:enumeration value="three dimensional object"/>
1359
- <xs:enumeration value="software, multimedia"/>
1360
- <xs:enumeration value="mixed material"/>
1361
- <xs:enumeration value=""/>
1362
- </xs:restriction>
1363
- </xs:simpleType>
1364
- <!--
1365
-
1366
- *********************************
1367
- *********************************
1368
- Part 3: Auxiliary definitions
1369
- *********************************
1370
- *********************************
1371
-
1372
- **********************************
1373
- String Definitions
1374
- **********************************
1375
- -->
1376
- <!--
1377
- ********** stringPlusLanguage
1378
- -->
1379
- <xs:complexType name="stringPlusLanguage">
1380
- <xs:simpleContent>
1381
- <xs:extension base="xs:string">
1382
- <xs:attributeGroup ref="languageAttributeGroup"/>
1383
- </xs:extension>
1384
- </xs:simpleContent>
1385
- </xs:complexType>
1386
- <!--
1387
-
1388
- ************************* stringPlusLanguagePlusAuthority *************************
1389
-
1390
- -->
1391
- <xs:complexType name="stringPlusLanguagePlusAuthority">
1392
- <xs:simpleContent>
1393
- <xs:extension base="stringPlusLanguage">
1394
- <xs:attributeGroup ref="authorityAttributeGroup"/>
1395
- </xs:extension>
1396
- </xs:simpleContent>
1397
- </xs:complexType>
1398
- <!--
1399
-
1400
- ************************* stringPlusLanguagePlusSupplied *************************
1401
-
1402
- -->
1403
- <xs:complexType name="stringPlusLanguagePlusSupplied">
1404
- <xs:simpleContent>
1405
- <xs:extension base="stringPlusLanguage">
1406
- <xs:attribute name="supplied" fixed="yes"/>
1407
- </xs:extension>
1408
- </xs:simpleContent>
1409
- </xs:complexType>
1410
- <!--
1411
-
1412
- **********************************
1413
- Attribute Group Definitions
1414
- **********************************
1415
- -->
1416
- <!--
1417
- ********** authorityAttributeGroup **********
1418
- -->
1419
- <xs:attributeGroup name="authorityAttributeGroup">
1420
- <!-- new in 3.4 -->
1421
- <xs:attribute name="authority" type="xs:string"/>
1422
- <xs:attribute name="authorityURI" type="xs:anyURI"/>
1423
- <xs:attribute name="valueURI" type="xs:anyURI"/>
1424
- </xs:attributeGroup>
1425
- <!--
1426
- ********** languageAttributeGroup **********
1427
- -->
1428
- <xs:attributeGroup name="languageAttributeGroup">
1429
- <xs:attribute name="lang" type="xs:string"/>
1430
- <xs:attribute ref="xml:lang"/>
1431
- <xs:attribute name="script" type="xs:string"/>
1432
- <xs:attribute name="transliteration" type="xs:string"/>
1433
- </xs:attributeGroup>
1434
- <!--
1435
-
1436
- ********** altFormatAttributeGroup **********
1437
- altFormat new in version 3.5
1438
- -->
1439
- <xs:attributeGroup name="altFormatAttributeGroup">
1440
- <xs:attribute name="altFormat" type="xs:anyURI"/>
1441
- <xs:attribute name="contentType" type="xs:string"/>
1442
- </xs:attributeGroup>
1443
- <!--
1444
-
1445
- ****************************************************
1446
- - Attribute definitions (simpleTypes)
1447
- *****************************************************
1448
- -->
1449
- <!--
1450
-
1451
- ********** codeOrText
1452
- ******** used by type attribute for elements that distinguish code from text:
1453
- ******** <languageTerm>, <placeTerm>, <roleTerm>, <scriptTerm>
1454
-
1455
- -->
1456
- <xs:simpleType name="codeOrText">
1457
- <xs:restriction base="xs:string">
1458
- <xs:enumeration value="code"/>
1459
- <xs:enumeration value="text"/>
1460
- </xs:restriction>
1461
- </xs:simpleType>
1462
- <!-- -->
1463
- </xs:schema>