<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svrl:schematron-output xmlns:xs="http://www.w3.org/2001/XMLSchema"
                        xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:schold="http://www.ascc.net/xml/schematron"
                        xmlns:sch="http://www.ascc.net/xml/schematron"
                        xmlns:iso="http://purl.oclc.org/dsdl/schematron"
                        xmlns:dash="urn:mpeg:DASH:schema:MPD:2011"
                        xmlns:xlink="http://www.w3.org/1999/xlink"
                        title="Schema for validating MPDs"
                        schemaVersion="ISO19757-3"><!--   
		   
		   
		 --><svrl:ns-prefix-in-attribute-values uri="urn:mpeg:DASH:schema:MPD:2011" prefix="dash"/>
   <svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/1999/xlink" prefix="xlink"/>
   <svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/2001/XMLSchema-instance" prefix="xsi"/>
   <svrl:active-pattern/>
   <svrl:fired-rule context="dash:MPD"/>
   <svrl:failed-assert test="if (not(@mediaPresentationDuration) and not(@minimumUpdatePeriod)) then false() else true()"
                       location="/*[local-name()='MPD' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']">
      <svrl:text>If mediaPresentationDuration ist not defined for the MPD minimumUpdatePeriod shall be defined or vice versa.</svrl:text>
   </svrl:failed-assert>
   <svrl:active-pattern/>
   <svrl:fired-rule context="dash:Period"/>
   <svrl:active-pattern/>
   <svrl:fired-rule context="dash:AdaptationSet"/>
   <svrl:fired-rule context="dash:AdaptationSet"/>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
   <svrl:fired-rule context="dash:Representation"/>
   <svrl:fired-rule context="dash:Representation"/>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
   <svrl:fired-rule context="dash:SegmentList"/>
   <svrl:failed-assert test="if (not(@duration) and not(child::dash:SegmentTimeline)) then if (count(child::dash:SegmentURL) &gt; 1) then false() else true() else true()"
                       location="/*[local-name()='MPD' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']/*[local-name()='Period' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']/*[local-name()='AdaptationSet' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011'][1]/*[local-name()='Representation' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']/*[local-name()='SegmentList' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']">
      <svrl:text>If more than one Media Segment is present the duration attribute or SegmentTimeline element shall be present.</svrl:text>
   </svrl:failed-assert>
   <svrl:fired-rule context="dash:SegmentList"/>
   <svrl:failed-assert test="if (not(@duration) and not(child::dash:SegmentTimeline)) then if (count(child::dash:SegmentURL) &gt; 1) then false() else true() else true()"
                       location="/*[local-name()='MPD' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']/*[local-name()='Period' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']/*[local-name()='AdaptationSet' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011'][2]/*[local-name()='Representation' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']/*[local-name()='SegmentList' and namespace-uri()='urn:mpeg:DASH:schema:MPD:2011']">
      <svrl:text>If more than one Media Segment is present the duration attribute or SegmentTimeline element shall be present.</svrl:text>
   </svrl:failed-assert>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
   <svrl:active-pattern/>
</svrl:schematron-output>