diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-12-09 00:44:07 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-12-22 01:21:00 +0100 |
| commit | 66bd89f87412736ba2488f5b3ca4aec9dea8ef94 (patch) | |
| tree | 05e961c0b4ca0f90f376e63f5adf6d8b03a1985b /xsd | |
| parent | 84d01dde2fb2520572d122d53e1ffebefed48157 (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.xsd | 71 |
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> + |
