1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"
3 targetNamespace="http://etaxonomy.eu/cdm/model/common/1.0"
4 xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0"
5 xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"
6 xmlns:reference="http://etaxonomy.eu/cdm/model/reference/1.0"
7 xmlns:xs="http://www.w3.org/2001/XMLSchema"
8 xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"
9 xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
10 xmlns:cdm="http://etaxonomy.eu/cdm/model/1.0"
11 xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
12 jxb:extensionBindingPrefixes="xjc"
14 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
15 xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
16 http://www.w3.org/2005/08/xml.xsd
17 http://www.w3.org/2001/XMLSchema
18 http://www.w3.org/2001/XMLSchema.xsd">
19 <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0" schemaLocation="media.xsd"/>
20 <xs:import namespace="http://etaxonomy.eu/cdm/model/agent/1.0" schemaLocation="agent.xsd"/>
21 <xs:import namespace="http://etaxonomy.eu/cdm/model/1.0" schemaLocation="cdm.xsd"/>
22 <xs:import namespace="http://etaxonomy.eu/cdm/model/reference/1.0" schemaLocation="reference.xsd"/>
26 <jxb:package name="eu.etaxonomy.cdm.model.common"/>
30 <xs:element name="AnnotationType" type="common:AnnotationType"/>
32 <xs:element name="DefinedTermBase" type="common:DefinedTermBase"/>
34 <xs:element name="EventBase" type="common:EventBase"/>
36 <xs:element name="ExtensionType" type="common:ExtensionType"/>
38 <xs:element name="Keyword" type="common:Keyword"/>
40 <xs:element name="Language" type="common:Language"/>
42 <xs:element name="LanguageString" type="common:LanguageString"/>
44 <xs:element name="MarkerType" type="common:MarkerType"/>
46 <xs:element name="OrderedTermBase" type="common:OrderedTermBase"/>
48 <xs:element name="OriginalSource" type="common:OriginalSource"/>
50 <xs:element name="ReferencedEntityBase" type="common:ReferencedEntityBase"/>
52 <xs:element name="RelationshipBase" type="common:RelationshipBase"/>
54 <xs:element name="RelationshipTermBase" type="common:RelationshipTermBase"/>
56 <xs:element name="Representation" type="common:Representation"/>
58 <xs:element name="TermBase" type="common:TermBase"/>
60 <xs:element name="TermVocabulary" type="common:TermVocabulary"/>
62 <xs:element name="OrderedTermVocabulary" type="common:OrderedTermVocabulary"/>
64 <xs:element name="TimePeriod" type="common:TimePeriod"/>
66 <xs:element name="User" type="common:User"/>
68 <xs:element name="GrantedAuthority" type="common:GrantedAuthority"/>
70 <xs:element name="Group" type="common:Group"/>
72 <xs:complexType name="User">
74 <xs:extension base="common:CdmBase">
76 <xs:element name="Username" type="xs:string"/>
77 <xs:element name="Password" type="xs:string"/>
78 <xs:element name="EmailAddress" type="xs:string"/>
79 <xs:element name="GrantedAuthorities" minOccurs="0">
82 <xs:element name="GrantedAuthority" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
86 <xs:element name="Groups" minOccurs="0">
89 <xs:element name="Group" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
93 <xs:element name="Enabled" type="xs:boolean"/>
94 <xs:element name="AccountNonExpired" type="xs:boolean"/>
95 <xs:element name="CredentialsNonExpired" type="xs:boolean"/>
96 <xs:element name="AccountNonLocked" type="xs:boolean"/>
97 <xs:element name="Person" type="xs:IDREF" minOccurs="0"/>
103 <xs:complexType name="Group">
105 <xs:extension base="common:CdmBase">
107 <xs:element name="Name" type="xs:string"/>
108 <xs:element name="Members" minOccurs="0">
111 <xs:element name="Member" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
115 <xs:element name="GrantedAuthorities" minOccurs="0">
118 <xs:element name="GrantedAuthority" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
127 <xs:complexType name="GrantedAuthority">
129 <xs:extension base="common:CdmBase">
131 <xs:element name="Authority" type="xs:string"/>
137 <xs:complexType name="OrderedTermBase" abstract="true">
139 <xs:extension base="common:DefinedTermBase">
141 <xs:element name="OrderIndex" type="xs:int"/>
147 <xs:complexType name="DefinedTermBase" abstract="true">
149 <xs:extension base="common:TermBase">
151 <xs:element name="Media" minOccurs="0">
154 <xs:element name="Medium" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
158 <xs:element name="TermVocabulary" type="xs:IDREF" minOccurs="0"/>
164 <xs:complexType name="TermBase" abstract="true">
166 <xs:extension base="common:IdentifiableEntity">
168 <xs:element name="URI" type="xs:anyURI" minOccurs="0"/>
169 <xs:element name="Representations" minOccurs="0">
172 <xs:element ref="common:Representation" minOccurs="0" maxOccurs="unbounded"/>
181 <xs:complexType name="VersionableEntity" abstract="true">
183 <xs:extension base="common:CdmBase">
185 <xs:element name="UpdatedBy" type="xs:IDREF" minOccurs="0"/>
186 <xs:element name="Updated" type="xs:string" minOccurs="0"/>
192 <xs:complexType name="CdmBase" abstract="true">
194 <xs:element name="Created" type="xs:string" minOccurs="0"/>
195 <xs:element name="CreatedBy" type="xs:IDREF" minOccurs="0"/>
197 <xs:attribute name="id" type="xs:int" use="required"/>
198 <xs:attribute name="uuid" type="common:UUID" use="required"/>
201 <xs:complexType name="AnnotatableEntity" abstract="true">
203 <xs:extension base="common:VersionableEntity">
205 <xs:element name="Markers" minOccurs="0">
208 <xs:element name="Marker" type="common:Marker" minOccurs="0" maxOccurs="unbounded"/>
212 <xs:element name="Annotations" minOccurs="0">
215 <xs:element name="Annotation" type="common:Annotation" minOccurs="0" maxOccurs="unbounded"/>
225 <xs:complexType name="LanguageStringBase" abstract="true">
227 <xs:extension base="common:AnnotatableEntity">
229 <xs:element name="Text" type="common:FormattedText" minOccurs="0"/>
230 <xs:element name="Language" type="xs:IDREF" minOccurs="0"/>
236 <xs:complexType name="LanguageString">
238 <xs:extension base="common:LanguageStringBase">
245 <xs:complexType name="FormattedText" mixed="true">
246 <xs:choice minOccurs="0">
247 <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" namespace="##any">
257 <xs:complexType name="Language">
259 <xs:extension base="common:DefinedTermBase">
261 <xs:attribute name="iso639_1">
263 <xs:restriction base="xs:string">
264 <!--<xs:length value="2"/>-->
268 <xs:attribute name="iso639_2">
270 <xs:restriction base="xs:string">
271 <!--<xs:length value="3"/>-->
279 <xs:complexType name="Marker">
281 <xs:extension base="common:VersionableEntity">
283 <xs:element name="Flag" type="xs:boolean"/>
284 <xs:element name="MarkerType" type="xs:IDREF" minOccurs="0"/>
285 <xs:element name="MarkedObject" type="xs:IDREF" minOccurs="0"/>
291 <xs:complexType name="MarkerType">
293 <xs:extension base="common:DefinedTermBase">
294 <xs:attribute name="isTechnical" type="xs:boolean"/>
299 <xs:complexType name="IdentifiableEntity" abstract="true">
301 <xs:extension base="common:AnnotatableEntity">
303 <xs:element name="LSID" type="common:LSID" minOccurs="0"/>
304 <xs:element name="TitleCache" type="common:FormattedText" minOccurs="0"/>
305 <xs:element name="ProtectedTitleCache" type="xs:boolean" minOccurs="0"/>
306 <xs:element name="Rights" minOccurs="0">
309 <xs:element name="Rights" type="media:Rights" minOccurs="0" maxOccurs="unbounded"/>
313 <xs:element name="Extensions" minOccurs="0">
316 <xs:element name="Extension" type="common:Extension" minOccurs="0" maxOccurs="unbounded"/>
320 <xs:element name="Credits" minOccurs="0">
323 <xs:element name="Credit" type="common:Credit" minOccurs="0" maxOccurs="unbounded"/>
327 <xs:element name="Sources" minOccurs="0">
330 <xs:element ref="common:OriginalSource" minOccurs="0" maxOccurs="unbounded"/>
339 <xs:complexType name="Credit">
341 <xs:extension base="common:LanguageStringBase">
343 <xs:element name="Agent" type="xs:IDREF" minOccurs="0"/>
344 <xs:element name="AbbreviatedText" type="xs:string" minOccurs="0"/>
350 <xs:complexType name="TimePeriod">
352 <xs:element name="Start" type="common:Partial" minOccurs="0"/>
353 <xs:element name="End" type="common:Partial" minOccurs="0"/>
354 <xs:element name="FreeText" type="xs:string" minOccurs="0"/>
358 <xs:complexType name="Extension">
360 <xs:extension base="common:VersionableEntity">
362 <xs:element name="Value" type="xs:string" minOccurs="0"/>
363 <xs:element name="ExtensionType" type="xs:IDREF" minOccurs="0"/>
364 <xs:element name="ExtendedObject" type="xs:IDREF" minOccurs="0"/>
370 <xs:complexType name="ExtensionType">
372 <xs:extension base="common:DefinedTermBase">
378 <xs:complexType name="OriginalSource">
380 <xs:extension base="common:ReferencedEntityBase">
382 <xs:element name="IdInSource" type="xs:string" minOccurs="0"/>
383 <xs:element name="IdNamespace" type="xs:string" minOccurs="0"/>
384 <xs:element name="SourcedObject" type="xs:IDREF"/>
390 <xs:complexType name="ReferencedEntityBase" abstract="true">
392 <xs:extension base="common:AnnotatableEntity">
394 <xs:element name="CitationMicroReference" type="xs:string" minOccurs="0"/>
395 <xs:element name="OriginalNameString" type="xs:string" minOccurs="0"/>
396 <xs:element name="Citation" type="xs:IDREF" minOccurs="0"/>
402 <xs:complexType name="Keyword">
404 <xs:extension base="common:OrderedTermBase">
410 <xs:complexType name="Annotation">
412 <xs:extension base="common:LanguageStringBase">
414 <xs:element name="Commentator" type="xs:IDREF" minOccurs="0"/>
415 <xs:element name="AnnotatedObject" type="xs:IDREF" minOccurs="0"/>
416 <xs:element name="AnnotationType" type="xs:IDREF" minOccurs="0"/>
417 <xs:element name="LinkbackURL" type="xs:anyURI" minOccurs="0"/>
423 <xs:complexType name="AnnotationType">
425 <xs:extension base="common:DefinedTermBase">
431 <xs:complexType name="TermVocabulary">
433 <xs:extension base="common:TermBase">
435 <xs:element name="TermSourceURI" type="xs:string" minOccurs="0"/>
436 <xs:element name="Terms" minOccurs="0">
439 <xs:element name="Term" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
448 <xs:complexType name="DescriptionElementSource">
450 <xs:extension base="common:OriginalSource">
452 <xs:element name="SourcedObject" type="xs:IDREF" minOccurs="0"/>
453 <xs:element name="nameUsedInSource" type="xs:IDREF" minOccurs="0"/>
459 <xs:complexType name="OrderedTermVocabulary">
461 <xs:extension base="common:TermVocabulary">
467 <xs:complexType name="Representation">
469 <xs:extension base="common:LanguageStringBase">
471 <xs:element name="Label" type="xs:string" minOccurs="0"/>
472 <xs:element name="AbbreviatedLabel" type="xs:string" minOccurs="0"/>
478 <xs:complexType name="RelationshipTermBase" abstract="true">
480 <xs:extension base="common:OrderedTermBase">
482 <xs:element name="Symmetric" type="xs:boolean"/>
483 <xs:element name="Transitive" type="xs:boolean"/>
484 <xs:element name="InverseRepresentations" minOccurs="0">
487 <xs:element ref="common:Representation" minOccurs="0" maxOccurs="unbounded"/>
496 <xs:complexType name="RelationshipBase" abstract="true">
498 <xs:extension base="common:ReferencedEntityBase">
499 <xs:attribute name="isDoubtful" type="xs:boolean"/>
503 <xs:element name="KindOf" type="xs:IDREF"/>
505 <xs:element name="Generalizations">
508 <xs:element name="GeneralizationOf" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
512 <xs:element name="PartOf" type="xs:IDREF"/>
514 <xs:element name="Includes">
517 <xs:element name="Include" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
522 <xs:complexType name="EventBase" abstract="true">
524 <xs:extension base="common:AnnotatableEntity">
526 <xs:element ref="common:TimePeriod" minOccurs="0"/>
527 <xs:element name="Actor" type="xs:IDREF" minOccurs="0"/>
528 <xs:element name="Description" type="xs:string" minOccurs="0"/>
534 <xs:complexType name="LSIDAuthority">
536 <xs:element name="Authority" type="xs:string"/>
537 <xs:element name="Server" type="xs:string"/>
538 <xs:element name="Port" type="xs:string"/>
539 <xs:element name="Url" type="xs:string"/>
540 <xs:element name="Namespaces" type="common:Namespaces"/>
544 <xs:complexType name="Namespaces">
546 <xs:element ref="common:Namespace" minOccurs="1" maxOccurs="unbounded"/>
549 <xs:element name="Namespace" type="common:Namespace"/>
550 <xs:complexType name="Namespace">
552 <xs:element name="NSpace" type="xs:string"/>
553 <xs:element name="Class" type="xs:string"/>
557 <xs:complexType name="MultilanguageText">
559 <xs:element ref="common:LanguageString" minOccurs="0" maxOccurs="unbounded"/>
563 <xs:simpleType name="UUID">
566 <xjc:javaType name="java.util.UUID" adapter="eu.etaxonomy.cdm.jaxb.UUIDAdapter"/>
569 <xs:restriction base="xs:ID">
570 <xs:pattern value="urn-uuid-([0-9]|[a-f]|[A-F]){8}(-([0-9]|[a-f]|[A-F]){4})(-([0-9]|[a-f]|[A-F]){4})(-([0-9]|[a-f]|[A-F]){4})(-([0-9]|[a-f]|[A-F]){12})"/>
573 <xs:simpleType name="LSID" >
576 <xjc:javaType name="eu.etaxonomy.cdm.model.common.LSID" adapter="eu.etaxonomy.cdm.jaxb.LSIDAdapter"/>
579 <xs:restriction base="xs:anyURI">
580 <xs:pattern value="(urn|URN):(LSID|lsid):[a-zA-Z0-9\(\)\+,\-\.=@;$_!\*']+:[a-zA-Z0-9\(\)\+,\-\.=@;$_!\*'/]+:[a-zA-Z0-9\(\)\+,\-\.=@;$_!\*']+(:[a-zA-Z0-9\(\)\+,\-\.=@;$_!\*']+)*"></xs:pattern>
583 <xs:simpleType name="Partial">
586 <xjc:javaType name="org.joda.time.Partial" adapter="eu.etaxonomy.cdm.jaxb.PartialAdapter"/>
589 <xs:restriction base="xs:string">
590 <xs:pattern value="[0-9]{4}(-[0-9]{1,2}(-[0-9]{1,2}(T[0-9]{2}(:[0-9]{2}(:[0-9]{2}(\.[0-9]+)?)?)?)?)?)?"/>