1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema elementFormDefault="qualified"
3 attributeFormDefault="unqualified" version="1.0"
4 targetNamespace="http://etaxonomy.eu/cdm/model/agent/1.0" xmlns:agent="http://etaxonomy.eu/cdm/model/agent/1.0"
5 xmlns:common="http://etaxonomy.eu/cdm/model/common/1.0" xmlns:location="http://etaxonomy.eu/cdm/model/location/1.0"
6 xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:media="http://etaxonomy.eu/cdm/model/media/1.0"
7 xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
8 jxb:extensionBindingPrefixes="xjc" jxb:version="2.1"
9 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10 xsi:schemaLocation="http://www.w3.org/XML/1998/namespace
11 http://www.w3.org/2005/08/xml.xsd
12 http://www.w3.org/2001/XMLSchema
13 http://www.w3.org/2001/XMLSchema.xsd">
14 <xs:import namespace="http://etaxonomy.eu/cdm/model/common/1.0"
15 schemaLocation="common.xsd" />
16 <xs:import namespace="http://etaxonomy.eu/cdm/model/media/1.0"
17 schemaLocation="media.xsd" />
18 <xs:import namespace="http://etaxonomy.eu/cdm/model/location/1.0"
19 schemaLocation="location.xsd" />
23 <jxb:package name="eu.etaxonomy.cdm.model.agent" />
28 <xs:element name="Address" type="agent:Address" />
30 <xs:element name="Contact" type="agent:Contact" />
32 <xs:element name="Institution" type="agent:Institution" />
34 <xs:element name="InstitutionType" type="agent:InstitutionType" />
36 <xs:element name="InstitutionalMembership" type="agent:InstitutionalMembership" />
38 <xs:element name="Person" type="agent:Person"/>
40 <xs:element name="Team" type="agent:Team" />
43 <xs:complexType name="Address">
45 <xs:extension base="common:VersionableEntity">
47 <xs:element name="POBox" type="xs:string" minOccurs="0"/>
48 <xs:element name="Street" type="xs:string" minOccurs="0"/>
49 <xs:element name="Postcode" type="xs:string" minOccurs="0"/>
50 <xs:element name="Locality" type="xs:string"/>
51 <xs:element name="Region" type="xs:string" minOccurs="0"/>
52 <xs:element name="Country" type="xs:IDREF" minOccurs="0"/>
53 <xs:element name="Location" type="location:Point" minOccurs="0"/>
59 <xs:complexType name="Person">
61 <xs:extension base="agent:TeamOrPersonBase">
63 <xs:element name="Prefix" type="xs:string" minOccurs="0"/>
64 <xs:element name="FirstName" type="xs:string" minOccurs="0"/>
65 <xs:element name="LastName" type="xs:string" minOccurs="0"/>
66 <xs:element name="Suffix" type="xs:string" minOccurs="0"/>
67 <xs:element name="Lifespan" type="common:TimePeriod" minOccurs="0"/>
68 <xs:element name="InstitutionalMemberships" minOccurs="0">
71 <xs:element ref="agent:InstitutionalMembership" minOccurs="0" maxOccurs="unbounded"/>
75 <xs:element name="Keywords" minOccurs="0">
78 <xs:element name="Keyword" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
89 <xs:complexType name="AgentBase" abstract="true">
91 <xs:extension base="media:IdentifiableMediaEntity">
93 <xs:element name="Contact" type="agent:Contact"
100 <xs:complexType name="InstitutionalMembership">
102 <xs:extension base="common:VersionableEntity">
104 <xs:element name="Period" type="common:TimePeriod"
106 <xs:element name="Department" type="xs:string"
108 <xs:element name="Role" type="xs:string" minOccurs="0" />
109 <xs:element name="Institution" type="xs:IDREF" />
110 <xs:element name="Person" type="xs:IDREF" />
116 <xs:complexType name="Institution">
118 <xs:extension base="agent:AgentBase">
120 <xs:element name="Code" type="xs:string" minOccurs="0" />
121 <xs:element name="Name" type="xs:string" minOccurs="0" />
122 <xs:element name="Types" minOccurs="0">
125 <xs:element name="Type" type="xs:IDREF" minOccurs="0"
126 maxOccurs="unbounded" />
130 <xs:element name="IsPartOf" type="xs:IDREF" minOccurs="0" />
136 <xs:complexType name="InstitutionType">
138 <xs:extension base="common:DefinedTermBase">
144 <xs:complexType name="Contact">
146 <xs:element name="EmailAddresses" minOccurs="0">
149 <xs:element name="EmailAddress" minOccurs="0"
150 maxOccurs="unbounded">
152 <xs:restriction base="xs:string">
154 value="[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*" />
161 <xs:element name="URLs" minOccurs="0">
164 <xs:element name="URL" type="xs:anyURI" minOccurs="0"
165 maxOccurs="unbounded" />
169 <xs:element name="PhoneNumbers" minOccurs="0">
172 <xs:element name="PhoneNumber" type="xs:string"
173 minOccurs="0" maxOccurs="unbounded" />
177 <xs:element name="FaxNumbers" minOccurs="0">
180 <xs:element name="FaxNumber" type="xs:string"
181 minOccurs="0" maxOccurs="unbounded" />
185 <xs:element name="Addresses" minOccurs="0">
188 <xs:element ref="agent:Address" minOccurs="0"
189 maxOccurs="unbounded" />
196 <xs:complexType name="TeamOrPersonBase" abstract="true">
198 <xs:extension base="agent:AgentBase">
200 <xs:element name="NomenclaturalTitle" type="xs:string" minOccurs="0"/>
206 <xs:complexType name="Team">
208 <xs:extension base="agent:TeamOrPersonBase">
210 <xs:element name="ProtectedNomenclaturalTitleCache"
212 <xs:element name="TeamMembers" minOccurs="0">
215 <xs:element name="TeamMember" type="xs:IDREF"
216 minOccurs="0" maxOccurs="unbounded" />