<xsd:include schemaLocation="http://meta.tv.funet.fi/schemas/temporal.xsd" />
<xsd:include schemaLocation="http://meta.tv.funet.fi/schemas/spatial.xsd" />
-<xsd:element name="person">
<xsd:documentation>The person group is derived from the VCARD 3.0 as defined in the RFC 2426. Both the Vide and LOM recommend using VCARD but it's syntax
is not XML-compliant hence this adaptation to an XML Schema. RDF schema was also used as input in the process. While RDF is syntactically
XML it's not semantically hierarchical XML like the rest of our metadata. The VCARD spec was enhanced with some MPEG-7 and other ideas
with the addition of groups and organizations that may have jurisdiction. Geo was also enhanced to allow for the same DCMI point and box
definitions as is used in the DC side.
</xsd:documentation>
</xsd:annotation>
-<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="fullname" maxOccurs="unbounded" />
<xsd:element ref="name" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="nickname" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="jobtitle" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="role" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="organization" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="email" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="tel" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="label" minOccurs="0" />
<xsd:element ref="geo" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="photo" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="logo" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="sound" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="key" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="agent" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="uid" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="tz" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="class" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="sort-string" minOccurs="0" />
<xsd:element ref="rev" minOccurs="0" />
<xsd:element ref="prodid" minOccurs="0" />
<xsd:element ref="note" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="directorysource" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="categories" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="period" minOccurs="0" />
<xsd:element ref="mailer" minOccurs="0" />
<xsd:element ref="url" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" />
</xsd:complexType>
</xsd:element>
-<xsd:element name="name">
<xsd:documentation>This corresponds to the N field in the VCARD 3.0 definition. With the MPEG-7 inspired middle field added just in case...</xsd:documentation>
</xsd:annotation>
-<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="family" minOccurs="0" />
<xsd:element ref="given" minOccurs="0" />
<xsd:element ref="additionalname" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="prefix" minOccurs="0" />
<xsd:element ref="middle" minOccurs="0" />
<xsd:element ref="suffix" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="family" type="xsd:string" />
<xsd:element name="given" type="xsd:string" />
<xsd:element name="additionalname" type="xsd:string" />
<xsd:element name="prefix" type="xsd:string" />
-<xsd:element name="suffix" type="xsd:string">
<xsd:documentation>Anything that after the name like Jr., M.D. or </xsd:documentation>
</xsd:annotation>
</xsd:element>
-<xsd:element name="org">
<xsd:element ref="orgname" />
<xsd:element ref="orgunit" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="orgunit" type="xsd:string" />
-<xsd:element name="photo">
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:restriction base="xsd:NMTOKENS">
<xsd:enumeration value="binary" />
<xsd:enumeration value="uri" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
-<xsd:element name="logo">
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:restriction base="xsd:NMTOKENS">
<xsd:enumeration value="binary" />
<xsd:enumeration value="uri" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
-<xsd:element name="sound">
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:restriction base="xsd:NMTOKENS">
<xsd:enumeration value="binary" />
<xsd:enumeration value="uri" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="key" type="xsd:string" />
<xsd:element name="agent" type="xsd:string" />
<xsd:element name="uid" type="xsd:string" />
-<xsd:element name="addrproperties">
<xsd:element ref="pobox" minOccurs="0" />
<xsd:element ref="extendedaddress" minOccurs="0" />
<xsd:element ref="street" minOccurs="0" />
<xsd:element ref="locality" minOccurs="0" />
<xsd:element ref="region" minOccurs="0" />
<xsd:element ref="pcode" minOccurs="0" />
<xsd:element ref="country" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="pobox" type="xsd:string" />
<xsd:element name="extendedaddress" type="xsd:string" />
<xsd:element name="street" type="xsd:string" />
<xsd:element name="locality" type="xsd:string" />
<xsd:element name="region" type="xsd:string" />
<xsd:element name="pcode" type="xsd:string" />
<xsd:element name="country" type="xsd:string" />
<xsd:element ref="tzhours" />
<xsd:element ref="tzminutes" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
-<xsd:element name="tel">
-<xsd:extension base="phonenumber">
-<xsd:attribute name="teltypes">
-<xsd:restriction base="xsd:NMTOKENS">
<xsd:enumeration value="home" />
<xsd:enumeration value="work" />
<xsd:enumeration value="cell" />
<xsd:enumeration value="pager" />
<xsd:enumeration value="modem" />
<xsd:enumeration value="isdn" />
<xsd:enumeration value="msg" />
<xsd:enumeration value="fax" />
<xsd:enumeration value="video" />
<xsd:enumeration value="bbs" />
<xsd:enumeration value="car" />
<xsd:enumeration value="pcs" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="class" type="xsd:string" />
<xsd:element name="sort-string" type="xsd:string" />
<xsd:element name="rev" type="xsd:string" />
<xsd:element name="prodid" type="xsd:string" />
<xsd:element name="note" type="xsd:string" />
-<xsd:element name="directorysource" type="xsd:string">
<xsd:documentation>In the VCARD 3.0 it's name was source but it was renamed to avoid possible conflicts with the DC source definition in the
master metadata schema. Since sematincs are nearly the same they could possibly be combined even though the idea is
that the contact information database (or directory as in LDAP) should probably be stored separately from the rest of the metadata
for ease of contact information maintenance.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="categories" type="xsd:string" />
-<xsd:element name="role">
-<xsd:extension base="xsd:string">
<xsd:attribute name="scheme" type="xsd:string" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="jobtitle" type="xsd:string" />
-<xsd:element name="geo">
-<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="point" />
<xsd:element ref="box" />
<xsd:element ref="location" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:element name="mailer" type="xsd:string" />
<xsd:element name="nickname" type="xsd:string" />
-<xsd:element name="fullname" type="xsd:string">
<xsd:documentation>The full name of a person as defined in the VCARD field FN. In vcard standard it seems to be used as a handle but it should be avoided
because of name conflicts. Use an id in the person record instead. This could by default constructed from the elements in the fullname record
and used thus only when output and input with full VCARD semantics is necessary or the complete name is deemed too long or complex to
be used in the compact metadata views. The RFC2426 states that it must be in every VCARD object and is based on the Common Name definition in the X.520
standard.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="orgname" type="xsd:string" />
-<xsd:element name="label">
<xsd:element ref="addrproperties" />
</xsd:sequence>
-<xsd:attribute name="addrtypes">
-<xsd:restriction base="xsd:NMTOKENS">
<xsd:enumeration value="dom" />
<xsd:enumeration value="parcel" />
<xsd:enumeration value="work" />
<xsd:enumeration value="postal" />
<xsd:enumeration value="home" />
<xsd:enumeration value="pref" />
<xsd:enumeration value="intl" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
<xsd:element name="url" type="xsd:anyURI" />
-<xsd:element name="email">
-<xsd:extension base="xsd:normalizedString">
-<xsd:attribute name="emailtypes">
-<xsd:restriction base="xsd:NMTOKENS">
<xsd:enumeration value="internet" />
<xsd:enumeration value="x400" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
-<xsd:simpleType name="phonenumber">
-<!--
Ipedo didn't like this <xsd:whiteSpace value = "preserve"/>
-->
-<xsd:restriction base="xsd:normalizedString">
<xsd:maxLength value="50" />
<xsd:minLength value="4" />
<xsd:pattern value="\+[0-9]{1,3}\-[0-9 ]{1,45}" />
</xsd:restriction>
</xsd:simpleType>
-<xsd:element name="group">
<xsd:element ref="groupname" />
<xsd:element ref="note" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="grouptype" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="jurisdiction" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="members" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="groupname" type="xsd:normalizedString" />
<xsd:element name="grouptype" type="xsd:normalizedString" />
-<xsd:element name="jurisdiction">
<xsd:documentation>The requirement for Jurisdiction comes from the MPEG-7 world and might be necessary when dealing with lawyers... It's here just in case it's needed.</xsd:documentation>
</xsd:annotation>
<xsd:element ref="jurisdictionname" />
<xsd:element ref="label" minOccurs="0" />
<xsd:element ref="geo" minOccurs="0" />
<xsd:element ref="url" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="class" minOccurs="0" />
<xsd:element ref="note" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="jurisdictionname" type="xsd:normalizedString" />
-<xsd:element name="members">
<xsd:element ref="person" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="group" minOccurs="0" maxOccurs="unbounded" />
<xsd:element ref="organization" minOccurs="0" maxOccurs="unbounded" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
-<xsd:element name="organization">
<xsd:documentation>Organization is derived from the VCARD spec with the removal of the personal name and addition of the jurisdiction elements.
</xsd:documentation>
</xsd:annotation>
-<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="org" />
<xsd:element ref="email" />
<xsd:element ref="tel" />
<xsd:element ref="label" />
<xsd:element ref="class" />
<xsd:element ref="note" />
<xsd:element ref="geo" />
<xsd:element ref="jurisdiction" />
<xsd:element ref="url" />
<xsd:element ref="key" />
<xsd:element ref="photo" />
</xsd:choice>
</xsd:complexType>
</xsd:element>
-<xsd:element name="middle" type="xsd:string">
<xsd:documentation>Anything that comes in between the given name and surname. Could be used for generation qualifier that has been present
in some contexts or something else that should be printed in the middle.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="location" type="xsd:string" />
</xsd:schema>