summaryrefslogtreecommitdiff
path: root/xsd
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-12-09 00:44:07 +0100
committerCarl Hetherington <cth@carlh.net>2019-12-22 01:21:00 +0100
commit66bd89f87412736ba2488f5b3ca4aec9dea8ef94 (patch)
tree05e961c0b4ca0f90f376e63f5adf6d8b03a1985b /xsd
parent84d01dde2fb2520572d122d53e1ffebefed48157 (diff)
Check ASSETMAP; add a PKL test; tidy up calls to validate_xml().
Diffstat (limited to 'xsd')
-rw-r--r--xsd/SMPTE-429-9-2007-AM.xsd71
1 files changed, 71 insertions, 0 deletions
diff --git a/xsd/SMPTE-429-9-2007-AM.xsd b/xsd/SMPTE-429-9-2007-AM.xsd
new file mode 100644
index 00000000..a4432fee
--- /dev/null
+++ b/xsd/SMPTE-429-9-2007-AM.xsd
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="http://www.smpte-ra.org/schemas/429-9/2007/AM" xmlns:am="http://www.smpte-ra.org/schemas/429-9/2007/AM" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+
+ <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:complexType name="ChunkType">
+ <xs:sequence>
+ <xs:element name="Path" type="xs:anyURI"/>
+ <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:complexType name="AssetType">
+ <xs:sequence>
+ <xs:element name="Id" type="am:UUID"/>
+ <xs:element name="AnnotationText" type="am:UserText" minOccurs="0"/>
+ <xs:element name="PackingList" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="ChunkList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Chunk" type="am:ChunkType" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="AssetMapType">
+ <xs:sequence>
+ <xs:element name="Id" type="am:UUID"/>
+ <xs:element name="AnnotationText" type="am:UserText" minOccurs="0"/>
+ <xs:element name="Creator" type="am:UserText"/>
+ <xs:element name="VolumeCount" type="xs:positiveInteger"/>
+ <xs:element name="IssueDate" type="xs:dateTime"/>
+ <xs:element name="Issuer" type="am:UserText"/>
+ <xs:element name="AssetList">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Asset" type="am:AssetType" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="AssetMap" type="am:AssetMapType"/>
+
+ <xs:complexType name="VolumeIndexType">
+ <xs:sequence>
+ <xs:element name="Index" type="xs:positiveInteger"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="VolumeIndex" type="am:VolumeIndexType"/>
+
+</xs:schema>
+