<?xml version="1.0" ?> <!-- A.3.1 Example of XML Schema for common header --> <!-- The following example is common XML Schemas for all box types of JPEG 2000 family format. --> <xs:schema xmlns:xs="http://www.iso.org/jpeg/2001/XMLSchema" targetNamespace="http://www.iso.org/jpxml" xmlns="http://www.iso.org/jpxml"> <xs:attributeGroup name="attrs.box"> <xs:attribute name="length" type="xs:integer" use="required" /> <xs:attribute name="offset" type="xs:integer" use="optional" /> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="box" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:attributeGroup> <xs:attributeGroup name="attrs.4cc"> <xs:attribute name="length" type="xs:integer" use="required" /> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="fourcc" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:attributeGroup> <xs:attributeGroup name="attrs.hex"> <xs:attribute name="length" type="xs:integer" use="required" /> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="hexbyte" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:attributeGroup> <xs:attributeGroup name="attrs.int"> <xs:attribute name="length" type="xs:integer" use="required" /> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="integer" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:attributeGroup> <xs:attributeGroup name="attrs.str"> <xs:attribute name="length" type="xs:integer" use="required" /> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="string" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:attributeGroup> <xs:attributeGroup name="attrs.url"> <xs:attribute name="length" type="xs:integer" use="required" /> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="location" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:attributeGroup> <xs:attributeGroup name="attrs.root"> <xs:attribute name="length" type="xs:integer" use="required" /> <xs:attribute name="name" type="xs:anyURL" use="optional" /> </xs:attributeGroup> <!-- add following XML Schemas for the JPXML document. --> <!-- A.3.2 Example of XML Schema for JPEG 2000 Part 1 image (single image) --> <!-- jpxml part 1 root element --> <xs:element name="jpxml"> <xs:complexType> <xs:attributeGroup ref="attrs.root" /> <xs:sequence> <xs:element ref="jP__" /> <xs:element ref="ftyp" /> <xs:element ref="jp2h" /> <xs:element ref="jp2i" minOccurs="0" /> <xs:element ref="_xml_" minOccurs="0" /> <xs:element ref="uuid" minOccurs="0" /> <xs:element ref="uinf" minOccurs="0" /> <xs:element ref="jp2c" /> </xs:sequence> </xs:complexType> </xs:element> <!-- part 1 box element --> <xs:element name="jP__"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="signature" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ftyp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="brand" /> <xs:element ref="version" /> <xs:element ref="compatibility" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="jp2h"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="ihdr" /> <xs:element ref="bpcc" minOccurs="0" /> <xs:element ref="colr" /> <xs:element ref="pclr" minOccurs="0" /> <xs:element ref="cmap" minOccurs="0" /> <xs:element ref="cdef" minOccurs="0" /> <xs:element ref="res_" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ihdr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="height"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="width" /> <xs:element ref="num_components" /> <xs:element ref="depth" /> <xs:element ref="compression" /> <xs:element ref="colour_unknown" /> <xs:element ref="ipr" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="colr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="method" /> <xs:element ref="precedence" /> <xs:element ref="approx" /> <xs:element ref="colour" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bpcc"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="depth" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="pclr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_entries" /> <xs:element ref="num_components" /> <xs:element ref="depth" maxOccurs="unbounded" /> <xs:element ref="data" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="cdef"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="index" /> <xs:element ref="type" /> <xs:element ref="assoc" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="res_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="resc" minOccurs="0" /> <xs:element ref="resd" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="resd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="vert_num" /> <xs:element ref="vert_den" /> <xs:element ref="hori_num" /> <xs:element ref="hori_den" /> <xs:element ref="vert_exp" /> <xs:element ref="hori_exp" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="resd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="vert_num" /> <xs:element ref="vert_den" /> <xs:element ref="hori_num" /> <xs:element ref="hori_den" /> <xs:element ref="vert_exp" /> <xs:element ref="hori_exp" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="uuid"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="id" /> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="uinf"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="ulst" /> <xs:element ref="url_" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ulst"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_entries" /> <xs:element ref="uuid" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="url_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="location" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="_xml_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="text" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="jp2c"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <!-- part 1 content element --> <xs:element name="signature" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="brand" type="fourcc"> <xs:attributeGroup ref="attrs.4cc" use="required" /> </xs:element> <xs:element name="version" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="compatibility" type="fourcc"> <xs:attributeGroup ref="attrs.4cc" use="required" /> </xs:element> <xs:element name="width" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="num_components" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="depth" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="compression" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="colour_unknown" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="ipr" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="method" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="precedence" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="approx" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="colour" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="num_entries" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="depth" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="data" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="index" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="type" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="assoc" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="vert_num" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vert_den" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hori_num" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hori_den" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vert_exp" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hori_exp" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="location" type="location"> <xs:attributeGroup ref="attrs.url" use="required" /> </xs:element> <xs:element name="text" type="xs:string"> <xs:attributeGroup ref="attrs.str" use="required" /> </xs:element> <!-- A.3.3 Example of XML Schema for JPEG 2000 Part 2 image (single/layered image) --> <!-- jpxml part 2 root element --> <xs:element name="jpxml"> <xs:complexType> <xs:attributeGroup ref="attrs.root" /> <xs:sequence> <xs:element ref="jP__" /> <xs:element ref="ftyp" /> <xs:element ref="rreq" /> <xs:element ref="jp2h" /> <xs:element ref="jpch" minOccurs="0" /> <xs:element ref="jplh" minOccurs="0" /> <xs:element ref="dtbl" minOccurs="0" /> <xs:element ref="ftbl" minOccurs="0" /> <xs:element ref="jp2i" minOccurs="0" /> <xs:element ref="jp2c" minOccurs="0" /> <xs:element ref="mdat" minOccurs="0" /> <xs:element ref="comp" minOccurs="0" /> <xs:element ref="drep" minOccurs="0" /> <xs:element ref="roid" minOccurs="0" /> <xs:element ref="cref" minOccurs="0" /> <xs:element ref="asoc" minOccurs="0" /> <xs:element ref="bfil" minOccurs="0" /> <xs:element ref="chck" minOccurs="0" /> <xs:element ref="mp7b" minOccurs="0" /> <xs:element ref="free" minOccurs="0" /> <xs:element ref="_xml_" minOccurs="0" /> <xs:element ref="uuid" minOccurs="0" /> <xs:element ref="uinf" minOccurs="0" /> <xs:element ref="jclx" minOccurs="0" /> <xs:element ref="j2cx" minOccurs="0" /> <xs:element ref="grp_" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- part 1 box element --> <!-- ... --> <!-- part 2 box element --> <xs:element name="rreq"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="length" /> <xs:element ref="fua_mask" /> <xs:element ref="dc_mask" /> <xs:element ref="num_std_flags" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="std_flag" /> <xs:element ref="std_mask" /> </xs:sequence> <xs:element ref="num_vender_features" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="vender_feature" /> <xs:element ref="vender_mask" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dtbl"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="location" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ftbl"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="flst" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="flst"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="offset" /> <xs:element ref="length" /> <xs:element ref="data_reference" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="cref"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="flst" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="jpch"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="lbl_" minOccurs="0" /> <xs:element ref="ihdr" /> <xs:element ref="bpcc" minOccurs="0" /> <xs:element ref="pclr" minOccurs="0" /> <xs:element ref="cmap" minOccurs="0" /> <xs:element ref="roid" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="jplh"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="lbl_" minOccurs="0" /> <xs:element ref="cgrp" minOccurs="0" /> <xs:element ref="opct" minOccurs="0" /> <xs:element ref="cdef" minOccurs="0" /> <xs:element ref="creq" minOccurs="0" /> <xs:element ref="res_" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="colour"> <xs:complexType> <xs:attributeGroup ref="attrs.hex" use="required" /> <xs:choice> <xs:sequence> <xs:element ref="enum_colour" /> <xs:element ref="enum_param" /> </xs:sequence> <xs:sequence> <xs:element ref="vender_colour" /> <xs:element ref="vendar_param" /> </xs:sequence> </xs:choice> </xs:complexType> </xs:element> <xs:element name="enum_param"> <xs:complexType> <xs:attributeGroup ref="attrs.hex" use="required" /> <xs:choice> <xs:sequence> <xs:element ref="range_L" /> <xs:element ref="offset_L" /> <xs:element ref="range_a" /> <xs:element ref="offset_a" /> <xs:element ref="range_b" /> <xs:element ref="offset_b" /> <xs:element ref="illuminant" /> </xs:sequence> <xs:sequence> <xs:element ref="range_J" /> <xs:element ref="offset_J" /> <xs:element ref="range_a" /> <xs:element ref="offset_a" /> <xs:element ref="range_b" /> <xs:element ref="offset_b" /> </xs:sequence> </xs:choice> </xs:complexType> </xs:element> <xs:element name="cgrp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="colr" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="opct"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="num_entries" /> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="creg"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="hori_size" /> <xs:element ref="vert_size" /> <xs:element ref="cds_num" /> <xs:element ref="hori_resolution" /> <xs:element ref="vert_resolution" /> <xs:element ref="hori_offset" /> <xs:element ref="vert_offset" /> <xs:element ref="num_entries" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="free"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="comp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="copt" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="inst" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="copt"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="height" /> <xs:element ref="width" /> <xs:element ref="loop" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="inst"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="repeition" /> <xs:element ref="duration" /> <xs:element ref="instruction" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="instruction" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> <xs:sequence> <xs:element ref="hori_offset" /> <xs:element ref="vert_offset" /> <xs:element ref="width" /> <xs:element ref="height" /> <xs:element ref="life" /> <xs:element ref="next_use" /> <xs:element ref="vert_crop_offset" /> <xs:element ref="hori_crop_offset" /> <xs:element ref="crop_width" /> <xs:element ref="crop_height" /> </xs:sequence> </xs:element> <xs:element name="nlst"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="asoc_num" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="lbl_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="label" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bfil"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="drep"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="gtso" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="gtso"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="profile" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="roid"> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_entries" /> <xs:element ref="contained" /> <xs:element ref="type" /> <xs:element ref="priority" /> <xs:element ref="left" /> <xs:element ref="top" /> <xs:element ref="width" /> <xs:element ref="height" /> </xs:sequence> </xs:element> <xs:element name="chck"> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="signature_type" /> <xs:element ref="source_type" /> <xs:element ref="offset" /> <xs:element ref="length" /> <xs:element ref="data" /> </xs:sequence> </xs:element> <xs:element name="mp7b"> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data" /> </xs:sequence> </xs:element> <!-- part 1 content element --> <!-- ... --> <!-- part 3 content element --> <xs:element name="length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="data_reference" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="enum_colour" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="enum_param" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="vender_colour" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vendar_param" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <!-- A.3.4 Example of XML Schema for JPEG 2000 Part 3 image (motion image) --> <!-- jpxml part 3 root element --> <xs:element name="jpxml"> <xs:complexType> <xs:attributeGroup ref="attrs.root" /> <xs:sequence> <xs:element ref="jP__" /> <xs:element ref="ftyp" /> <xs:element ref="pdin" minOccurs="0" /> <xs:element ref="moov" /> <xs:element ref="mdat" minOccurs="0" /> <xs:element ref="moof" minOccurs="0" /> <xs:element ref="mfra" minOccurs="0" /> <xs:element ref="meta" minOccurs="0" /> <xs:element ref="meco" minOccurs="0" /> <xs:element ref="skip" minOccurs="0" /> <xs:element ref="free" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- part 1 box element --> <!-- part 12 box element --> <!-- ... --> <!-- part 3 box element --> <xs:element name="mjp2"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="predefined" /> <xs:element ref="reserved" /> <xs:element ref="predefined" /> <xs:element ref="width" /> <xs:element ref="height" /> <xs:element ref="hori_resolution" /> <xs:element ref="vert_resolution" /> <xs:element ref="reserved" /> <xs:element ref="predefined" /> <xs:element ref="name" /> <xs:element ref="depth" /> <xs:element ref="predefined" /> <xs:element ref="length" /> <xs:element ref="jp2h" /> <xs:element ref="fiel" minOccurs="0" /> <xs:element ref="jp2p" minOccurs="0" /> <xs:element ref="jp2x" minOccurs="0" /> <xs:element ref="jsub" minOccurs="0" /> <xs:element ref="orfo" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="fiel"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="field_count" /> <xs:element ref="field_order" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="orfo"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="original_field_count" /> <xs:element ref="original_field_order" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="jp2p"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="compatibility" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="jp2x"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="jsub"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="hori_sub" /> <xs:element ref="vert_sub" /> <xs:element ref="hori_offset" /> <xs:element ref="vert_offset" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="raw_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="reserved" /> <xs:element ref="channel_count" /> <xs:element ref="sample_size" /> <xs:element ref="predefined" /> <xs:element ref="reserved" /> <xs:element ref="sample_rate" /> </xs:sequence> </xs:complexType> </xs:element> <!-- part 3 content element --> <xs:element name="reserved" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="predefined" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hori_resolution" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vert_resolution" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="name" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="field_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="field_order" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="original_field_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="original_field_order" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="version" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="flag" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hori_sub" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vert_sub" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="channel_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_rate" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <!-- A.3.5 Example of XML Schema for JPEG 2000 Part 6 image (document image) --> <!-- jpxml part 6 root element --> <xs:element name="jpxml"> <xs:complexType> <xs:attributeGroup ref="attrs.root" /> <xs:sequence> <xs:element ref="jP__" /> <xs:element ref="ftyp" /> <xs:element ref="jp2h" minOccurs="0" /> <xs:element ref="mhdr" /> <xs:element ref="pcol" minOccurs="0" /> <xs:element ref="page" /> <xs:element ref="sdat" minOccurs="0" /> <xs:element ref="dtbl" minOccurs="0" /> <xs:element ref="ftbl" minOccurs="0" /> <xs:element ref="cref" minOccurs="0" /> <xs:element ref="jp2i" minOccurs="0" /> <xs:element ref="jp2c" minOccurs="0" /> <xs:element ref="_xml_" minOccurs="0" /> <xs:element ref="uuid" minOccurs="0" /> <xs:element ref="uinf" minOccurs="0" /> <xs:element ref="free" minOccurs="0" /> <xs:element ref="htxb" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- part 1 box element --> <!-- part 2 box element --> <!-- ... --> <!-- part 6 box element --> <xs:element name="mhdr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_pages" /> <xs:element ref="profile" /> <xs:element ref="self_contained" /> <xs:element ref="offset" /> <xs:element ref="length" /> <xs:element ref="mask_coder" /> <xs:element ref="image_coder" /> <xs:element ref="ipr" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="pcol"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="lbl_" minOccurs="0" /> <xs:element ref="meta" minOccurs="0" /> <xs:element ref="pagt" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ppcl"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="offset" /> <xs:element ref="length" /> <xs:element ref="data_reference" /> <xs:element ref="index" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="pagt"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="offset" /> <xs:element ref="length" /> <xs:element ref="data_reference" /> <xs:element ref="flag" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sdal"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="id" /> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sref"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="id" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="page"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="phdr" /> <xs:element ref="ppcl" minOccurs="0" /> <xs:element ref="res_" minOccurs="0" /> <xs:element ref="bclr" minOccurs="0" /> <xs:element ref="meta" minOccurs="0" /> <xs:element ref="lbl_" minOccurs="0" /> <xs:element ref="lobj" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="phdr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_lobjs" /> <xs:element ref="height" /> <xs:element ref="width" /> <xs:element ref="orientation" /> <xs:element ref="colour" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="lobj"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="ihdr" /> <xs:element ref="meta" minOccurs="0" /> <xs:element ref="lbl_" minOccurs="0" /> <xs:element ref="objc" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="lhdr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="id" /> <xs:element ref="height" /> <xs:element ref="width" /> <xs:element ref="top" /> <xs:element ref="left" /> <xs:element ref="style" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="objc"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="ohdr" /> <xs:element ref="bclr" minOccurs="0" /> <xs:element ref="meta" minOccurs="0" /> <xs:element ref="lbl_" minOccurs="0" /> <xs:element ref="scal" minOccurs="0" /> <xs:element ref="jp2h" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="lhdr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="no_codestream" /> <xs:element ref="top" /> <xs:element ref="left" /> <xs:element ref="offset" /> <xs:element ref="length" /> <xs:element ref="data_reference" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="scal"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="vert_num" /> <xs:element ref="vert_den" /> <xs:element ref="hori_num" /> <xs:element ref="hori_den" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bclr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bcvl" /> <xs:element ref="colr" minOccurs="0" /> <xs:element ref="bpcc" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bcvl"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_components" /> <xs:element ref="depth" /> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="htxb"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="lbl_" minOccurs="0" /> <xs:sequence maxOccurs="unbounded"> <xs:choice> <xs:element ref="_xml_" /> <xs:element ref="uuid" /> </xs:choice> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="phtx"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="flst" /> <xs:element ref="lbl_" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <!-- part 1 content element --> <!-- part 2 content element --> <!--... --> <!-- part 6 content element --> <xs:element name="profile" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="self_contained" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="mask_coder" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="image_coder" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="flag" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="num_lobjs" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="orientation" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="top" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="left" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="style" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="no_codestream" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <!-- A.3.6 Example of XML Schema for JPEG 2000 Part 8 image (security) --> <!-- part 1 box element --> <!-- part 8 box element --> <xs:element name="gprt"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type_flag" /> <xs:element ref="size_flag" /> <xs:element ref="location_flag" /> <xs:element ref="reserved" /> <xs:choice> <xs:sequence> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="offset_size" /> <xs:element ref="box_length" /> <xs:element ref="box_type" /> <xs:element ref="box_ext_length" /> <xs:element ref="offset" /> </xs:sequence> </xs:sequence> <xs:sequence> <xs:element ref="total_length" /> <xs:element ref="total_ext_length" /> </xs:sequence> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <!-- part 12 box element --> <!-- followings need part 12 --> <xs:element name="schi"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:choice> <!-- for Decryption --> <xs:sequence> <xs:element ref="box_protected" /> <xs:choice> <xs:element ref="bcip" /> <xs:element ref="scip" /> </xs:choice> <xs:element ref="gran" /> </xs:sequence> <!-- for Authentication --> <xs:sequence> <xs:element ref="auth" /> <xs:element ref="gran" minOccurs="0" /> </xs:sequence> </xs:choice> <xs:element ref="vall" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bcip"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="cipher_id" /> <xs:element ref="cipher_mode" /> <xs:element ref="padding_mode" /> <xs:element ref="size" /> <xs:element ref="keyt" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="scip"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="cipher_id" /> <xs:element ref="keyt" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="auth"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="method_id" /> <xs:element ref="hash_id" /> <xs:element ref="size" /> <xs:element ref="keyt" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="keyt"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="size" /> <xs:element ref="key_info" /> <xs:element ref="gran" minOccurs="0" /> <xs:element ref="vall" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="gran"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="granularity" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="vall"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="size" /> <xs:element ref="num_entries" /> <xs:element ref="count" maxOccurs="unbounded" /> <xs:element ref="value" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ides"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="dest" /> <xs:element ref="item_id" /> <xs:element ref="desd" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dest"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="type" /> <xs:element ref="version" /> <xs:element ref="location" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="vide"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="layer_start" /> <xs:element ref="layer_count" /> <xs:element ref="res_start" /> <xs:element ref="res_count" /> <xs:element ref="hori_offset" /> <xs:element ref="hori_lenght" /> <xs:element ref="vert_offset" /> <xs:element ref="vert_length" /> <xs:element ref="colour" /> <xs:element ref="time_start" /> <xs:element ref="time_length" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="j2ke"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="vide" minOccurs="0" /> <xs:element ref="tile_start" /> <xs:element ref="tile_count" /> <xs:element ref="precinct_start" /> <xs:element ref="precinct_count" /> <xs:element ref="j2k_packet_start" /> <xs:element ref="j2k_packet_count" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="icor"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="item_id" /> <xs:element ref="desc_id" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="port"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="resolution" /> <xs:element ref="layer" /> <xs:element ref="cropped_width" /> <xs:element ref="cropped_height" /> <xs:sequence minOccurs="0" > <xs:element ref="startx" /> <xs:element ref="srarty" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="attr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="resolution" /> <xs:element ref="layer" /> <xs:element ref="cropped_width" /> <xs:element ref="cropped_height" /> <xs:sequence minOccurs="0" > <xs:element ref="startx" /> <xs:element ref="srarty" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sces"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="predefined" /> <xs:element ref="reserved" /> <xs:element ref="predefined" /> <xs:element ref="width" /> <xs:element ref="height" /> <xs:element ref="hori_resolution" /> <xs:element ref="vert_resolution" /> <xs:element ref="reserved" /> <xs:element ref="predefined" /> <xs:element ref="name" /> <xs:element ref="depth" /> <xs:element ref="predefined" /> <xs:element ref="clap" minOccurs="0" /> <xs:element ref="pasp" minOccurs="0" /> <xs:element ref="resolution" /> <xs:element ref="layer" /> <xs:element ref="cropped_width" /> <xs:element ref="cropped_height" /> <xs:sequence minOccurs="0" > <xs:element ref="startx" /> <xs:element ref="srarty" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dces"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="predefined" /> <xs:element ref="reserved" /> <xs:element ref="predefined" /> <xs:element ref="width" /> <xs:element ref="height" /> <xs:element ref="hori_resolution" /> <xs:element ref="vert_resolution" /> <xs:element ref="reserved" /> <xs:element ref="predefined" /> <xs:element ref="name" /> <xs:element ref="depth" /> <xs:element ref="predefined" /> <xs:element ref="clap" minOccurs="0" /> <xs:element ref="pasp" minOccurs="0" /> <xs:element ref="resolution" /> <xs:element ref="layer" /> <xs:element ref="cropped_width" /> <xs:element ref="cropped_height" /> <xs:sequence minOccurs="0" > <xs:element ref="startx" /> <xs:element ref="srarty" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <!-- part 1 content element --> <!-- part 8 content element --> <xs:element ref="type_flag" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="size_flag" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="location_flag" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="reserved" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="offset_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="box_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="box_type" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="box_ext_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="total_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="total_ext_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <!-- part 12 box element --> <!-- followings need part 12 --> <xs:element ref="box_protected" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="cipher_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="method_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="hash_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="cipher_mode" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="padding_mode" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="key_info" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="granularity" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="num_entries" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="value" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="item_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="layer_start" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="layer_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="res_start" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="res_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="hori_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="hori_lenght" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="vert_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="vert_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="time_start" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="time_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="tile_start" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="tile_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="precinct_start" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="precinct_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="j2k_packet_start" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="j2k_packet_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="item_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="desc_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="reserved" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="predefined" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="hori_resolution" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="vert_resolution" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="resolution" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="layer" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="cropped_width" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="cropped_height" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="startx" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element ref="srarty" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <!-- A.3.7 Example of XML Schema for JPEG 2000 Part 12 image (motion image) --> <!-- part 12 box element --> <xs:element name="mdat"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="free"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="skip"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="pdin"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="rate" /> <xs:element ref="inital_delay" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="moov"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="mvhd" /> <xs:element ref="trak" maxOccurs="unbounded" /> <xs:element ref="mvex" minOccurs="0" /> <xs:element ref="udta" minOccurs="0" /> <xs:element ref="meta" minOccurs="0" /> <xs:element ref="meco" minOccurs="0" /> <xs:element ref="ipmc" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="mvhd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="creation_time" /> <xs:element ref="modification_time" /> <xs:element ref="time_scale" /> <xs:element ref="duration" /> <xs:element ref="rate" /> <xs:element ref="volume" /> <xs:element ref="reserved" /> <xs:element ref="matrix" /> <xs:element ref="predefined" /> <xs:element ref="next_track_id" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="trak"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="tkhd" /> <xs:element ref="mdia" /> <xs:element ref="tref" minOccurs="0" /> <xs:element ref="edts" minOccurs="0" /> <xs:element ref="udta" minOccurs="0" /> <xs:element ref="meta" minOccurs="0" /> <xs:element ref="meco" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tkhd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="creation_time" /> <xs:element ref="modification_time" /> <xs:element ref="track_id" /> <xs:element ref="reserved" /> <xs:element ref="duration" /> <xs:element ref="reserved" /> <xs:element ref="layer" /> <xs:element ref="alternate_group" /> <xs:element ref="volume" /> <xs:element ref="reserved" /> <xs:element ref="matrix" /> <xs:element ref="width" /> <xs:element ref="height" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tref"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:choice> <xs:element ref="hint" /> <xs:element ref="cdsc" /> <xs:element ref="hind" /> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hint"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="track_id" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="cdsc"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="track_id" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hind"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="track_id" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="mdia"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="mdhd" /> <xs:element ref="hdlr" /> <xs:element ref="minf" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="mdhd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="creation_time" /> <xs:element ref="modification_time" /> <xs:element ref="time_scale" /> <xs:element ref="duration" /> <xs:element ref="language" /> <xs:element ref="predefined" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hdlr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="predefined" /> <xs:element ref="hdlr_type" /> <xs:element ref="reserved" /> <xs:element ref="name" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="minf"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:choice> <xs:element ref="vmhd" /> <xs:element ref="smhd" /> <xs:element ref="hmhd" /> <xs:element ref="nmhd" /> </xs:choice> <xs:element ref="stbl" /> <xs:element ref="dinf" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="vmhd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="graphic_mode" /> <xs:element ref="op_code" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="smhd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="balance" /> <xs:element ref="reserved" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hmhd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="max_pdu_size" /> <xs:element ref="avg_pdu_size" /> <xs:element ref="max_bitrate" /> <xs:element ref="avg_bitrate" /> <xs:element ref="reserved" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stbl"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="stsd" /> <xs:element ref="stdp" minOccurs="0" /> <xs:element ref="ctts" /> <xs:element ref="stss" minOccurs="0" /> <xs:element ref="stsh" minOccurs="0" /> <xs:element ref="sdtp" minOccurs="0" /> <xs:choice> <xs:element ref="stsz" /> <xs:element ref="stz2" /> </xs:choice> <xs:element ref="stsc" /> <xs:choice> <xs:element ref="stco" /> <xs:element ref="co64" /> </xs:choice> <xs:element ref="padb" minOccurs="0" /> <xs:element ref="subs" minOccurs="0" /> <xs:element ref="sbgp" minOccurs="0" maxOccurs="unbounded" /> <xs:element ref="sgpd" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="btrt"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="buffer_size" /> <xs:element ref="max_bitrate" /> <xs:element ref="avg_bitrate" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="metx"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="content_encoding" /> <xs:element ref="namespace" /> <xs:element ref="location" /> <xs:element ref="btrt" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="mett"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="content_encoding" /> <xs:element ref="mine_format" /> <xs:element ref="btrt" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="pasp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="hori_spacing" /> <xs:element ref="vert_spacing" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="clap"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="width_num" /> <xs:element ref="width_den" /> <xs:element ref="height_num" /> <xs:element ref="height_den" /> <xs:element ref="hori_offset_num" /> <xs:element ref="hori_offset_den" /> <xs:element ref="vert_offset_num" /> <xs:element ref="vert_offset_den" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stsd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="mjp2" /> <xs:element ref="raw_" /> <xs:element ref="twos" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="VideoCoding4CC"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="predefined" /> <xs:element ref="reserved" /> <xs:element ref="predefined" /> <xs:element ref="width" /> <xs:element ref="height" /> <xs:element ref="hori_resolution" /> <xs:element ref="vert_resolution" /> <xs:element ref="reserved" /> <xs:element ref="predefined" /> <xs:element ref="name" /> <xs:element ref="depth" /> <xs:element ref="predefined" /> <xs:element ref="clap" minOccurs="0" /> <xs:element ref="pasp" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="AudioCoding4CC"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="reserved" /> <xs:element ref="channel_count" /> <xs:element ref="sample_size" /> <xs:element ref="predefined" /> <xs:element ref="reserved" /> <xs:element ref="sample_rate" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stdp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="priority" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stts"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="sample_count" /> <xs:element ref="sample_delta" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ctts"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="sample_count" /> <xs:element ref="sample_offset" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stss"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="sample_number" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stsh"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="shadowed_sample_number" /> <xs:element ref="sync_sample_number" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sdtp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="reserved" /> <xs:element ref="sample_depends_on" /> <xs:element ref="sample_is_depends_on" /> <xs:element ref="sample_has_redundancy" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="edts"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="elst" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="elst"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="duration" /> <xs:element ref="media_time" /> <xs:element ref="media_rate_integer" /> <xs:element ref="media_rate_fraction" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dinf"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:choice> <xs:element ref="dref" /> <xs:element ref="url_" /> <xs:element ref="urn_" /> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="url_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="location" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="urn_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="name" /> <xs:element ref="location" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dref"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:choice> <xs:element ref="url_" /> <xs:element ref="urn_" /> </xs:choice> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stsz"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="sample_size" /> <xs:element ref="num_entries" /> <xs:element ref="entry_size" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stz2"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="reserved" /> <xs:element ref="field_size" /> <xs:element ref="num_entries" /> <xs:element ref="entry_size" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stsc"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="first_chunk" /> <xs:element ref="sample_per_chunk" /> <xs:element ref="description_index" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="stco"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:element ref="chunk_offset" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="co64"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:element ref="chunk_offset" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="padb"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="pad1" /> <xs:element ref="pad2" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="subs"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="sample_delta" /> <xs:element ref="num_subsample" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="subsample_size" /> <xs:element ref="subsample_priority" /> <xs:element ref="discardable" /> <xs:element ref="reserved" /> </xs:sequence> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="mvex"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="mehd" minOccurs="0" /> <xs:element ref="trex" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="mehd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="duration" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="trex"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="track_id" /> <xs:element ref="sample_index" /> <xs:element ref="sample_duration" /> <xs:element ref="sample_size" /> <xs:element ref="sample_flags" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="moof"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="mfhd" /> <xs:element ref="traf" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="mfhd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="sequence_number" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="traf"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="tfhd" /> <xs:element ref="traf" minOccurs="0" /> <xs:element ref="trun" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tfhd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="track_id" /> <xs:element ref="base_delta_offset" /> <xs:element ref="sample_index" /> <xs:element ref="sample_duration" /> <xs:element ref="sample_size" /> <xs:element ref="sample_flags" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="trun"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="track_id" /> <xs:element ref="num_entries" /> <xs:element ref="delta_offset" /> <xs:element ref="first_sample_flags" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="sample_duration" /> <xs:element ref="sample_size" /> <xs:element ref="sample_flags" /> <xs:element ref="sample_time_offset" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="mfra"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="tfra" /> <xs:element ref="mfro" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tfra"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="track_id" /> <xs:element ref="reserved" /> <xs:element ref="traf_index_size" /> <xs:element ref="trun_index_size" /> <xs:element ref="sample_index_size" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="time" /> <xs:element ref="moof_offset" /> <xs:element ref="traf_index" /> <xs:element ref="trun_index" /> <xs:element ref="sample_index" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sbgp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="type" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="sample_count" /> <xs:element ref="group_description_index" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sbgd"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="type" /> <xs:element ref="default_length" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="description_length" /> <xs:element ref="data" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="udta"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="cprt" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="cprt"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="language" /> <xs:element ref="notice" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tsel"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="switch_group" /> <xs:element ref="attributes" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="meta"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:choice minOccurs="0"> <xs:element ref="_xml_" /> <xs:element ref="bxml" /> </xs:choice> <xs:sequence> <xs:element ref="iloc" minOccurs="0" /> <xs:element ref="pitm" minOccurs="0" /> <xs:element ref="ipro" minOccurs="0" /> <xs:element ref="iinf" minOccurs="0" /> <xs:element ref="ipmc" minOccurs="0" /> <xs:element ref="fiim" minOccurs="0" /> <xs:element ref="hdlr" minOccurs="0" /> <xs:element ref="dinf" minOccurs="0" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="_xml_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="text" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bxml"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="iloc"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:choice> <xs:sequence> <xs:element ref="offset_size" /> <xs:element ref="length_size" /> <xs:element ref="base_offset_size" /> <xs:element ref="reserved" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="item_id" /> <xs:element ref="data_reference" /> <xs:element ref="base_offset" /> <xs:element ref="sample_index" /> <xs:element ref="num_extents" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="extent_offset" /> <xs:element ref="extent_length" /> </xs:sequence> </xs:sequence> </xs:sequence> <xs:element ref="item_id" /> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ipro"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="sinf" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="infe"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="item_id" /> <xs:element ref="item_protection_index" /> <xs:element ref="item_name" /> <xs:element ref="content_type" /> <xs:element ref="content_encoding" /> <xs:element ref="type" /> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="iinf"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:element ref="infe" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="meco"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="mere" minOccurs="0" maxOccurs="unbounded" /> <xs:element ref="meta" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sinf"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="frma" /> <xs:element ref="imif" minOccurs="0" /> <xs:element ref="schm" minOccurs="0" /> <xs:element ref="schi" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="frma"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data_format" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="imif"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="metabox_relaion" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ipmc"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="tool_list" /> <xs:element ref="num_entries" /> <xs:element ref="metabox_relaion" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="schm"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="schema_type" /> <xs:element ref="schema_version" /> <xs:element ref="schema_location" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="schi"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="fpar" /> <xs:element ref="fecr" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="fiin"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:element ref="paen" maxOccurs="unbounded" /> <xs:element ref="segr" minOccurs="0" /> <xs:element ref="gitn" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="fpar"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="packet_payload_size" /> <xs:element ref="reserved" /> <xs:element ref="FEC_encoding_id" /> <xs:element ref="FEC_instance_id" /> <xs:element ref="max_source_block_length" /> <xs:element ref="symbol_length" /> <xs:element ref="max_num_symbols" /> <xs:element ref="scheme_specific_info" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="block_count" /> <xs:element ref="block_size" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="segr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="num_group_ids" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="group_id" /> </xs:sequence> <xs:element ref="num_hint_track_ids" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="hint_track_id" /> </xs:sequence> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="gitn"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="num_entries" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="group_id" /> <xs:element ref="group_name" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="rtp_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="track_version" /> <xs:element ref="compatible_version" /> <xs:element ref="max_packet_size" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="tims" /> <xs:element ref="tsro" minOccurs="0" /> <xs:element ref="snro" minOccurs="0" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="srtp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="track_version" /> <xs:element ref="compatible_version" /> <xs:element ref="max_packet_size" /> <xs:sequence maxOccurs="unbounded"> <xs:element ref="tims" /> <xs:element ref="srpp" /> <xs:element ref="tsro" minOccurs="0" /> <xs:element ref="snro" minOccurs="0" /> </xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tims"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="time_scale" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tsro"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="offset" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="snro"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="offset" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="srpp"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="version" /> <xs:element ref="flag" /> <xs:element ref="encryption_rtp" /> <xs:element ref="encryption_rtcp" /> <xs:element ref="integrity_rtp" /> <xs:element ref="integrity_rtcp" /> <xs:element ref="schm" /> <xs:element ref="schi" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="rtpo"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="offset" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hinti"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:choice> <xs:element ref="rtp_" /> <xs:element ref="sdp_" /> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="rtp_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="format" /> <xs:element ref="text" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="sdp_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="text" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hinf"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="trpy" minOccurs="0" /> <xs:element ref="nump" minOccurs="0" /> <xs:element ref="tpyl" minOccurs="0" /> <xs:element ref="totl" minOccurs="0" /> <xs:element ref="npck" minOccurs="0" /> <xs:element ref="tpay" minOccurs="0" /> <xs:element ref="maxr" minOccurs="0" maxOccurs="unbounded" /> <xs:element ref="dmed" minOccurs="0" /> <xs:element ref="dimm" minOccurs="0" /> <xs:element ref="drep" minOccurs="0" /> <xs:element ref="tmin" minOccurs="0" /> <xs:element ref="tmax" minOccurs="0" /> <xs:element ref="pmax" minOccurs="0" /> <xs:element ref="dmax" minOccurs="0" /> <xs:element ref="payt" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="trpy"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tryl"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dmed"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dima"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="drep"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="totl"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tpay"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="nump"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="packets_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="npack"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="packets_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tmin"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="time" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="tmax"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="time" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dmax"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="time" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="pmax"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="maxr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="period" /> <xs:element ref="bytes_sent" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hnti"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="payload_id" /> <xs:element ref="count" /> <xs:element ref="rtpmap" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="fdp_"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="reserved" /> <xs:element ref="data_reference" /> <xs:element ref="track_version" /> <xs:element ref="compatible_version" /> <xs:element ref="partition_entry_id" /> <xs:element ref="FEC_overhead" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="fdsa"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="fdpa" maxOccurs="unbounded" /> <xs:element ref="extr" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="fdpa"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="header" /> <xs:element ref="extension_size" /> <xs:element ref="extension" /> <xs:element ref="packet_size" /> <xs:element ref="packet" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="extr"> <xs:complexType> <xs:attributeGroup ref="attrs.box" use="required" /> <xs:sequence> <xs:element ref="data" /> </xs:sequence> </xs:complexType> </xs:element> <!-- part 12 content element --> <xs:element name="matrix"> <xs:complexType> <xs:attributeGroup ref="attrs.hexbyte" use="required" /> <xs:sequence minOccurs="9" maxOccurs="9"> <xs:element ref="cell" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="cell" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="version" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="flag" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="rate" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="data" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="data_reference" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="data_format" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="inital_delay" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="creation_time" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="modification_time" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="time_scale" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="duration" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="volume" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="reserved" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="predefined" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="next_track_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="track_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="layer" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="alternate_group" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="width" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="height" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="language" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hdlr_type" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="name" type="xs:string"> <xs:attributeGroup ref="attrs.str" use="required" /> </xs:element> <xs:element name="balance" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="max_pdu_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="avg_pdu_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="max_bitrate" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="avg_bitrate" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="buffer_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="content_encoding" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="namespace" type="xs:string"> <xs:attributeGroup ref="attrs.str" use="required" /> </xs:element> <xs:element name="location" type="xs:string"> <xs:attributeGroup ref="attrs.str" use="required" /> </xs:element> <xs:element name="mine_format" type="xs:string"> <xs:attributeGroup ref="attrs.str" use="required" /> </xs:element> <xs:element name="hori_spacing" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vert_spacing" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="width_num" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="width_den" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="height_num" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="height_den" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hori_offset_num" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hori_offset_den" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vert_offset_num" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vert_offset_den" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hori_resolution" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="vert_resolution" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="depth" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="channel_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_rate" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="priority" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_delta" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="num_entries" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_number" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="shadowed_sample_number" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sync_sample_number" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_depends_on" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_is_depends_on" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_has_redundancy" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="media_time" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="media_rate_integer" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="media_rate_fraction" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="field_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="first_chunk" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_per_chunk" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="description_index" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="chunk_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="pad1" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="pad2" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="num_subsample" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="subsample_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="subsample_priority" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="discardable" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_index" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_duration" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_flags" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sequence_number" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="base_delta_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="delta_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="first_sample_flags" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_time_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="traf_index_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="trun_index_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_index_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="moof_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="traf_index" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="trun_index" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="type" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="group_description_index" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="type" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="default_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="description_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="language" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="notice" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="switch_group" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="attributes" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="offset_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="length_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="base_offset_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="item_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="base_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="sample_index" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="num_extents" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="extent_offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="extent_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="item_protection_index" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="item_name" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="content_type" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="content_encoding" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="metabox_relaion" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="tool_list" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="metabox_relaion" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="schema_type" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="schema_version" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="schema_location" type="xs:string"> <xs:attributeGroup ref="attrs.str" use="required" /> </xs:element> <xs:element name="packet_payload_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="FEC_encoding_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="FEC_instance_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="max_source_block_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="symbol_length" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="max_num_symbols" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="scheme_specific_info" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="block_count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="block_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="num_group_ids" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="num_hint_track_ids" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="hint_track_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="group_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="group_name" type="xs:string"> <xs:attributeGroup ref="attrs.str" use="required" /> </xs:element> <xs:element name="track_version" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="compatible_version" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="max_packet_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="max_packet_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="encryption_rtp" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="encryption_rtcp" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="integrity_rtp" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="integrity_rtcp" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="offset" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="format" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="text" type="xs:string"> <xs:attributeGroup ref="attrs.str" use="required" /> </xs:element> <xs:element name="bytes_sent" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="packets_sent" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="time" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="period" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="bytes_sent" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="payload_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="count" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="rtpmap" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="partition_entry_id" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="FEC_overhead" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="header" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="extension_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="extension" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> <xs:element name="packet_size" type="xs:integer"> <xs:attributeGroup ref="attrs.int" use="required" /> </xs:element> <xs:element name="packet" type="hexbyte"> <xs:attributeGroup ref="attrs.hex" use="required" /> </xs:element> </xs:schema>