<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id$ -->
<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">

  <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" />
  <xs:import namespace="http://www.w3.org/2001/04/xmlenc#" />

  <xs:element name="DCinemaSecurityMessage" type="etm:DCinemaSecurityMessageType"/>

  <xs:complexType name="DCinemaSecurityMessageType">
    <xs:sequence>
      <xs:element name="AuthenticatedPublic" type="etm:AuthenticatedPublicType"/>
      <xs:element name="AuthenticatedPrivate" type="etm:AuthenticatedPrivateType"/>
      <xs:element ref="ds:Signature"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AuthenticatedPublicType">
    <xs:sequence>
      <xs:element name="MessageId" type="etm:UUID"/>
      <xs:element name="MessageType" type="xs:anyURI"/>
      <xs:element name="AnnotationText" type="etm:UserText" minOccurs="0"/>
      <xs:element name="IssueDate" type="xs:dateTime"/>
      <xs:element name="Signer" type="ds:X509IssuerSerialType"/>
      <xs:element name="RequiredExtensions">
        <xs:complexType>
          <xs:sequence>
            <xs:any namespace="##other" processContents="strict" minOccurs="0"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="NonCriticalExtensions">
        <xs:complexType>
          <xs:sequence>
            <xs:any namespace="##other" processContents="lax" minOccurs="0"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:ID" use="required"/>
  </xs:complexType>
  <xs:complexType name="AuthenticatedPrivateType">
    <xs:sequence>
      <xs:element ref="enc:EncryptedKey" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element ref="enc:EncryptedData" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:ID" use="optional"/>
  </xs:complexType>

  <xs:simpleType name="UUID">
    <xs:restriction base="xs:anyURI">
      <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}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="UserText">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="language" type="xs:language" use="optional" default="en"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
