github.com/puellanivis/breton@v0.2.16/lib/net/dash/mpd/DASH-MPD.xsd (about)

     1  <?xml version="1.0" encoding="UTF-8"?>
     2  <xs:schema targetNamespace="urn:mpeg:dash:schema:mpd:2011" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="urn:mpeg:dash:schema:mpd:2011">
     3  
     4    <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/>
     5  
     6    <xs:annotation>
     7      <xs:appinfo>Media Presentation Description</xs:appinfo>
     8      <xs:documentation xml:lang="en">
     9        This Schema defines the Media Presentation Description for MPEG-DASH.
    10      </xs:documentation>
    11    </xs:annotation>
    12  
    13    <!-- MPD: main element -->
    14    <xs:element name="MPD" type="MPDtype"/>
    15  
    16    <!-- MPD Type -->
    17    <xs:complexType name="MPDtype">
    18      <xs:sequence>
    19        <xs:element name="ProgramInformation" type="ProgramInformationType" minOccurs="0" maxOccurs="unbounded"/>
    20        <xs:element name="BaseURL" type="BaseURLType" minOccurs="0" maxOccurs="unbounded"/>
    21        <xs:element name="Location" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
    22        <xs:element name="Period" type="PeriodType" maxOccurs="unbounded"/>
    23        <xs:element name="Metrics" type="MetricsType" minOccurs="0" maxOccurs="unbounded"/>
    24        <xs:element name="EssentialProperty" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
    25        <xs:element name="SupplementalProperty" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
    26        <xs:element name="UTCTiming" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
    27        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    28      </xs:sequence>
    29      <xs:attribute name="id" type="xs:string"/>
    30      <xs:attribute name="profiles" type="xs:string" use="required"/>
    31      <xs:attribute name="type" type="PresentationType" default="static"/>
    32      <xs:attribute name="availabilityStartTime" type="xs:dateTime"/>
    33      <xs:attribute name="availabilityEndTime" type="xs:dateTime"/>
    34      <xs:attribute name="publishTime" type="xs:dateTime"/>
    35      <xs:attribute name="mediaPresentationDuration" type="xs:duration"/>
    36      <xs:attribute name="minimumUpdatePeriod" type="xs:duration"/>
    37      <xs:attribute name="minBufferTime" type="xs:duration" use="required"/>
    38      <xs:attribute name="timeShiftBufferDepth" type="xs:duration"/>
    39      <xs:attribute name="suggestedPresentationDelay" type="xs:duration"/>
    40      <xs:attribute name="maxSegmentDuration" type="xs:duration"/>
    41      <xs:attribute name="maxSubsegmentDuration" type="xs:duration"/>
    42      <xs:anyAttribute namespace="##other" processContents="lax"/>
    43    </xs:complexType>
    44  
    45    <!-- Presentation Type enumeration -->
    46    <xs:simpleType name="PresentationType">
    47      <xs:restriction base="xs:string">
    48        <xs:enumeration value="static"/>
    49        <xs:enumeration value="dynamic"/>
    50      </xs:restriction>
    51    </xs:simpleType>
    52  
    53    <!-- Period -->
    54    <xs:complexType name="PeriodType">
    55      <xs:sequence>
    56        <xs:element name="BaseURL" type="BaseURLType" minOccurs="0" maxOccurs="unbounded"/>
    57        <xs:element name="SegmentBase" type="SegmentBaseType" minOccurs="0"/>
    58        <xs:element name="SegmentList" type="SegmentListType" minOccurs="0"/>
    59        <xs:element name="SegmentTemplate" type="SegmentTemplateType" minOccurs="0"/>
    60        <xs:element name="AssetIdentifier" type="DescriptorType" minOccurs="0"/>
    61        <xs:element name="EventStream" type="EventStreamType" minOccurs="0" maxOccurs="unbounded"/>
    62        <xs:element name="AdaptationSet" type="AdaptationSetType" minOccurs="0" maxOccurs="unbounded"/>
    63        <xs:element name="Subset" type="SubsetType" minOccurs="0" maxOccurs="unbounded"/>
    64        <xs:element name="SupplementalProperty" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
    65  	  <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    66      </xs:sequence>
    67      <xs:attribute ref="xlink:href"/>
    68      <xs:attribute ref="xlink:actuate" default="onRequest"/>
    69      <xs:attribute name="id" type="xs:string"/>
    70      <xs:attribute name="start" type="xs:duration"/>
    71      <xs:attribute name="duration" type="xs:duration"/>
    72      <xs:attribute name="bitstreamSwitching" type="xs:boolean" default="false"/>
    73      <xs:anyAttribute namespace="##other" processContents="lax"/>
    74    </xs:complexType>
    75  
    76    <!-- Event Stream -->
    77    <xs:complexType name="EventStreamType">
    78      <xs:sequence>
    79        <xs:element name="Event" type="EventType" minOccurs="0" maxOccurs="unbounded"/>
    80        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>      
    81      </xs:sequence>
    82      <xs:attribute ref="xlink:href"/>
    83      <xs:attribute ref="xlink:actuate" default="onRequest"/>
    84      <xs:attribute name="schemeIdUri" type="xs:anyURI" use="required"/>
    85      <xs:attribute name="value" type="xs:string"/>
    86      <xs:attribute name="timescale" type="xs:unsignedInt"/>
    87    </xs:complexType>
    88  
    89    
    90    <!-- Event  -->
    91    <xs:complexType name="EventType">
    92      <xs:sequence>
    93        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
    94      </xs:sequence>
    95        <xs:attribute name="presentationTime" type="xs:unsignedLong" default="0"/>
    96        <xs:attribute name="duration" type="xs:unsignedLong"/>
    97        <xs:attribute name="id" type="xs:unsignedInt"/>
    98        <xs:attribute name="messageData" type="xs:string"/>
    99      <xs:anyAttribute namespace="##other" processContents="lax"/>
   100    </xs:complexType>
   101  
   102    <!-- Adaptation Set -->
   103    <xs:complexType name="AdaptationSetType">
   104      <xs:complexContent>
   105        <xs:extension base="RepresentationBaseType">
   106          <xs:sequence>
   107            <xs:element name="Accessibility" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   108            <xs:element name="Role" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   109            <xs:element name="Rating" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   110            <xs:element name="Viewpoint" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   111            <xs:element name="ContentComponent" type="ContentComponentType" minOccurs="0" maxOccurs="unbounded"/>
   112            <xs:element name="BaseURL" type="BaseURLType" minOccurs="0" maxOccurs="unbounded"/>
   113            <xs:element name="SegmentBase" type="SegmentBaseType" minOccurs="0"/>
   114            <xs:element name="SegmentList" type="SegmentListType" minOccurs="0"/>
   115            <xs:element name="SegmentTemplate" type="SegmentTemplateType" minOccurs="0"/>
   116            <xs:element name="Representation" type="RepresentationType" minOccurs="0" maxOccurs="unbounded"/>
   117          </xs:sequence>
   118          <xs:attribute ref="xlink:href"/>
   119          <xs:attribute ref="xlink:actuate" default="onRequest"/>
   120          <xs:attribute name="id" type="xs:unsignedInt"/>
   121          <xs:attribute name="group" type="xs:unsignedInt"/>
   122          <xs:attribute name="lang" type="xs:language"/>
   123          <xs:attribute name="contentType" type="xs:string"/>
   124          <xs:attribute name="par" type="RatioType"/>
   125          <xs:attribute name="minBandwidth" type="xs:unsignedInt"/>
   126          <xs:attribute name="maxBandwidth" type="xs:unsignedInt"/>
   127          <xs:attribute name="minWidth" type="xs:unsignedInt"/>
   128          <xs:attribute name="maxWidth" type="xs:unsignedInt"/>
   129          <xs:attribute name="minHeight" type="xs:unsignedInt"/>
   130          <xs:attribute name="maxHeight" type="xs:unsignedInt"/>
   131          <xs:attribute name="minFrameRate" type="FrameRateType"/>
   132          <xs:attribute name="maxFrameRate" type="FrameRateType"/>
   133          <xs:attribute name="segmentAlignment" type="ConditionalUintType" default="false"/>
   134          <xs:attribute name="subsegmentAlignment" type="ConditionalUintType" default="false"/>
   135          <xs:attribute name="subsegmentStartsWithSAP" type="SAPType" default="0"/>
   136          <xs:attribute name="bitstreamSwitching" type="xs:boolean"/>
   137        </xs:extension>
   138      </xs:complexContent>
   139    </xs:complexType>
   140  
   141    <!-- Ratio Type for sar and par -->
   142    <xs:simpleType name="RatioType">
   143      <xs:restriction base="xs:string">
   144        <xs:pattern value="[0-9]*:[0-9]*"/>
   145      </xs:restriction>
   146    </xs:simpleType>   
   147    
   148    <!-- Type for Frame Rate -->
   149    <xs:simpleType name="FrameRateType">
   150      <xs:restriction base="xs:string">
   151        <xs:pattern value="[0-9]*[0-9](/[0-9]*[0-9])?"/>
   152      </xs:restriction>
   153    </xs:simpleType>
   154   
   155  
   156    <!-- Conditional Unsigned Integer (unsignedInt or boolean) -->
   157    <xs:simpleType name="ConditionalUintType">
   158      <xs:union memberTypes="xs:unsignedInt xs:boolean"/>
   159    </xs:simpleType>
   160  
   161    <!-- Content Component -->
   162    <xs:complexType name="ContentComponentType">
   163      <xs:sequence>
   164        <xs:element name="Accessibility" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   165        <xs:element name="Role" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   166        <xs:element name="Rating" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   167        <xs:element name="Viewpoint" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   168        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   169      </xs:sequence>
   170      <xs:attribute name="id" type="xs:unsignedInt"/>
   171      <xs:attribute name="lang" type="xs:language"/>
   172      <xs:attribute name="contentType" type="xs:string"/>
   173      <xs:attribute name="par" type="RatioType"/>
   174      <xs:anyAttribute namespace="##other" processContents="lax"/>
   175    </xs:complexType>
   176  
   177    <!-- Representation -->
   178    <xs:complexType name="RepresentationType">
   179      <xs:complexContent>
   180        <xs:extension base="RepresentationBaseType">
   181          <xs:sequence>
   182            <xs:element name="BaseURL" type="BaseURLType" minOccurs="0" maxOccurs="unbounded"/>
   183            <xs:element name="SubRepresentation" type="SubRepresentationType" minOccurs="0" maxOccurs="unbounded"/>
   184            <xs:element name="SegmentBase" type="SegmentBaseType" minOccurs="0"/>
   185            <xs:element name="SegmentList" type="SegmentListType" minOccurs="0"/>
   186            <xs:element name="SegmentTemplate" type="SegmentTemplateType" minOccurs="0"/>
   187          </xs:sequence>
   188          <xs:attribute name="id" type="StringNoWhitespaceType" use="required"/>
   189          <xs:attribute name="bandwidth" type="xs:unsignedInt" use="required"/>
   190          <xs:attribute name="qualityRanking" type="xs:unsignedInt"/>
   191          <xs:attribute name="dependencyId" type="StringVectorType"/>
   192          <xs:attribute name="mediaStreamStructureId" type="StringVectorType"/>
   193        </xs:extension>
   194      </xs:complexContent>
   195    </xs:complexType>
   196    
   197    <!-- String without white spaces -->
   198    <xs:simpleType name="StringNoWhitespaceType">
   199      <xs:restriction base="xs:string">
   200        <xs:pattern value="[^\r\n\t \p{Z}]*"/>
   201      </xs:restriction>
   202    </xs:simpleType>
   203    
   204  
   205    <!-- SubRepresentation -->
   206    <xs:complexType name="SubRepresentationType">
   207      <xs:complexContent>
   208        <xs:extension base="RepresentationBaseType">
   209          <xs:attribute name="level" type="xs:unsignedInt"/>
   210          <xs:attribute name="dependencyLevel" type="UIntVectorType"/>
   211          <xs:attribute name="bandwidth" type="xs:unsignedInt"/>
   212          <xs:attribute name="contentComponent" type="StringVectorType"/>
   213        </xs:extension>
   214      </xs:complexContent>
   215    </xs:complexType>
   216  
   217    <!-- Representation base (common attributes and elements) -->
   218    <xs:complexType name="RepresentationBaseType">
   219      <xs:sequence>
   220        <xs:element name="FramePacking" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   221        <xs:element name="AudioChannelConfiguration" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   222        <xs:element name="ContentProtection" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   223        <xs:element name="EssentialProperty" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   224        <xs:element name="SupplementalProperty" type="DescriptorType" minOccurs="0" maxOccurs="unbounded"/>
   225        <xs:element name="InbandEventStream" type="EventStreamType" minOccurs="0" maxOccurs="unbounded"/>
   226        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   227      </xs:sequence>
   228      <xs:attribute name="profiles" type="xs:string"/>
   229      <xs:attribute name="width" type="xs:unsignedInt"/>
   230      <xs:attribute name="height" type="xs:unsignedInt"/>
   231      <xs:attribute name="sar" type="RatioType"/>
   232      <xs:attribute name="frameRate" type="FrameRateType"/>
   233      <xs:attribute name="audioSamplingRate" type="xs:string"/>
   234      <xs:attribute name="mimeType" type="xs:string"/>
   235      <xs:attribute name="segmentProfiles" type="xs:string"/>
   236      <xs:attribute name="codecs" type="xs:string"/>
   237      <xs:attribute name="maximumSAPPeriod" type="xs:double"/>
   238      <xs:attribute name="startWithSAP" type="SAPType"/>
   239      <xs:attribute name="maxPlayoutRate" type="xs:double"/>
   240      <xs:attribute name="codingDependency" type="xs:boolean"/>
   241      <xs:attribute name="scanType" type="VideoScanType"/>
   242      <xs:anyAttribute namespace="##other" processContents="lax"/>
   243    </xs:complexType>
   244    
   245    <!-- Stream Access Point type enumeration -->
   246    <xs:simpleType name="SAPType">
   247      <xs:restriction base="xs:unsignedInt">
   248        <xs:minInclusive value="0"/>
   249        <xs:maxInclusive value="6"/>
   250      </xs:restriction>
   251    </xs:simpleType>
   252  
   253    <!-- Video Scan type enumeration -->
   254    <xs:simpleType name="VideoScanType">
   255      <xs:restriction base="xs:string">
   256        <xs:enumeration value="progressive"/>
   257        <xs:enumeration value="interlaced"/>
   258        <xs:enumeration value="unknown"/>
   259      </xs:restriction>
   260    </xs:simpleType>
   261  
   262    <!-- Subset  -->
   263    <xs:complexType name="SubsetType">
   264      <xs:attribute name="contains" type="UIntVectorType" use="required"/>
   265      <xs:attribute name="id" type="xs:string"/>
   266      <xs:anyAttribute namespace="##other" processContents="lax"/>
   267    </xs:complexType>
   268  
   269    <!-- Segment information base -->
   270    <xs:complexType name="SegmentBaseType">
   271      <xs:sequence>
   272        <xs:element name="Initialization" type="URLType" minOccurs="0"/>
   273        <xs:element name="RepresentationIndex" type="URLType" minOccurs="0"/>
   274        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   275      </xs:sequence>
   276      <xs:attribute name="timescale" type="xs:unsignedInt"/>
   277      <xs:attribute name="presentationTimeOffset" type="xs:unsignedLong"/>
   278      <xs:attribute name="indexRange" type="xs:string"/>
   279      <xs:attribute name="indexRangeExact" type="xs:boolean" default="false"/>
   280      <xs:attribute name="availabilityTimeOffset" type="xs:double"/>
   281      <xs:attribute name="availabilityTimeComplete" type="xs:boolean"/>
   282      <xs:anyAttribute namespace="##other" processContents="lax"/>
   283    </xs:complexType>
   284  
   285    <!-- Multiple Segment information base -->
   286    <xs:complexType name="MultipleSegmentBaseType">
   287      <xs:complexContent>
   288        <xs:extension base="SegmentBaseType">
   289          <xs:sequence>
   290            <xs:element name="SegmentTimeline" type="SegmentTimelineType" minOccurs="0"/>
   291            <xs:element name="BitstreamSwitching" type="URLType" minOccurs="0"/>
   292          </xs:sequence>
   293          <xs:attribute name="duration" type="xs:unsignedInt"/>
   294          <xs:attribute name="startNumber" type="xs:unsignedInt"/>
   295        </xs:extension>
   296      </xs:complexContent>
   297    </xs:complexType>
   298  
   299    <!-- Segment Info item URL/range -->
   300    <xs:complexType name="URLType">
   301      <xs:sequence>
   302        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   303      </xs:sequence>
   304      <xs:attribute name="sourceURL" type="xs:anyURI"/>
   305      <xs:attribute name="range" type="xs:string"/>
   306      <xs:anyAttribute namespace="##other" processContents="lax"/>
   307    </xs:complexType>
   308  
   309    <!-- Segment List -->
   310    <xs:complexType name="SegmentListType">
   311      <xs:complexContent>
   312        <xs:extension base="MultipleSegmentBaseType">
   313          <xs:sequence>
   314            <xs:element name="SegmentURL" type="SegmentURLType" minOccurs="0" maxOccurs="unbounded"/>
   315          </xs:sequence>
   316          <xs:attribute ref="xlink:href"/>
   317          <xs:attribute ref="xlink:actuate" default="onRequest"/>
   318        </xs:extension>
   319      </xs:complexContent>
   320    </xs:complexType>
   321  
   322    <!-- Segment URL  -->
   323    <xs:complexType name="SegmentURLType">
   324      <xs:sequence>
   325        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   326      </xs:sequence>
   327      <xs:attribute name="media" type="xs:anyURI"/>
   328      <xs:attribute name="mediaRange" type="xs:string"/>
   329      <xs:attribute name="index" type="xs:anyURI"/>
   330      <xs:attribute name="indexRange" type="xs:string"/>
   331      <xs:anyAttribute namespace="##other" processContents="lax"/>
   332    </xs:complexType>
   333  
   334    <!-- Segment Template -->
   335    <xs:complexType name="SegmentTemplateType">
   336      <xs:complexContent>
   337        <xs:extension base="MultipleSegmentBaseType">
   338          <xs:attribute name="media" type="xs:string"/>
   339          <xs:attribute name="index" type="xs:string"/>
   340          <xs:attribute name="initialization" type="xs:string"/>
   341          <xs:attribute name="bitstreamSwitching" type="xs:string"/>
   342        </xs:extension>
   343      </xs:complexContent>
   344    </xs:complexType>
   345  
   346    <!-- Segment Timeline -->
   347    <xs:complexType name="SegmentTimelineType">
   348      <xs:sequence>
   349        <xs:element name="S" minOccurs="1" maxOccurs="unbounded">
   350          <xs:complexType>
   351            <xs:attribute name="t" type="xs:unsignedLong"/>
   352            <xs:attribute name="n" type="xs:unsignedLong" use="optional"/>
   353            <xs:attribute name="d" type="xs:unsignedLong" use="required"/>
   354            <xs:attribute name="r" type="xs:integer" use="optional" default="0"/>
   355            <xs:anyAttribute namespace="##other" processContents="lax"/>
   356          </xs:complexType>
   357        </xs:element>
   358        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   359      </xs:sequence>
   360      <xs:anyAttribute namespace="##other" processContents="lax"/>
   361    </xs:complexType>
   362  
   363    <!-- Whitespace-separated list of strings -->
   364    <xs:simpleType name="StringVectorType">
   365      <xs:list itemType="xs:string"/>
   366    </xs:simpleType>
   367  
   368    <!-- Whitespace-separated list of unsigned integers -->
   369    <xs:simpleType name="UIntVectorType">
   370      <xs:list itemType="xs:unsignedInt"/>
   371    </xs:simpleType>
   372  
   373    <!-- Base URL -->
   374    <xs:complexType name="BaseURLType">
   375      <xs:simpleContent>
   376        <xs:extension base="xs:anyURI">
   377          <xs:attribute name="serviceLocation" type="xs:string"/>
   378          <xs:attribute name="byteRange" type="xs:string"/>
   379          <xs:attribute name="availabilityTimeOffset" type="xs:double"/>
   380          <xs:attribute name="availabilityTimeComplete" type="xs:boolean"/>
   381          <xs:anyAttribute namespace="##other" processContents="lax"/>
   382        </xs:extension>
   383      </xs:simpleContent>
   384    </xs:complexType>
   385  
   386    <!-- Program Information -->
   387    <xs:complexType name="ProgramInformationType">
   388      <xs:sequence>
   389        <xs:element name="Title" type="xs:string" minOccurs="0"/>
   390        <xs:element name="Source" type="xs:string" minOccurs="0"/>
   391        <xs:element name="Copyright" type="xs:string" minOccurs="0"/>
   392        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   393      </xs:sequence>
   394      <xs:attribute name="lang" type="xs:language"/>
   395      <xs:attribute name="moreInformationURL" type="xs:anyURI"/>
   396  		<xs:anyAttribute namespace="##other" processContents="lax"/>
   397    </xs:complexType>
   398  
   399    <!-- Descriptor -->
   400    <xs:complexType name="DescriptorType">
   401      <xs:sequence>
   402        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   403      </xs:sequence>
   404      <xs:attribute name="schemeIdUri" type="xs:anyURI" use="required"/>
   405      <xs:attribute name="value" type="xs:string"/>
   406      <xs:attribute name="id" type="xs:string"/>    
   407      <xs:anyAttribute namespace="##other" processContents="lax"/>
   408    </xs:complexType>
   409  
   410    <!-- Metrics -->
   411    <xs:complexType name="MetricsType">
   412      <xs:sequence>
   413        <xs:element name="Reporting" type="DescriptorType" maxOccurs="unbounded"/>
   414        <xs:element name="Range" type="RangeType" minOccurs="0" maxOccurs="unbounded"/>
   415        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
   416      </xs:sequence>
   417      <xs:attribute name="metrics" type="xs:string" use="required"/>
   418      <xs:anyAttribute namespace="##other" processContents="lax"/>
   419    </xs:complexType>
   420  
   421    <!-- Metrics Range -->
   422    <xs:complexType name="RangeType">
   423      <xs:attribute name="starttime" type="xs:duration"/>
   424      <xs:attribute name="duration" type="xs:duration"/>
   425    </xs:complexType>
   426  
   427  </xs:schema>