add("http://www.digicine.com/PROTO-ASDCP-CC-CPL-20070926#", "PROTO-ASDCP-CC-CPL-20070926.xsd");
add("interop-subs", "DCSubtitle.v1.mattsson.xsd");
add("http://www.smpte-ra.org/schemas/428-7/2010/DCST.xsd", "SMPTE-428-7-2010-DCST.xsd");
+ add("http://www.smpte-ra.org/schemas/429-16/2014/CPL-Metadata", "SMPTE-429-16.xsd");
+ add("http://www.dolby.com/schemas/2012/AD", "Dolby-2012-AD.xsd");
}
InputSource* resolveEntity(XMLCh const *, XMLCh const * system_id)
{
+ if (!system_id) {
+ return 0;
+ }
string system_id_str = xml_ch_to_string (system_id);
boost::filesystem::path p = _xsd_dtd_directory;
if (_files.find(system_id_str) == _files.end()) {
schema.push_back("DCSubtitle.v1.mattsson.xsd");
schema.push_back("DCDMSubtitle-2010.xsd");
schema.push_back("PROTO-ASDCP-CC-CPL-20070926.xsd");
+ schema.push_back("SMPTE-429-16.xsd");
+ schema.push_back("Dolby-2012-AD.xsd");
/* XXX: I'm not especially clear what this is for, but it seems to be necessary */
string locations;
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.smpte-ra.org/schemas/429-16/2014/CPL-Metadata" xmlns:cpl="http://www.smpte-ra.org/schemas/429-7/2006/CPL" xmlns:meta="http://www.smpte-ra.org/schemas/429-16/2014/CPL-Metadata" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://www.smpte-ra.org/schemas/429-7/2006/CPL"/>
+ <xs:element name="CompositionMetadataAsset" type="meta:CompositionMetadataAssetType"/>
+ <xs:complexType name="CompositionMetadataAssetType">
+ <xs:complexContent>
+ <xs:extension base="cpl:GenericAssetType">
+ <xs:sequence>
+ <xs:element name="FullContentTitleText" type="cpl:UserText"/>
+ <xs:element minOccurs="0" name="ReleaseTerritory">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute default="http://www.smpte-ra.org/schemas/429-16/2014/CPL-Metadata#scope/release-territory/UNM49" name="scope" type="xs:anyURI"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element default="1" minOccurs="0" name="VersionNumber">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:nonNegativeInteger">
+ <xs:attribute default="final" name="status" type="meta:StatusEnum"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="0" name="Chain" type="xs:string"/>
+ <xs:element minOccurs="0" name="Distributor" type="xs:string"/>
+ <xs:element minOccurs="0" name="Facility" type="xs:string"/>
+ <xs:element minOccurs="0" name="AlternateContentVersionList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="1" name="ContentVersion" type="cpl:ContentVersionType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="0" name="Luminance">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="meta:PositiveDecimal">
+ <xs:attribute name="units" type="meta:LuminanceUnitEnum" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="1" name="MainSoundConfiguration" type="xs:string"/>
+ <xs:element minOccurs="1" name="MainSoundSampleRate" type="cpl:Rational"/>
+ <xs:element minOccurs="1" name="MainPictureStoredArea">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Width" type="xs:positiveInteger"/>
+ <xs:element name="Height" type="xs:positiveInteger"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="1" name="MainPictureActiveArea">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Width" type="xs:positiveInteger"/>
+ <xs:element name="Height" type="xs:positiveInteger"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element minOccurs="0" name="MainSubtitleLanguageList">
+ <xs:simpleType>
+ <xs:restriction base="meta:LanguageListType">
+ <xs:minLength value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element minOccurs="0" name="ExtensionMetadataList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="ExtensionMetadata" type="meta:ExtensionMetadataType"> </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="StatusEnum">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="final"/>
+ <xs:enumeration value="temp"/>
+ <xs:enumeration value="pre"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="LuminanceUnitEnum">
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="foot-lambert"/>
+ <xs:enumeration value="candela-per-square-metre"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="PositiveDecimal">
+ <xs:restriction base="xs:decimal">
+ <xs:minExclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="LanguageListType">
+ <xs:restriction>
+ <xs:simpleType>
+ <xs:list itemType="xs:language"/>
+ </xs:simpleType>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ExtensionMetadataType">
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element minOccurs="0" name="PropertyList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" name="Property">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Value" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
+ </xs:sequence>
+ <xs:attribute name="scope" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+</xs:schema>