Draft Four XSD Schema

<?xml version=”1.0″ encoding=”UTF-8″?>
<xs:schema xmlns:xs=”http://www.w3.org/2001/XMLSchema”
xmlns:vc=”http://www.w3.org/2007/XMLSchema-versioning” elementFormDefault=”qualified”
vc:minVersion=”1.1″>
<xs:element name=”home_movie_metadata”>
<xs:complexType>
<xs:sequence>
<xs:element name=”title” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”titleName”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”titleSort”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”titleKeyword”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”creator” minOccurs=”0″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”creatorName”>
<xs:complexType>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”personalName”/>
<xs:enumeration value=”corporateName”/>
<xs:enumeration value=”companyName”></xs:enumeration>
</xs:restriction>
<xs:sequence>
<xs:element name=”firstname” type=”xs:string”/>
<xs:element name=”lastname” type=”xs:string”/>
</xs:sequence>
</xs:complexType>
</xs:attribute>
</xs:complexType>
<xs:attribute name=”creatorDOBDOD”>
<xs:simpleType>
<xs:restriction base=”xs:gYearMonth”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”creatorNationality”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”creatorLocation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”dateCreated” minOccurs=”1″ maxOccurs=”1″>
<xs:simpleType>
<xs:restriction base=”xs:date”/>
</xs:simpleType>
</xs:element>
<xs:element name=”object” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”objectFormat”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”objectRunTime”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”objectAspectRatio”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”objectFrameRate”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”event” minOccurs=”0″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”eventType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”eventDate”>
<xs:simpleType>
<xs:restriction base=”xs:date”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”eventAgent”>
<xs:simpleType>
<xs:restriction base=”xs:ID”></xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”eventNotes”>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”agent” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”agentIdentifier”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”agentIdentifierType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”agentIdentifierValue”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”agentName”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”agentType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”agentNote”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”MIMEtype” minOccurs=”0″ maxOccurs=”unbounded”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:element>
<xs:element name=”location” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”contentLocation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”contentLocationType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”contentLocationValue”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”storageMedium”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”instantiationLocation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”technical_metadata” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:element>
<xs:element name=”rights_metadata” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:element>
<xs:element name=”description” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”descriptionType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”descriptionTypeSource”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”descriptionTypeVersion”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”descriptionTypeAnnotation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”descriptionTypeShotList”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”startTime”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”endTime”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”timeAnnotation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”preservation” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”preservationType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”preservationRationale”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”preservationValue”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”preservationDate”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”preservationRecommendations”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”subject” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”subjectType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”subjectTypeSource”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”subjectTypeRef”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”subjectTypeVersion”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”subjectTypeAnnotation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”Usertags” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”UsertagType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”UsertagLocation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”UsertagValue”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”UsertagAssociation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”UsertagRelation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”Usersource” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”UsersourceName”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”UsersourceNationality”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”UsersourceEducation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”UsersourceRegion”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>