1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
\r
4 CollectionObject schema (XSD)
\r
6 Entity : CollectionObject
\r
8 Used for: Nuxeo EP core document type
\r
10 $LastChangedRevision$
\r
15 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
\r
16 xmlns:ns="http://collectionspace.org/collectionobject/"
\r
17 xmlns="http://collectionspace.org/collectionobject/"
\r
18 targetNamespace="http://collectionspace.org/collectionobject/" version="0.1">
\r
20 <xs:element name="remNumber" type="ns:otherNumber"/>
\r
22 <!-- Object identification information -->
\r
23 <xs:element name="objectNumber" type="xs:string"/>
\r
24 <xs:element name="otherNumberList" type="ns:otherNumberList"/>
\r
26 <!-- Remove these two elements when the App/UI layer is using -->
\r
27 <!-- the new repeatable 'otherNumbers' field: -->
\r
28 <xs:element name="otherNumber" type="xs:string"/>
\r
29 <xs:element name="otherNumberType" type="xs:string"/>
\r
31 <xs:element name="briefDescriptions" type="xs:string">
\r
34 <xs:element name="briefDescription" type="xs:string"
\r
35 minOccurs="0" maxOccurs="unbounded"/>
\r
39 <xs:element name="comments">
\r
42 <xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
46 <xs:element name="distinguishingFeatures" type="xs:string"/>
\r
47 <xs:element name="numberOfObjects" type="xs:string"/>
\r
48 <xs:element name="objectNameList" type="ns:objectNameList"/>
\r
50 <xs:element name="responsibleDepartments">
\r
53 <xs:element name="responsibleDepartment" type="xs:string"
\r
54 minOccurs="0" maxOccurs="unbounded"/>
\r
58 <xs:element name="collection" type="xs:string"/>
\r
60 <!-- FIXME Start of Title repeatable group -->
\r
61 <xs:element name="title" type="xs:string"/>
\r
62 <xs:element name="titleLanguage" type="xs:string"/>
\r
63 <xs:element name="titleTranslation" type="xs:string"/>
\r
64 <!-- FIXME [1.0 alpha] Need to add titleTranslationLanguage field here -->
\r
65 <xs:element name="titleType" type="xs:string"/>
\r
66 <!-- FIXME End of Title repeatable group -->
\r
68 <xs:element name="recordStatus" type="xs:string"/>
\r
70 <!-- Object Description Information -->
\r
71 <xs:element name="age" type="xs:string"/>
\r
72 <xs:element name="ageQualifier" type="xs:string"/>
\r
73 <xs:element name="ageUnit" type="xs:string"/>
\r
74 <xs:element name="colors">
\r
77 <xs:element name="color" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
81 <xs:element name="contentActivities">
\r
84 <xs:element name="contentActivity" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
88 <xs:element name="contentConcepts">
\r
91 <xs:element name="contentConcept" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
95 <xs:element name="contentDate" type="xs:string"/>
\r
96 <!-- FIXME [1.0 alpha] Penelope's repeatability spreadsheet describes a Content Date -->
\r
97 <!-- repeatable field, with contentDate and dateAssociation fields. Did not -->
\r
98 <!-- find the latter in the wiki schemas, however. contentDate is a structured date field. -->
\r
99 <xs:element name="contentDescription" type="xs:string"/>
\r
101 <!-- FIXME Start of Content event name repeatable group -->
\r
102 <xs:element name="contentEventName" type="xs:string"/>
\r
103 <xs:element name="contentEventNameType" type="xs:string"/>
\r
104 <!-- FIXME End of Content event name repeatable group -->
\r
106 <xs:element name="contentNote" type="xs:string"/>
\r
107 <xs:element name="contentLanguages">
\r
110 <xs:element name="contentLanguage" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
115 <!-- FIXME Start of Content event name repeatable group -->
\r
116 <xs:element name="contentObject" type="xs:string"/>
\r
117 <xs:element name="contentObjectType" type="xs:string"/>
\r
118 <!-- FIXME End of Content event name repeatable group -->
\r
120 <xs:element name="contentOrganizations">
\r
123 <xs:element name="contentOrganization" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
128 <!-- FIXME Start of Content other group -->
\r
129 <xs:element name="contentOther" type="xs:string"/>
\r
130 <xs:element name="contentOtherType" type="xs:string"/>
\r
131 <!-- FIXME End of Content other group -->
\r
133 <xs:element name="contentPeoples">
\r
136 <xs:element name="contentPeople" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
140 <xs:element name="contentPersons">
\r
143 <xs:element name="contentPerson" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
147 <xs:element name="contentPlaces">
\r
150 <xs:element name="contentPlace" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
155 <!-- FIXME [1.0 alpha] contentPosition field must be made repeatable. -->
\r
156 <xs:element name="contentPosition" type="xs:string"/>
\r
158 <xs:element name="contentScripts">
\r
161 <xs:element name="contentScript" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
165 <xs:element name="copyNumber" type="xs:string"/>
\r
167 <!-- FIXME [1.0 alpha] Need to add dimensionSummary field here -->
\r
168 <xs:element name="dimensions" type="ns:dimensionList"/>
\r
170 <!-- FIXME Remove these six elements when the App/UI layer is -->
\r
171 <!-- using the new repeatable 'dimensions' field: -->
\r
172 <xs:element name="dimension" type="xs:string"/>
\r
173 <xs:element name="dimensionMeasuredPart" type="xs:string"/>
\r
174 <xs:element name="dimensionMeasurementUnit" type="xs:string"/>
\r
175 <xs:element name="dimensionValue" type="xs:string"/>
\r
176 <xs:element name="dimensionValueDate" type="xs:string"/>
\r
177 <xs:element name="dimensionValueQualifier" type="xs:string"/>
\r
179 <xs:element name="editionNumber" type="xs:string"/>
\r
180 <xs:element name="forms">
\r
183 <xs:element name="form" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
188 <!-- Object description Inscription - Content Information -->
\r
190 <!-- FIXME Start of Inscription content (or Textual inscription) repeatable group -->
\r
191 <!-- FIXME Consider whether changes to field names below are required -->
\r
192 <!-- in response to the renaming of this group to Textual inscription -->
\r
193 <xs:element name="inscriptionContent" type="xs:string"/>
\r
194 <xs:element name="inscriptionContentInscriber" type="xs:string"/>
\r
195 <xs:element name="inscriptionContentDate" type="xs:string"/>
\r
196 <xs:element name="inscriptionContentInterpretation" type="xs:string"/>
\r
197 <xs:element name="inscriptionContentLanguage" type="xs:string"/>
\r
198 <xs:element name="inscriptionContentMethod" type="xs:string"/>
\r
199 <xs:element name="inscriptionContentPosition" type="xs:string"/>
\r
200 <xs:element name="inscriptionContentScript" type="xs:string"/>
\r
201 <xs:element name="inscriptionContentTranslation" type="xs:string"/>
\r
202 <xs:element name="inscriptionContentTransliteration" type="xs:string"/>
\r
203 <xs:element name="inscriptionContentType" type="xs:string"/>
\r
204 <!-- FIXME End of Inscription content (or Textual inscription) repeatable group -->
\r
206 <!-- Object Description Inscription - Description Information -->
\r
208 <!-- FIXME Start of Inscription description (or Non-textual inscription) repeatable group -->
\r
209 <!-- FIXME Consider whether changes to field names below are required -->
\r
210 <!-- in response to the renaming of this group to Non-textual inscription -->
\r
211 <xs:element name="inscriptionDescription" type="xs:string"/>
\r
212 <xs:element name="inscriptionDescriptionInscriber" type="xs:string"/>
\r
213 <xs:element name="inscriptionDescriptionDate" type="xs:string"/>
\r
214 <xs:element name="inscriptionDescriptionInterpretation" type="xs:string"/>
\r
215 <xs:element name="inscriptionDescriptionMethod" type="xs:string"/>
\r
216 <xs:element name="inscriptionDescriptionPosition" type="xs:string"/>
\r
217 <xs:element name="inscriptionDescriptionType" type="xs:string"/>
\r
218 <!-- FIXME End of Inscription description (or Non-textual inscription) repeatable group -->
\r
220 <!-- Object Description Material Information -->
\r
222 <!-- FIXME Start of Material repeatable group -->
\r
223 <xs:element name="material" type="xs:string"/>
\r
224 <xs:element name="materialComponent" type="xs:string"/>
\r
225 <xs:element name="materialComponentNote" type="xs:string"/>
\r
226 <xs:element name="materialName" type="xs:string"/>
\r
227 <xs:element name="materialSource" type="xs:string"/>
\r
228 <!-- FIXME End of Material repeatable group -->
\r
230 <!-- Misc Object Description Information -->
\r
231 <xs:element name="objectStatus" type="xs:string"/>
\r
232 <xs:element name="phase" type="xs:string"/>
\r
233 <xs:element name="physicalDescription" type="xs:string"/>
\r
234 <xs:element name="sex" type="xs:string"/>
\r
235 <xs:element name="styles">
\r
238 <xs:element name="style" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
243 <!-- FIXME Start of Technical attribute repeatable group -->
\r
244 <xs:element name="technicalAttribute" type="xs:string"/>
\r
245 <xs:element name="technicalAttributeMeasurement" type="xs:string"/>
\r
246 <xs:element name="technicalAttributeMeasurementUnit" type="xs:string"/>
\r
247 <!-- FIXME End of Technical attribute repeatable group -->
\r
249 <!-- FIXME Start of Object component repeatable group -->
\r
250 <xs:element name="objectComponentName" type="xs:string"/>
\r
251 <xs:element name="objectComponentInformation" type="xs:string"/>
\r
252 <!-- FIXME End of Object component repeatable group -->
\r
254 <!-- Object Production Information -->
\r
256 <!-- FIXME [1.0 alpha] objectProductionDate field must be made repeatable -->
\r
257 <xs:element name="objectProductionDate" type="xs:string"/>
\r
259 <xs:element name="objectProductionNote" type="xs:string"/>
\r
261 <!-- FIXME Start of Object production organization repeatable group -->
\r
262 <xs:element name="objectProductionOrganization" type="xs:string"/>
\r
263 <xs:element name="objectProductionOrganizationRole" type="xs:string"/>
\r
264 <!-- FIXME End of Object production organization repeatable group -->
\r
266 <!-- FIXME Start of Object production people repeatable group -->
\r
267 <xs:element name="objectProductionPeople" type="xs:string"/>
\r
268 <xs:element name="objectProductionPeopleRole" type="xs:string"/>
\r
269 <!-- FIXME End of Object production people repeatable group -->
\r
271 <!-- FIXME Start of Object production person repeatable group -->
\r
272 <xs:element name="objectProductionPerson" type="xs:string"/>
\r
273 <xs:element name="objectProductionPersonRole" type="xs:string"/>
\r
274 <!-- FIXME End of Object production person repeatable group -->
\r
276 <!-- FIXME Start of Object production place repeatable group -->
\r
277 <xs:element name="objectProductionPlace" type="xs:string"/>
\r
278 <xs:element name="objectProductionPlaceRole" type="xs:string"/>
\r
279 <!-- FIXME End of Object production place repeatable group -->
\r
281 <!-- FIXME [1.0 alpha] objectProductionDate field must be made repeatable -->
\r
282 <xs:element name="objectProductionReason" type="xs:string"/>
\r
284 <!-- FIXME Start of Technique repeatable group -->
\r
285 <xs:element name="technique" type="xs:string"/>
\r
286 <xs:element name="techniqueType" type="xs:string"/>
\r
287 <!-- FIXME End of Technique repeatable group -->
\r
289 <!-- Object History and Association Information - Association -->
\r
291 <!-- In the following field names, "assoc" is an abbreviation for "associated". -->
\r
292 <!-- See the comments to CSPACE-2501 for a discussion of the database identifier -->
\r
293 <!-- length limit that made this abbreviation necessary. -->
\r
295 <!-- FIXME Start of Associated activity repeatable group -->
\r
296 <xs:element name="assocActivity" type="xs:string"/>
\r
297 <xs:element name="assocActivityNote" type="xs:string"/>
\r
298 <!-- FIXME End of Associated activity repeatable group -->
\r
300 <!-- FIXME [1.0 alpha] Need to add assocConceptNote field here. -->
\r
301 <!-- FIXME Convert to Associated concept repeatable group -->
\r
302 <xs:element name="assocConcepts">
\r
305 <xs:element name="assocConcept" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
306 <!-- FIXME Need to move assocConceptNote field here, after conversion. -->
\r
311 <!-- FIXME [1.0 Alpha] Need to add assocCulturalContextNote field here. -->
\r
312 <!-- FIXME rename fields, if not over CSPACE-2501 length limit, -->
\r
313 <!-- to assocCulturalAffinities, assocCulturalAffinity -->
\r
314 <!-- FIXME Convert to Associated cultural contexts repeatable group -->
\r
315 <xs:element name="assocCulturalContexts">
\r
318 <xs:element name="assocCulturalContext" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
319 <!-- FIXME Need to move assocCulturalContextNote field here, after conversion. -->
\r
324 <!-- FIXME [1.0 alpha] Need to add assocDateNote field here. -->
\r
325 <!-- FIXME Convert to Associated date repeatable group -->
\r
326 <xs:element name="assocDate" type="xs:string"/>
\r
327 <!-- FIXME Need to move assocDateNote field here, after conversion. -->
\r
329 <!-- FIXME Start of Associated event repeatable group -->
\r
330 <xs:element name="assocEventName" type="xs:string"/>
\r
331 <xs:element name="assocEventNameType" type="xs:string"/>
\r
332 <!-- FIXME [1.0 alpha] Need to add assocEventNote field here. -->
\r
333 <xs:element name="assocEventOrganizations">
\r
336 <xs:element name="assocEventOrganization" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
340 <xs:element name="assocEventPeoples">
\r
343 <xs:element name="assocEventPeople" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
347 <xs:element name="assocEventPersons">
\r
350 <xs:element name="assocEventPerson" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
354 <xs:element name="assocEventPlaces">
\r
357 <xs:element name="assocEventPlace" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
361 <!-- FIXME End of Associated event repeatable group -->
\r
363 <!-- FIXME Start of Associated object repeatable group -->
\r
364 <xs:element name="assocObject" type="xs:string"/>
\r
365 <xs:element name="assocObjectType" type="xs:string"/>
\r
366 <!-- FIXME End of Associated object repeatable group -->
\r
368 <!-- FIXME [1.0 alpha] Need to add assocOrganizationNote field here. -->
\r
369 <!-- FIXME Convert to Associated organizations repeatable group -->
\r
370 <xs:element name="assocOrganizations">
\r
373 <xs:element name="assocOrganization" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
374 <!-- FIXME Need to move assocOrganizationNote field here, after conversion. -->
\r
379 <!-- FIXME [1.0 alpha] Need to add assocPeopleNote field here. -->
\r
380 <!-- FIXME Convert to Associated people repeatable group -->
\r
381 <xs:element name="assocPeoples">
\r
384 <xs:element name="assocPeople" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
385 <!-- FIXME Need to move assocPeopleNote field here, after conversion. -->
\r
390 <!-- FIXME [1.0 alpha] Need to add assocPersonNote field here. -->
\r
391 <!-- FIXME Convert to Associated person repeatable group -->
\r
392 <xs:element name="assocPersons">
\r
395 <xs:element name="assocPerson" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
399 <!-- FIXME Need to move assocPersonNote field here, after conversion. -->
\r
401 <xs:element name="assocPlaces">
\r
404 <xs:element name="assocPlace" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
409 <!-- FIXME [1.0 alpha] Remove the associationNote field. -->
\r
410 <xs:element name="associationNote" type="xs:string"/>
\r
411 <!-- FIXME [1.0 alpha] Remove the associationType field. -->
\r
412 <xs:element name="associationType" type="xs:string"/>
\r
414 <!-- Object History and Association Information - History -->
\r
415 <xs:element name="objectHistoryNote" type="xs:string"/>
\r
417 <!-- Note: Erin has proposed the creation of a repeatable Ownership group -->
\r
418 <!-- that may wrap multiple fields below, TBD -->
\r
419 <xs:element name="owners">
\r
422 <xs:element name="owner" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
427 <xs:element name="ownershipAccess" type="xs:string"/>
\r
428 <xs:element name="ownershipCategory" type="xs:string"/>
\r
430 <!-- FIXME Make into a repeatable, structured date ("date units of information") -->
\r
431 <!-- field, when structured dates are introduced -->
\r
432 <xs:element name="ownershipDates" type="xs:string"/>
\r
434 <xs:element name="ownershipExchangeMethod" type="xs:string"/>
\r
435 <xs:element name="ownershipExchangeNote" type="xs:string"/>
\r
436 <xs:element name="ownershipExchangePriceCurrency" type="xs:string"/>
\r
437 <xs:element name="ownershipExchangePriceValue" type="xs:string"/>
\r
438 <xs:element name="ownershipPlace" type="xs:string"/>
\r
440 <!-- FIXME Start of Usage repeatable group -->
\r
441 <xs:element name="usage" type="xs:string"/>
\r
442 <xs:element name="usageNote" type="xs:string"/>
\r
443 <!-- FIXME End of Usage repeatable group -->
\r
445 <!-- Object Owner's Contribution Information -->
\r
446 <xs:element name="ownersPersonalExperience" type="xs:string"/>
\r
447 <xs:element name="ownersPersonalResponse" type="xs:string"/>
\r
448 <!-- FIXME [1.0 alpha] ownersReference field must be made repeatable. -->
\r
449 <xs:element name="ownersReference" type="xs:string"/>
\r
450 <xs:element name="ownersContributionNote" type="xs:string"/>
\r
452 <!-- Object Viewers Contribution Information -->
\r
453 <xs:element name="viewersRole" type="xs:string"/>
\r
454 <xs:element name="viewersPersonalExperience" type="xs:string"/>
\r
455 <xs:element name="viewersPersonalResponse" type="xs:string"/>
\r
456 <!-- FIXME [1.0 alpha] viewersReference field must be made repeatable. -->
\r
457 <xs:element name="viewersReference" type="xs:string"/>
\r
458 <xs:element name="viewersContributionNote" type="xs:string"/>
\r
460 <!-- Reference Information -->
\r
462 <!-- FIXME [1.0 alpha] reference field must be made repeatable. -->
\r
463 <xs:element name="reference" type="xs:string"/>
\r
465 <xs:element name="catalogNumber" type="xs:string"/>
\r
467 <!-- Object Collection Information Group -->
\r
468 <xs:element name="fieldCollectionDate" type="xs:string"/>
\r
469 <xs:element name="fieldCollectionMethods">
\r
472 <xs:element name="fieldCollectionMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
476 <xs:element name="fieldCollectionNote" type="xs:string"/>
\r
477 <xs:element name="fieldCollectionNumber" type="xs:string"/>
\r
478 <xs:element name="fieldCollectionPlace" type="xs:string"/>
\r
479 <xs:element name="fieldCollectionSources">
\r
482 <xs:element name="fieldCollectionSource" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
486 <xs:element name="fieldCollectors">
\r
489 <xs:element name="fieldCollector" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
\r
493 <xs:element name="fieldCollectionEventName" type="xs:string"/>
\r
495 <xs:complexType name="otherNumberList">
\r
497 <xs:element name="otherNumber" type="ns:otherNumber" minOccurs="0"
\r
498 maxOccurs="unbounded"/>
\r
502 <xs:complexType name="otherNumber">
\r
504 <xs:element name="numberValue" type="xs:string"/>
\r
505 <xs:element name="numberType" type="xs:string"/>
\r
509 <xs:complexType name="objectNameList">
\r
511 <xs:element name="objectNameGroup" type="objectNameGroup" minOccurs="0"
\r
512 maxOccurs="unbounded"/>
\r
516 <xs:complexType name="objectNameGroup">
\r
518 <xs:element name="objectName" type="xs:string"/>
\r
519 <xs:element name="objectNameCurrency" type="xs:string"/>
\r
520 <xs:element name="objectNameLevel" type="xs:string"/>
\r
521 <xs:element name="objectNameNote" type="xs:string"/>
\r
522 <xs:element name="objectNameSystem" type="xs:string"/>
\r
523 <xs:element name="objectNameType" type="xs:string"/>
\r
524 <xs:element name="objectNameLanguage" type="xs:string"/>
\r
528 <xs:complexType name="dimensionList">
\r
530 <xs:element name="dimensionGroup" type="dimensionGroup" minOccurs="0"
\r
531 maxOccurs="unbounded"/>
\r
535 <xs:complexType name="dimensionGroup">
\r
537 <xs:element name="dimension" type="xs:string"/>
\r
538 <xs:element name="measuredPart" type="xs:string"/>
\r
539 <xs:element name="measurementUnit" type="xs:string"/>
\r
540 <xs:element name="value" type="xs:string"/>
\r
541 <xs:element name="valueDate" type="xs:string"/>
\r
542 <xs:element name="valueQualifier" type="xs:string"/>
\r
546 <!-- Object Description Date Information -->
\r
547 <!-- This appears to be a placeholder structured date -->
\r
548 <xs:element name="dateAssociation" type="xs:string"/>
\r
549 <xs:element name="dateEarliestSingle" type="xs:string"/>
\r
550 <xs:element name="dateEarliestSingleCertainty" type="xs:string"/>
\r
551 <xs:element name="dateEarliestSingleQualifier" type="xs:string"/>
\r
552 <xs:element name="dateLatest" type="xs:string"/>
\r
553 <xs:element name="dateLatestCertainty" type="xs:string"/>
\r
554 <xs:element name="dateLatestQualifier" type="xs:string"/>
\r
555 <xs:element name="datePeriod" type="xs:string"/>
\r
556 <xs:element name="dateText" type="xs:string"/>
\r