modsulator 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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>