Make sound asset language optional.
[libdcp.git] / xsd / SMPTE-429-8-2006-PKL.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema targetNamespace="http://www.smpte-ra.org/schemas/429-8/2007/PKL" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pkl="http://www.smpte-ra.org/schemas/429-8/2007/PKL" elementFormDefault="qualified" attributeFormDefault="unqualified">
3
4   <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
5   <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
6
7   <!-- PackingList -->
8   <xs:element name="PackingList" type="pkl:PackingListType"/>
9   <xs:complexType name="PackingListType">
10     <xs:sequence>
11       <xs:element name="Id" type="pkl:UUID"/>
12       <xs:element name="AnnotationText" type="pkl:UserText" minOccurs="0"/>
13       <xs:element name="IconId" type="pkl:UUID" minOccurs="0"/>
14       <xs:element name="IssueDate" type="xs:dateTime"/>
15       <xs:element name="Issuer" type="pkl:UserText"/>
16       <xs:element name="Creator" type="pkl:UserText"/>
17       <xs:element name="GroupId" type="pkl:UUID" minOccurs="0"/>
18       <xs:element name="AssetList">
19         <xs:complexType>
20           <xs:sequence>
21             <xs:element name="Asset" type="pkl:AssetType" maxOccurs="unbounded"/>
22           </xs:sequence>
23         </xs:complexType>
24       </xs:element>
25       <xs:element name="Signer" type="ds:KeyInfoType" minOccurs="0"/>
26       <xs:element ref="ds:Signature" minOccurs="0"/>
27     </xs:sequence>
28   </xs:complexType>
29
30   <!-- Asset -->
31   <xs:element name="Asset" type="pkl:AssetType"/>
32   <xs:complexType name="AssetType">
33     <xs:sequence>
34       <xs:element name="Id" type="pkl:UUID"/>
35       <xs:element name="AnnotationText" type="pkl:UserText" minOccurs="0"/>
36       <xs:element name="Hash" type="xs:base64Binary"/>
37       <xs:element name="Size" type="xs:positiveInteger"/>
38       <xs:element name="Type" type="xs:string"/>
39       <xs:element name="OriginalFileName" type="pkl:UserText" minOccurs="0"/>
40     </xs:sequence>
41   </xs:complexType>
42
43   <!-- UUID -->
44   <xs:simpleType name="UUID">
45     <xs:restriction base="xs:anyURI">
46       <xs:pattern value="urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
47     </xs:restriction>
48   </xs:simpleType>
49
50   <!--UserText-->
51   <xs:complexType name="UserText">
52     <xs:simpleContent>
53       <xs:extension base="xs:string">
54         <xs:attribute name="language" type="xs:language" use="optional" default="en"/>
55       </xs:extension>
56     </xs:simpleContent>
57   </xs:complexType>
58
59 </xs:schema>
60