Tidying a few things up.
[libdcp.git] / xsd / PROTO-ASDCP-AM-20040311.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Schema for Interop Asset Map namespace -->
3 <!-- Assembled from mpeg_ii_am_spec.doc 2004-11-23 -->
4
5 <xs:schema
6   targetNamespace="http://www.digicine.com/PROTO-ASDCP-AM-20040311#"
7   xmlns:xs="http://www.w3.org/2001/XMLSchema"
8   xmlns:cpl="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
9   xmlns:am="http://www.digicine.com/PROTO-ASDCP-AM-20040311#"
10   elementFormDefault="qualified" attributeFormDefault="unqualified">
11
12 <!--The following xs:import statements should not really be here, but are
13     provided so that XMLSpy will validate the schema itself, independently
14     of an instance of a Asset Map
15 -->
16 <xs:import namespace="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
17     schemaLocation="http://www.digicine.com/PROTO-ASDCP-CPL-20040511.xsd"/>
18
19   <!-- Asset Map Type -->
20   <xs:element name="AssetMap" type="am:AssetMapType"/>
21     <xs:complexType name="AssetMapType">
22       <xs:sequence>
23         <xs:element name="Id" type="cpl:UUID"/>
24         <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0"/>
25         <xs:element name="VolumeCount" type="xs:positiveInteger"/>
26         <xs:element name="IssueDate" type="xs:dateTime"/>
27         <xs:element name="Issuer" type="cpl:UserText"/>
28         <xs:element name="Creator" type="cpl:UserText"/>
29         <xs:element name="AssetList">
30           <xs:complexType>
31             <xs:sequence>
32               <xs:element ref="am:Asset" maxOccurs="unbounded"/>
33             </xs:sequence>
34           </xs:complexType>
35         </xs:element>
36       </xs:sequence>
37     </xs:complexType>
38
39   <!-- Asset Type -->
40   <xs:element name="Asset" type="am:AssetType"/>
41   <xs:complexType name="AssetType">
42     <xs:sequence>
43       <xs:element name="Id" type="cpl:UUID"/>
44       <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0"/>
45       <xs:element name="PackingList" minOccurs="0"/>
46       <xs:element name="ChunkList">
47         <xs:complexType>
48           <xs:sequence>
49             <xs:element ref="am:Chunk" maxOccurs="unbounded"/>
50           </xs:sequence>
51         </xs:complexType>
52       </xs:element>
53     </xs:sequence>
54   </xs:complexType>
55
56   <!-- Chunk Type -->
57   <xs:element name="Chunk" type="am:ChunkType"/>
58     <xs:complexType name="ChunkType">
59       <xs:sequence>
60         <xs:element name="Path" type="xs:string"/>
61         <xs:element name="VolumeIndex" type="xs:positiveInteger" minOccurs="0"/>
62         <xs:element name="Offset" type="xs:nonNegativeInteger" minOccurs="0"/>
63         <xs:element name="Length" type="xs:positiveInteger" minOccurs="0"/>
64       </xs:sequence>
65     </xs:complexType>
66
67 </xs:schema>