summaryrefslogtreecommitdiff
path: root/xsd
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-03-03 22:02:03 +0100
committerCarl Hetherington <cth@carlh.net>2020-03-03 22:02:03 +0100
commitfea967ca635b04ca70f3f44d2e02f551fc9d6684 (patch)
tree20e8964296fc71be81bf71b6901bf2027dec439a /xsd
parent43c859fa095987d3c367c2426f698d7477e81305 (diff)
Fix interop verification and add some tests for it.
Diffstat (limited to 'xsd')
-rw-r--r--xsd/Main-Stereo-Picture-CPL.xsd11
-rw-r--r--xsd/PROTO-ASDCP-AM-20040311.xsd67
-rw-r--r--xsd/PROTO-ASDCP-CPL-20040511.xsd251
-rw-r--r--xsd/PROTO-ASDCP-PKL-20040311.xsd60
4 files changed, 389 insertions, 0 deletions
diff --git a/xsd/Main-Stereo-Picture-CPL.xsd b/xsd/Main-Stereo-Picture-CPL.xsd
new file mode 100644
index 00000000..bec275e8
--- /dev/null
+++ b/xsd/Main-Stereo-Picture-CPL.xsd
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="http://www.digicine.com/schemas/437-Y/2007/Main-Stereo-Picture-CPL"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:cpl="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
+ <xs:import namespace="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#" schemaLocation="http://www.digicine.com/PROTO-ASDCP-CPL-20040511.xsd"/>
+ <!--MainStereoscopicPicture-->
+ <xs:element name="MainStereoscopicPicture" type="cpl:PictureTrackFileAssetType"/>
+</xs:schema>
+
diff --git a/xsd/PROTO-ASDCP-AM-20040311.xsd b/xsd/PROTO-ASDCP-AM-20040311.xsd
new file mode 100644
index 00000000..f63540d0
--- /dev/null
+++ b/xsd/PROTO-ASDCP-AM-20040311.xsd
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Schema for Interop Asset Map namespace -->
+<!-- Assembled from mpeg_ii_am_spec.doc 2004-11-23 -->
+
+<xs:schema
+ targetNamespace="http://www.digicine.com/PROTO-ASDCP-AM-20040311#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:cpl="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
+ xmlns:am="http://www.digicine.com/PROTO-ASDCP-AM-20040311#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
+
+<!--The following xs:import statements should not really be here, but are
+ provided so that XMLSpy will validate the schema itself, independently
+ of an instance of a Asset Map
+-->
+<xs:import namespace="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
+ schemaLocation="http://www.digicine.com/PROTO-ASDCP-CPL-20040511.xsd"/>
+
+ <!-- Asset Map Type -->
+ <xs:element name="AssetMap" type="am:AssetMapType"/>
+ <xs:complexType name="AssetMapType">
+ <xs:sequence>
+ <xs:element name="Id" type="cpl:UUID"/>
+ <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0"/>
+ <xs:element name="VolumeCount" type="xs:positiveInteger"/>
+ <xs:element name="IssueDate" type="xs:dateTime"/>
+ <xs:element name="Issuer" type="cpl:UserText"/>
+ <xs:element name="Creator" type="cpl:UserText"/>
+ <xs:element name="AssetList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="am:Asset" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- Asset Type -->
+ <xs:element name="Asset" type="am:AssetType"/>
+ <xs:complexType name="AssetType">
+ <xs:sequence>
+ <xs:element name="Id" type="cpl:UUID"/>
+ <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0"/>
+ <xs:element name="PackingList" minOccurs="0"/>
+ <xs:element name="ChunkList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="am:Chunk" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- Chunk Type -->
+ <xs:element name="Chunk" type="am:ChunkType"/>
+ <xs:complexType name="ChunkType">
+ <xs:sequence>
+ <xs:element name="Path" type="xs:string"/>
+ <xs:element name="VolumeIndex" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="Offset" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="Length" type="xs:positiveInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/xsd/PROTO-ASDCP-CPL-20040511.xsd b/xsd/PROTO-ASDCP-CPL-20040511.xsd
new file mode 100644
index 00000000..c870811a
--- /dev/null
+++ b/xsd/PROTO-ASDCP-CPL-20040511.xsd
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Schema for Interop Composition Play List namespace -->
+<!-- Assembled from mpeg_ii_cpl_spec.doc 2004-11-23 -->
+
+<xs:schema
+ targetNamespace="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ xmlns:cpl="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+
+<!--The following xs:import statements should not really be here, but are
+ provided so that XMLSpy will validate the schema itself, independently
+ of an instance of a CPL. The schema xml.xsd is brought in for language identifiers.
+-->
+<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"/>
+<xs:import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
+<xs:import namespace="http://www.digicine.com/schemas/437-Y/2007/Main-Stereo-Picture-CPL"
+ schemaLocation="http://www.digicine.com/schemas/437-Y/2007/Main-Stereo-Picture-CPL.xsd"/>
+
+<!-- Composition Playlist -->
+ <xs:element name="CompositionPlaylist" type="cpl:CompositionPlaylistType" />
+ <xs:complexType name="CompositionPlaylistType">
+ <xs:sequence>
+ <xs:element name="Id" type="cpl:UUID"/>
+ <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0"/>
+ <xs:element name="IconId" type="cpl:UUID" minOccurs="0"/>
+ <xs:element name="IssueDate" type="xs:dateTime"/>
+ <xs:element name="Issuer" type="cpl:UserText"/>
+ <xs:element name="Creator" type="cpl:UserText"/>
+ <xs:element name="ContentTitleText" type="cpl:UserText"/>
+ <xs:element ref="cpl:ContentKind"/>
+ <xs:element ref="cpl:ContentVersion" minOccurs="0"/>
+ <xs:element name="RatingList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cpl:Rating" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ReelList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="cpl:Reel" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Signer" type="ds:KeyInfoType" minOccurs="0"/>
+ <xs:element ref="ds:Signature" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+<!-- Internally Defined Types -->
+
+ <!-- Marker Type -->
+ <xs:element name="Marker" type="cpl:MarkerType" />
+ <xs:complexType name="MarkerType">
+ <xs:sequence>
+ <xs:element name="Label">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="scope" type="xs:anyURI" use="optional" default="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#standard-markers" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0" />
+ <xs:element name="Offset">
+ <xs:simpleType>
+ <xs:restriction base="xs:long">
+ <xs:minInclusive value="0" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- Rating Type -->
+ <xs:element name="Rating" type="cpl:RatingType"/>
+ <xs:complexType name="RatingType">
+ <xs:sequence>
+ <xs:element name="Agency" type="xs:anyURI" />
+ <xs:element name="Label" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- ContentKind Type -->
+ <xs:element name="ContentKind" type="cpl:ContentKindType"/>
+ <xs:complexType name="ContentKindType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="scope" type="xs:anyURI" use="optional" default="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#standard-content"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <!-- ContentVersion Type -->
+ <xs:element name="ContentVersion" type="cpl:ContentVersionType"/>
+ <xs:complexType name="ContentVersionType">
+ <xs:sequence>
+ <xs:element name="Id" type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="LabelText" type="cpl:UserText"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- Reel Type -->
+ <xs:element name="Reel" type="cpl:ReelType" />
+ <xs:complexType name="ReelType">
+ <xs:sequence>
+ <xs:element name="Id" type="cpl:UUID" />
+ <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0" />
+ <xs:element name="AssetList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MainMarkers" type="cpl:MarkerAssetType" minOccurs="0"/>
+ <xs:element name="MainPicture" type="cpl:PictureTrackFileAssetType" minOccurs="0"/>
+ <xs:element name="MainSound" type="cpl:SoundTrackFileAssetType" minOccurs="0"/>
+ <xs:element name="MainSubtitle" type="cpl:SubtitleTrackFileAssetType" minOccurs="0"/>
+ <xs:element name="ProjectorData" type="cpl:ProjectorDataAssetType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- GenericAsset Type -->
+ <xs:complexType name="GenericAssetType" abstract="1">
+ <xs:sequence>
+ <xs:element name="Id" type="cpl:UUID" />
+ <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0" />
+ <xs:element name="EditRate" type="cpl:Rational" />
+ <xs:element name="IntrinsicDuration" type="xs:long" />
+ <xs:element name="EntryPoint" type="xs:long" minOccurs="0" />
+ <xs:element name="Duration" type="xs:long" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- TrackFileAsset Type -->
+ <xs:complexType name="TrackFileAssetType" abstract="1">
+ <xs:complexContent>
+ <xs:extension base="cpl:GenericAssetType">
+ <xs:sequence>
+ <xs:element name="KeyId" type="cpl:UUID" minOccurs="0"/>
+ <xs:element name="Hash" type="xs:base64Binary" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- SoundTrackFileAsset Type -->
+ <xs:complexType name="SoundTrackFileAssetType">
+ <xs:complexContent>
+ <xs:extension base="cpl:TrackFileAssetType">
+ <xs:sequence>
+ <xs:element name="Language" type="xs:language" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- SubtitleTrackFileAsset Type -->
+ <xs:complexType name="SubtitleTrackFileAssetType">
+ <xs:complexContent>
+ <xs:extension base="cpl:TrackFileAssetType">
+ <xs:sequence>
+ <xs:element name="Language" type="xs:language" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- PictureTrackFileAsset Type -->
+ <xs:complexType name="PictureTrackFileAssetType">
+ <xs:complexContent>
+ <xs:extension base="cpl:TrackFileAssetType">
+ <xs:sequence>
+ <xs:element name="FrameRate" type="cpl:Rational"/>
+ <xs:element name="ScreenAspectRatio">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:decimal">
+ <xs:attribute name="scope" type="xs:anyURI" use="optional" default="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#standard-aspectratio"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- MarkerAsset Type -->
+ <xs:complexType name="MarkerAssetType">
+ <xs:complexContent>
+ <xs:extension base="cpl:GenericAssetType">
+ <xs:sequence>
+ <xs:element name="MarkerList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Marker" type="cpl:MarkerType" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- ProjectorDataAsset Type -->
+ <xs:complexType name="ProjectorDataAssetType">
+ <xs:complexContent>
+ <xs:extension base="cpl:GenericAssetType">
+ <xs:sequence>
+ <xs:element name="DataInfo" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- Rational Type -->
+ <xs:simpleType name="Rational">
+ <xs:restriction>
+ <xs:simpleType>
+ <xs:list itemType="xs:long"/>
+ </xs:simpleType>
+ <xs:length value="2"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- UUID Type -->
+ <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>
+
+ <!-- UserText Type -->
+ <xs:complexType name="UserText">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute ref="xml:lang" use="optional" default="en"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+</xs:schema>
+
diff --git a/xsd/PROTO-ASDCP-PKL-20040311.xsd b/xsd/PROTO-ASDCP-PKL-20040311.xsd
new file mode 100644
index 00000000..0be3cd3d
--- /dev/null
+++ b/xsd/PROTO-ASDCP-PKL-20040311.xsd
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Schema for Interop Asset Map namespace -->
+<!-- Assembled from mpeg_ii_am_spec.doc 2004-11-23 -->
+
+<xs:schema
+ targetNamespace="http://www.digicine.com/PROTO-ASDCP-PKL-20040311#"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:pkl="http://www.digicine.com/PROTO-ASDCP-PKL-20040311#"
+ xmlns:cpl="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
+
+<!--The following xs:import statements should not really be here, but are
+ provided so that XMLSpy will validate the schema itself, independently
+ of an instance of a Packing List
+-->
+<xs:import namespace="http://www.digicine.com/PROTO-ASDCP-CPL-20040511#"
+ schemaLocation="http://www.digicine.com/PROTO-ASDCP-CPL-20040511.xsd"/>
+<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"/>
+<xs:import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/03/xml.xsd"/>
+
+<!-- Packing List Type -->
+ <xs:element name="PackingList" type="pkl:PackingListType"/>
+ <xs:complexType name="PackingListType">
+ <xs:sequence>
+ <xs:element name="Id" type="cpl:UUID"/>
+ <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0"/>
+ <xs:element name="IconId" type="cpl:UUID" minOccurs="0"/>
+ <xs:element name="IssueDate" type="xs:dateTime"/>
+ <xs:element name="Issuer" type="cpl:UserText"/>
+ <xs:element name="Creator" type="cpl:UserText"/>
+ <xs:element name="AssetList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="pkl:Asset" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Signer" type="ds:KeyInfoType" minOccurs="0"/>
+ <xs:element ref="ds:Signature" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+<!-- Asset Type -->
+ <xs:element name="Asset" type="pkl:AssetType"/>
+ <xs:complexType name="AssetType">
+ <xs:sequence>
+ <xs:element name="Id" type="cpl:UUID"/>
+ <xs:element name="AnnotationText" type="cpl:UserText" minOccurs="0"/>
+ <xs:element name="Hash" type="xs:base64Binary" minOccurs="0"/>
+ <xs:element name="Size" type="xs:positiveInteger"/>
+ <xs:element name="Type" type="xs:string"/>
+ <xs:element name="OriginalFileName" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
+