UPMS XSD Schema File

Formatted XSD file

<?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.0″ vc:maxVersion=”1.1″>
<xs:element name=”home_movie_metadata”>
<xs:complexType>
<xs:sequence>
<xs:element name=”title” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:annotation>
<xs:documentation>title element has three attributes you may declare: titleName, titleSort, titleKeyword</xs:documentation>
</xs:annotation>
<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:annotation>
<xs:documentation>creator element has four attributes you may declare: creatorName, creatorDOB/DOD, creatorNationality, creatorLocation</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name=”creatorName”>
<xs:simpleType>
<xs:restriction base=”xs:string”>
<xs:enumeration value=”personalName”/>
<xs:enumeration value=”corporateName”/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<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:annotation>
<xs:documentation>object element has four attributes you may declare: objectFormat, objectRunTime, objectAspectRatio, objectFrameRate</xs:documentation>
</xs:annotation>
<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=”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:annotation>
<xs:documentation>location element has three attributes you may declare: contentLocation, contentLocationValue, storageMedium</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name=”contentLocation”>
<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:complexType>
</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=”subject” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:complexType>
<xs:attribute name=”subjectTypeAnnotation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name=”description” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:annotation>
<xs:documentation>description element has three attributes you may declare: descriptionTypeAnnotation, descriptionTypeShotList (with two sub attributes of startTime and endTime), and timeAnnotation</xs:documentation>
</xs:annotation>
<xs:complexType>
<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:annotation>
<xs:documentation>preservation element has five attributes you may declare: preservationType, preservationRationale, preservationValue, preservationDate</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name=”preservationRecommendations”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<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:complexType>
</xs:element>
<xs:element name=”event” minOccurs=”0″ maxOccurs=”unbounded”>
<xs:annotation>
<xs:documentation>event element has four attributes you may declare: eventType, eventDate, eventAgent, eventNotes</xs:documentation>
</xs:annotation>
<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:annotation>
<xs:documentation>agent element has three attributes you may declare: agentName, agentType, agentNote</xs:documentation>
</xs:annotation>
<xs:complexType>
<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=”UserTags” minOccurs=”1″ maxOccurs=”unbounded”>
<xs:annotation>
<xs:documentation>userTags element has four attributes you may declare: userTagType, userTagLocation, userTagIdentification, userTagRelation</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name=”usertTagType”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”usertTagLocation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”userTagIdentifier”>
<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:annotation>
<xs:documentation>UserSource element has four attributes you may declare: userSourceName, userSourceNationality, userSourceEducation, userSourceRegion</xs:documentation>
</xs:annotation>
<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=”usersSourceEducation”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
<xs:attribute name=”usersSourceRegion”>
<xs:simpleType>
<xs:restriction base=”xs:string”/>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

Original Draft