XML Schema : entity.xsd
Schema Comments:
Modules Used http://meta.tv.funet.fi/schemas/temporal.xsd
http://meta.tv.funet.fi/schemas/spatial.xsd
Processing Instructions
Schema has: 51element definitions,  0 global attribute definitions,  8 element attribute definitions,  1 datatype definitions.
Possible root elements: No obvious root elements

Element list

Element additionalname
 
diagram
description
 
used by elementsname
content sequence (default)
type xsd:string
 
source
 <xsd:element name="additionalname" type="xsd:string" />

Element addrproperties
 
diagram
description
uses elements country, extendedaddress, locality, pcode, pobox, region, street
 
used by elementslabel
content sequence
 
source
-<xsd:element name="addrproperties">
-<xsd:complexType>
-<xsd:sequence>
 <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>

Element agent
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="agent" type="xsd:string" />

Element categories
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="categories" type="xsd:string" />

Element class
 
diagram
description
 
used by elementsjurisdiction, organization, person
content sequence (default)
type xsd:string
 
source
 <xsd:element name="class" type="xsd:string" />

Element country
 
diagram
description
 
used by elementsaddrproperties
content sequence (default)
type xsd:string
 
source
 <xsd:element name="country" type="xsd:string" />

Element directorysource
 
diagram
description 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.
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
-<xsd:element name="directorysource" type="xsd:string">
-<xsd:annotation>
 <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>

Element email
 
diagram
description
uses attributes email/emailtypes
 
used by elementsorganization, person
substitution hierarchy email
content sequence (default)
 
Attribute Datatype Use Values Default Comments
emailtypes {} optional (default) possible values: internet | x400
 
source
-<xsd:element name="email">
-<xsd:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:normalizedString">
-<xsd:attribute name="emailtypes">
-<xsd:simpleType>
-<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>

Element extendedaddress
 
diagram
description
 
used by elementsaddrproperties
content sequence (default)
type xsd:string
 
source
 <xsd:element name="extendedaddress" type="xsd:string" />

Element family
 
diagram
description
 
used by elementsname
content sequence (default)
type xsd:string
 
source
 <xsd:element name="family" type="xsd:string" />

Element fullname
 
diagram
description 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.
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
-<xsd:element name="fullname" type="xsd:string">
-<xsd:annotation>
 <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>

Element geo
 
diagram
description
uses elements box, location, point
 
used by elementsjurisdiction, organization, person
content choice
 
source
-<xsd:element name="geo">
-<xsd:complexType>
-<xsd:choice minOccurs="0" maxOccurs="unbounded">
 <xsd:element ref="point" />
 <xsd:element ref="box" />
 <xsd:element ref="location" />
 </xsd:choice>
 </xsd:complexType>
 </xsd:element>

Element given
 
diagram
description
 
used by elementsname
content sequence (default)
type xsd:string
 
source
 <xsd:element name="given" type="xsd:string" />

Element group
 
diagram
description
uses elements groupname, grouptype, jurisdiction, members, note
 
used by elementsmembers
content sequence
 
source
-<xsd:element name="group">
-<xsd:complexType>
-<xsd:sequence>
 <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>

Element groupname
 
diagram
description
 
used by elementsgroup
content sequence (default)
type xsd:normalizedString
 
source
 <xsd:element name="groupname" type="xsd:normalizedString" />

Element grouptype
 
diagram
description
 
used by elementsgroup
content sequence (default)
type xsd:normalizedString
 
source
 <xsd:element name="grouptype" type="xsd:normalizedString" />

Element jobtitle
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="jobtitle" type="xsd:string" />

Element jurisdiction
 
diagram
description 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.
uses elements class, geo, jurisdictionname, label, note, url
 
used by elementsgroup, organization
content sequence
 
source
-<xsd:element name="jurisdiction">
-<xsd:annotation>
 <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:complexType>
-<xsd:sequence>
 <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>

Element jurisdictionname
 
diagram
description
 
used by elementsjurisdiction
content sequence (default)
type xsd:normalizedString
 
source
 <xsd:element name="jurisdictionname" type="xsd:normalizedString" />

Element key
 
diagram
description
 
used by elementsorganization, person
content sequence (default)
type xsd:string
 
source
 <xsd:element name="key" type="xsd:string" />

Element label
 
diagram
description
uses elements addrproperties
uses attributes label/addrtypes
 
used by elementsjurisdiction, organization, person
substitution hierarchy label
content sequence
 
Attribute Datatype Use Values Default Comments
addrtypes {} optional (default) possible values: dom | parcel | work | postal | home | pref | intl
 
source
-<xsd:element name="label">
-<xsd:complexType>
-<xsd:sequence>
 <xsd:element ref="addrproperties" />
 </xsd:sequence>
-<xsd:attribute name="addrtypes">
-<xsd:simpleType>
-<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>

Element locality
 
diagram
description
 
used by elementsaddrproperties
content sequence (default)
type xsd:string
 
source
 <xsd:element name="locality" type="xsd:string" />

Element location
 
diagram
description
 
used by elementsgeo
content sequence (default)
type xsd:string
 
source
 <xsd:element name="location" type="xsd:string" />

Element logo
 
diagram
description
uses attributes logo/type
 
used by elementsperson
substitution hierarchy logo
content sequence (default)
 
Attribute Datatype Use Values Default Comments
type {} optional (default) possible values: binary | uri
 
source
-<xsd:element name="logo">
-<xsd:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:simpleType>
-<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>

Element mailer
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="mailer" type="xsd:string" />

Element members
 
diagram
description
uses elements group, organization, person
 
used by elementsgroup
content choice
 
source
-<xsd:element name="members">
-<xsd:complexType>
-<xsd:choice>
 <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>

Element middle
 
diagram
description 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.
 
used by elementsname
content sequence (default)
type xsd:string
 
source
-<xsd:element name="middle" type="xsd:string">
-<xsd:annotation>
 <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>

Element name
 
diagram
description This corresponds to the N field in the VCARD 3.0 definition. With the MPEG-7 inspired middle field added just in case...
uses elements additionalname, family, given, middle, prefix, suffix
 
used by elementsperson
content sequence
 
source
-<xsd:element name="name">
-<xsd:annotation>
 <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:complexType>
-<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>

Element nickname
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="nickname" type="xsd:string" />

Element note
 
diagram
description
 
used by elementsgroup, jurisdiction, organization, person
content sequence (default)
type xsd:string
 
source
 <xsd:element name="note" type="xsd:string" />

Element org
 
diagram
description
uses elements orgname, orgunit
 
used by elementsorganization
content sequence
 
source
-<xsd:element name="org">
-<xsd:complexType>
-<xsd:sequence>
 <xsd:element ref="orgname" />
 <xsd:element ref="orgunit" minOccurs="0" maxOccurs="unbounded" />
 </xsd:sequence>
 </xsd:complexType>
 </xsd:element>

Element organization
 
diagram
description Organization is derived from the VCARD spec with the removal of the personal name and addition of the jurisdiction elements.
uses elements class, email, geo, jurisdiction, key, label, note, org, photo, tel, tz, url
 
used by elementsmembers, person
content choice
 
source
-<xsd:element name="organization">
-<xsd:annotation>
 <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:complexType>
-<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="tz" />
 <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>

Element orgname
 
diagram
description
 
used by elementsorg
content sequence (default)
type xsd:string
 
source
 <xsd:element name="orgname" type="xsd:string" />

Element orgunit
 
diagram
description
 
used by elementsorg
content sequence (default)
type xsd:string
 
source
 <xsd:element name="orgunit" type="xsd:string" />

Element pcode
 
diagram
description
 
used by elementsaddrproperties
content sequence (default)
type xsd:string
 
source
 <xsd:element name="pcode" type="xsd:string" />

Element person
 
diagram
description 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.
uses elements agent, categories, class, directorysource, email, fullname, geo, jobtitle, key, label, logo, mailer, name, nickname, note, organization, period, photo, prodid, rev, role, sort-string, sound, tel, tz, uid, url
uses attributes person/id
 
used by elementsmembers
content sequence
 
Attribute Datatype Use Values Default Comments
id xsd:string optional (default)
 
source
-<xsd:element name="person">
-<xsd:annotation>
 <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:complexType>
-<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>

Element photo
 
diagram
description
uses attributes photo/type
 
used by elementsorganization, person
substitution hierarchy photo
content sequence (default)
 
Attribute Datatype Use Values Default Comments
type {} optional (default) possible values: binary | uri
 
source
-<xsd:element name="photo">
-<xsd:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:simpleType>
-<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>

Element pobox
 
diagram
description
 
used by elementsaddrproperties
content sequence (default)
type xsd:string
 
source
 <xsd:element name="pobox" type="xsd:string" />

Element prefix
 
diagram
description
 
used by elementsname
content sequence (default)
type xsd:string
 
source
 <xsd:element name="prefix" type="xsd:string" />

Element prodid
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="prodid" type="xsd:string" />

Element region
 
diagram
description
 
used by elementsaddrproperties
content sequence (default)
type xsd:string
 
source
 <xsd:element name="region" type="xsd:string" />

Element rev
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="rev" type="xsd:string" />

Element role
 
diagram
description
uses attributes role/scheme
 
used by elementsperson
substitution hierarchy role
content sequence (default)
 
Attribute Datatype Use Values Default Comments
scheme xsd:string optional (default)
 
source
-<xsd:element name="role">
-<xsd:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:string">
 <xsd:attribute name="scheme" type="xsd:string" />
 </xsd:extension>
 </xsd:simpleContent>
 </xsd:complexType>
 </xsd:element>

Element sort-string
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="sort-string" type="xsd:string" />

Element sound
 
diagram
description
uses attributes sound/type
 
used by elementsperson
substitution hierarchy sound
content sequence (default)
 
Attribute Datatype Use Values Default Comments
type {} optional (default) possible values: binary | uri
 
source
-<xsd:element name="sound">
-<xsd:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:simpleType>
-<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>

Element street
 
diagram
description
 
used by elementsaddrproperties
content sequence (default)
type xsd:string
 
source
 <xsd:element name="street" type="xsd:string" />

Element suffix
 
diagram
description Anything that after the name like Jr., M.D. or
 
used by elementsname
content sequence (default)
type xsd:string
 
source
-<xsd:element name="suffix" type="xsd:string">
-<xsd:annotation>
 <xsd:documentation>Anything that after the name like Jr., M.D. or </xsd:documentation>
 </xsd:annotation>
 </xsd:element>

Element tel
 
diagram
description
uses attributes tel/teltypes
 
used by elementsorganization, person
substitution hierarchy tel
content sequence (default)
 
Attribute Datatype Use Values Default Comments
teltypes {} optional (default) possible values: home | work | cell | pager | modem | isdn | msg | fax | video | bbs | car | pcs
 
source
-<xsd:element name="tel">
-<xsd:complexType>
-<xsd:simpleContent>
-<xsd:extension base="phonenumber">
-<xsd:attribute name="teltypes">
-<xsd:simpleType>
-<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>

Element tz
 
diagram
description
uses elements tzhours, tzminutes
 
used by elementsorganization, person
content sequence
 
source
-<xsd:element name="tz">
-<xsd:complexType>
-<xsd:sequence>
 <xsd:element ref="tzhours" />
 <xsd:element ref="tzminutes" />
 </xsd:sequence>
 </xsd:complexType>
 </xsd:element>

Element uid
 
diagram
description
 
used by elementsperson
content sequence (default)
type xsd:string
 
source
 <xsd:element name="uid" type="xsd:string" />

Element url
 
diagram
description
 
used by elementsjurisdiction, organization, person
content sequence (default)
type xsd:anyURI
 
source
 <xsd:element name="url" type="xsd:anyURI" />

DataType definitions

Datatype phonenumber   defined by restriction
 
dt base xsd:normalizedString
pattern \+[0-9]{1,3}\-[0-9 ]{1,45}

Original Schema Source

<!--
Generated by Turbo XML 2.3.0.100. Conforms to w3c http://www.w3.org/2001/XMLSchema
 -->
-<xsd:schema version="0.2" elementFormDefault="qualified">
 <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:annotation>
 <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:complexType>
-<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:annotation>
 <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:complexType>
-<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:annotation>
 <xsd:documentation>Anything that after the name like Jr., M.D. or </xsd:documentation>
 </xsd:annotation>
 </xsd:element>
-<xsd:element name="org">
-<xsd:complexType>
-<xsd:sequence>
 <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:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:simpleType>
-<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:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:simpleType>
-<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:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:string">
-<xsd:attribute name="type">
-<xsd:simpleType>
-<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:complexType>
-<xsd:sequence>
 <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 name="tz">
-<xsd:complexType>
-<xsd:sequence>
 <xsd:element ref="tzhours" />
 <xsd:element ref="tzminutes" />
 </xsd:sequence>
 </xsd:complexType>
 </xsd:element>
-<xsd:element name="tel">
-<xsd:complexType>
-<xsd:simpleContent>
-<xsd:extension base="phonenumber">
-<xsd:attribute name="teltypes">
-<xsd:simpleType>
-<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:annotation>
 <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:complexType>
-<xsd:simpleContent>
-<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:complexType>
-<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:annotation>
 <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:complexType>
-<xsd:sequence>
 <xsd:element ref="addrproperties" />
 </xsd:sequence>
-<xsd:attribute name="addrtypes">
-<xsd:simpleType>
-<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:complexType>
-<xsd:simpleContent>
-<xsd:extension base="xsd:normalizedString">
-<xsd:attribute name="emailtypes">
-<xsd:simpleType>
-<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:complexType>
-<xsd:sequence>
 <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:annotation>
 <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:complexType>
-<xsd:sequence>
 <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:complexType>
-<xsd:choice>
 <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:annotation>
 <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:complexType>
-<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="tz" />
 <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:annotation>
 <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>