diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-03-03 22:02:03 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-03-03 22:02:03 +0100 |
| commit | fea967ca635b04ca70f3f44d2e02f551fc9d6684 (patch) | |
| tree | 20e8964296fc71be81bf71b6901bf2027dec439a /xsd | |
| parent | 43c859fa095987d3c367c2426f698d7477e81305 (diff) | |
Fix interop verification and add some tests for it.
Diffstat (limited to 'xsd')
| -rw-r--r-- | xsd/Main-Stereo-Picture-CPL.xsd | 11 | ||||
| -rw-r--r-- | xsd/PROTO-ASDCP-AM-20040311.xsd | 67 | ||||
| -rw-r--r-- | xsd/PROTO-ASDCP-CPL-20040511.xsd | 251 | ||||
| -rw-r--r-- | xsd/PROTO-ASDCP-PKL-20040311.xsd | 60 |
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> + |
