Message formatting tweaks.
[libdcp.git] / schema / SMPTE-430-3-2008-ETM.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- 2006-03-03-jhurst -->
3 <xs:schema targetNamespace="http://www.smpte-ra.org/schemas/430-3/2006/ETM" xmlns:etm="http://www.smpte-ra.org/schemas/430-3/2006/ETM" xmlns:enc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
4
5   <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"/>
6   <xs:import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
7   <xs:element name="DCinemaSecurityMessage" type="etm:DCinemaSecurityMessageType"/>
8
9   <!-- DCinemaSecurityMessageType -->
10   <xs:complexType name="DCinemaSecurityMessageType">
11     <xs:sequence>
12       <xs:element name="AuthenticatedPublic" type="etm:AuthenticatedPublicType"/>
13       <xs:element name="AuthenticatedPrivate" type="etm:AuthenticatedPrivateType"/>
14       <xs:element ref="ds:Signature"/>
15     </xs:sequence>
16   </xs:complexType>
17
18   <!-- AuthenticatedPublicType -->
19   <xs:complexType name="AuthenticatedPublicType">
20     <xs:sequence>
21       <xs:element name="MessageId" type="etm:UUID"/>
22       <xs:element name="MessageType" type="xs:anyURI"/>
23       <xs:element name="AnnotationText" type="etm:UserText" minOccurs="0"/>
24       <xs:element name="IssueDate" type="xs:dateTime"/>
25       <xs:element name="Signer" type="ds:X509IssuerSerialType"/>
26       <xs:element name="RequiredExtensions">
27         <xs:complexType>
28           <xs:sequence>
29             <xs:any namespace="##other" processContents="strict" minOccurs="0"/>
30           </xs:sequence>
31         </xs:complexType>
32       </xs:element>
33       <xs:element name="NonCriticalExtensions">
34         <xs:complexType>
35           <xs:sequence>
36             <xs:any namespace="##other" processContents="strict" minOccurs="0"/>
37           </xs:sequence>
38         </xs:complexType>
39       </xs:element>
40     </xs:sequence>
41     <xs:attribute name="Id" type="xs:ID" use="required"/>
42   </xs:complexType>
43
44   <!-- AuthenticatedPrivateType -->
45   <xs:complexType name="AuthenticatedPrivateType">
46     <xs:sequence>
47       <xs:element ref="enc:EncryptedKey" minOccurs="0" maxOccurs="unbounded"/>
48       <xs:element ref="enc:EncryptedData" minOccurs="0"/>
49     </xs:sequence>
50     <xs:attribute name="Id" type="xs:ID" use="optional"/>
51   </xs:complexType>
52   <xs:simpleType name="UUID">
53     <xs:restriction base="xs:anyURI">
54       <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}"/>
55     </xs:restriction>
56   </xs:simpleType>
57   <xs:complexType name="UserText">
58     <xs:simpleContent>
59       <xs:extension base="xs:string">
60         <xs:attribute name="language" type="xs:language" use="optional" default="en"/>
61       </xs:extension>
62     </xs:simpleContent>
63   </xs:complexType>
64 </xs:schema>
65