previous next contents

# Appendix B. SMIL 2.0 Schemas

This section is informative.

An informative zip archive of all the SMIL 2.0 Schemas is also available.

## Table of contents

## B.1 XML Schema for the SMIL 2.0 functionalities:

### B.1.1 SMIL 2.0 Modules

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- these URL's may have to be expanded to their full and proper locations -->

        <!-- include the schema files for the building block types -->
        <include schemaLocation="smil20-utility.xsd"/>
        <include schemaLocation="smil20-layout.xsd"/>
        <include schemaLocation="smil20-struct.xsd"/>
        <include schemaLocation="smil20-animate.xsd"/>
        <include schemaLocation="smil20-media.xsd"/>
        <include schemaLocation="smil20-content.xsd"/>
        <include schemaLocation="smil20-linking.xsd"/>
        <include schemaLocation="smil20-meta.xsd"/>
        <include schemaLocation="smil20-timemanip.xsd"/>
        <include schemaLocation="smil20-transitions.xsd"/>
        <include schemaLocation="smil20-timing.xsd"/>

        <!-- import the smil20 language namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/>

        <!-- import the definitions in the modules namespaces -->
        <import namespace="http://www.w3.org/2001/SMIL20/AccessKeyTiming" schemaLocation="smil20-AccessKeyTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/AudioLayout" schemaLocation="smil20-AudioLayout.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BasicAnimation" schemaLocation="smil20-BasicAnimation.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BasicContentControl" schemaLocation="smil20-BasicContentControl.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BasicInlineTiming" schemaLocation="smil20-BasicInlineTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BasicLayout" schemaLocation="smil20-BasicLayout.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BasicLinking" schemaLocation="smil20-BasicLinking.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BasicMedia" schemaLocation="smil20-BasicMedia.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BasicTimeContainers" schemaLocation="smil20-BasicTimeContainers.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BasicTransitions" schemaLocation="smil20-BasicTransitions.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/BrushMedia" schemaLocation="smil20-BrushMedia.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/CustomTestAttributes" schemaLocation="smil20-CustomTestAttributes.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/EventTiming" schemaLocation="smil20-EventTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/ExclTimeContainers" schemaLocation="smil20-ExclTimeContainers.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/FillDefault" schemaLocation="smil20-FillDefault.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/HierarchicalLayout" schemaLocation="smil20-HierarchicalLayout.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/InlineTransitions" schemaLocation="smil20-InlineTransitions.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/LinkingAttributes" schemaLocation="smil20-LinkingAttributes.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MediaAccessibility" schemaLocation="smil20-MediaAccessibility.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MediaClipMarkers" schemaLocation="smil20-MediaClipMarkers.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MediaClipping" schemaLocation="smil20-MediaClipping.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MediaDescription" schemaLocation="smil20-MediaDescription.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MediaMarkerTiming" schemaLocation="smil20-MediaMarkerTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MediaParam" schemaLocation="smil20-MediaParam.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/Metainformation" schemaLocation="smil20-Metainformation.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MinMaxTiming" schemaLocation="smil20-MinMaxTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MultiArcTiming" schemaLocation="smil20-MultiArcTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/MultiWindowLayout" schemaLocation="smil20-MultiWindowLayout.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/PrefetchControl" schemaLocation="smil20-PrefetchControl.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/RepeatTiming" schemaLocation="smil20-RepeatTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/RepeatValueTiming" schemaLocation="smil20-RepeatValueTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/RestartDefault" schemaLocation="smil20-RestartDefault.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/RestartTiming" schemaLocation="smil20-RestartTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/SkipContentControl" schemaLocation="smil20-SkipContentControl.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/SplineAnimation" schemaLocation="smil20-SplineAnimation.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/Structure" schemaLocation="smil20-Structure.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/SyncbaseTiming" schemaLocation="smil20-SyncbaseTiming.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/SyncBehavior" schemaLocation="smil20-SyncBehavior.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/SyncBehaviorDefault" schemaLocation="smil20-SyncBehaviorDefault.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/SyncMaster" schemaLocation="smil20-SyncMaster.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/TimeContainerAttributes" schemaLocation="smil20-TimeContainerAttributes.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/TimeManipulations" schemaLocation="smil20-TimeManipulations.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/TransitionModifiers" schemaLocation="smil20-TransitionModifiers.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/WallclockTiming" schemaLocation="smil20-WallclockTiming.xsd"/>

        <!-- import the definitions in the module collection namespaces -->
        <import namespace="http://www.w3.org/2001/SMIL20/HostLanguage" schemaLocation="smil20-HostLanguage.xsd"/>
        <import namespace="http://www.w3.org/2001/SMIL20/IntegrationSet" schemaLocation="smil20-IntegrationSet.xsd"/>

    </schema>

### B.1.2 The SMIL Animation Module

    <!--
    XML Schema for the SMIL 2.0 Animation functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-animate.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!--
            in general, an integration language should include only
            one of "animTargetAttrs" and "animTargetXLinkAttrs"
        -->
        <attributeGroup name="animTargetAttrs">
            <attribute name="targetElement" type="IDREF" use="optional" />
        </attributeGroup>

        <attributeGroup name="animTargetXLinkAttrs">
            <attribute name="actuate" use="optional"  default="onLoad">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="onLoad"/>
                        <enumeration value="onRequest"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="href" type="anyURI" use="optional"/>

            <attribute name="show" use="optional"  default="embed">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="new"/>
                        <enumeration value="embed"/>
                        <enumeration value="replace"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="type" use="optional"  default="simple">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="simple"/>
                        <enumeration value="extended"/>
                        <enumeration value="locator"/>
                        <enumeration value="arc"/>
                    </restriction>
                </simpleType>
            </attribute>
        </attributeGroup>

        <attributeGroup name="animNamedTargetAttrs">
            <attribute name="attributeName" type="string" use="required"/>
            <attribute name="attributeType" use="optional"  default="auto">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="XML"/>
                        <enumeration value="CSS"/>
                        <enumeration value="auto"/>
                    </restriction>
                </simpleType>
            </attribute>
        </attributeGroup>

        <!--
            'spline' is only included with SplineAnimation module,
             but it is not clear how to exclude it otherwise, so we
             have two otherwise identical attribute groups, 'animModeAttrs'
             and 'animSplineModeAttrs', that only differ by included the 'spline'
             attribute value. Use one or the other of these.
        -->
        <attributeGroup name="animModeAttrs">
            <attribute name="calcMode" use="optional"  default="linear">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="discrete"/>
                        <enumeration value="linear"/>
                        <enumeration value="paced"/>
                    </restriction>
                </simpleType>
            </attribute>
        </attributeGroup>

        <attributeGroup name="animSplineModeAttrs">
            <attribute name="calcMode" use="optional"  default="linear">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="discrete"/>
                        <enumeration value="linear"/>
                        <enumeration value="paced"/>
                        <enumeration value="spline"/>
                    </restriction>
                </simpleType>
            </attribute>
        </attributeGroup>

        <!--
            include the next two attribute groups only if the
            SplineAnimation module is included
        -->
        <attributeGroup name="splineAnimValueAttrs">
            <attribute name="keyTimes" type="string" use="optional"/>
            <attribute name="keySplines" type="string" use="optional"/>
        </attributeGroup>

        <attributeGroup name="splineAnimPathAttrs">
            <attribute name="path" type="string" use="optional"/>
        </attributeGroup>

        <attributeGroup name="animAddAccumAttrs">
            <attribute name="additive" use="optional"  default="replace">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="replace"/>
                        <enumeration value="sum"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="accumulate" use="optional"  default="none">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="none"/>
                        <enumeration value="sum"/>
                    </restriction>
                </simpleType>
            </attribute>
        </attributeGroup>

        <attributeGroup name="animSetValuesAttrs">
            <attribute name="to" use="optional" type="string"/>
        </attributeGroup>

        <attributeGroup name="animValuesAttrs">
            <attributeGroup ref="smil20:animSetValuesAttrs"/>
            <attribute name="from" use="optional" type="string"/>
            <attribute name="by" use="optional" type="string"/>
            <attribute name="values" use="optional" type="string"/>
        </attributeGroup>

        <complexType name="animatePrototype">
            <attributeGroup ref="smil20:animNamedTargetAttrs"/>
            <attributeGroup ref="smil20:animAddAccumAttrs"/>
            <attributeGroup ref="smil20:animValuesAttrs"/>
        </complexType>

        <complexType name="setPrototype">
            <attributeGroup ref="smil20:animNamedTargetAttrs"/>
            <attributeGroup ref="smil20:animSetValuesAttrs"/>
        </complexType>

        <complexType name="animateMotionPrototype">
            <attributeGroup ref="smil20:animAddAccumAttrs"/>
            <attributeGroup ref="smil20:animValuesAttrs"/>
            <attribute name="origin" type="string" use="optional"/>
        </complexType>

        <complexType name="animateColorPrototype">
            <attributeGroup ref="smil20:animNamedTargetAttrs"/>
            <attributeGroup ref="smil20:animAddAccumAttrs"/>
            <attributeGroup ref="smil20:animValuesAttrs"/>
        </complexType>

        <!-- global animate element -->
        <element name="animate" type="smil20lang:animateType" substitutionGroup="smil20lang:animate"/>
        <complexType name="animateType">
            <complexContent>
                <extension base="smil20:animatePrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20:animTargetAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <attributeGroup ref="smil20:animSplineModeAttrs"/>
                    <attributeGroup ref="smil20:splineAnimValueAttrs"/>
                    <attributeGroup ref="smil20:splineAnimPathAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- global animateMotion element -->
        <element name="animateMotion" type="smil20lang:animateMotionType" substitutionGroup="smil20lang:animateMotion"/>
        <complexType name="animateMotionType">
            <complexContent>
                <extension base="smil20:animateMotionPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20:animTargetAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <attributeGroup ref="smil20:animSplineModeAttrs"/>
                    <attributeGroup ref="smil20:splineAnimValueAttrs"/>
                    <attributeGroup ref="smil20:splineAnimPathAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- global animateColor element -->
        <element name="animateColor" type="smil20lang:animateColorType" substitutionGroup="smil20lang:animateColor"/>
        <complexType name="animateColorType">
            <complexContent>
                <extension base="smil20:animateColorPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20:animTargetAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <attributeGroup ref="smil20:animSplineModeAttrs"/>
                    <attributeGroup ref="smil20:splineAnimValueAttrs"/>
                    <attributeGroup ref="smil20:splineAnimPathAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- global set element -->
        <element name="set" type="smil20lang:setType" substitutionGroup="smil20lang:set"/>

    </schema>

### B.1.3 The SMIL Content Control Module

    <!--
    XML Schema for the SMIL 2.0 Content Control functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-content.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Defines both the local and global smil20 content control attributes.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- utility type for test attribute values -->
        <simpleType name="onOrOffType">
            <restriction base="string">
                <enumeration value="on"/>
                <enumeration value="off"/>
            </restriction>
        </simpleType>

        <simpleType name="overdubOrSubtitleType">
            <restriction base="string">
                <enumeration value="overdub"/>
                <enumeration value="subtitle"/>
            </restriction>
        </simpleType>

        <simpleType name="overdubOrCaptionsType">
            <restriction base="string">
                <enumeration value="overdub"/>
                <enumeration value="caption"/>
            </restriction>
        </simpleType>

        <!-- is there a type for a namespace prefix? -->
        <!-- currently using NMTOKEN -->

        <!-- global system test attributes-->
        <attribute name="systemAudioDesc" type="smil20:onOrOffType"/>
        <attribute name="systemBitrate" type="string"/>
        <attribute name="systemCaptions" type="smil20:onOrOffType"/>
        <attribute name="systemComponent" type="string"/>
        <attribute name="systemCPU" type="NMTOKEN"/>
        <attribute name="systemLanguage" type="string"/>
        <attribute name="systemOperatingSystem" type="NMTOKEN"/>
        <attribute name="systemOverdubOrSubtitle" type="smil20:overdubOrSubtitleType"/>
        <attribute name="systemRequired" type="string"/>
        <attribute name="systemScreenDepth" type="positiveInteger"/>
        <attribute name="systemScreenSize" type="string"/>

        <!-- system test attribute group -->
        <attributeGroup name="systemTestAttrs">
            <attribute name="systemAudioDesc" type="smil20:onOrOffType" use="optional"/>
            <attribute name="systemBitrate" type="string" use="optional"/>
            <attribute name="systemCaptions" type="smil20:onOrOffType" use="optional"/>
            <attribute name="systemComponent" type="string" use="optional"/>
            <attribute name="systemCPU" type="NMTOKEN" use="optional"/>
            <attribute name="systemLanguage" type="string" use="optional"/>
            <attribute name="systemOperatingSystem" type="NMTOKEN" use="optional"/>
            <attribute name="systemOverdubOrSubtitle" type="smil20:overdubOrSubtitleType" use="optional"/>
            <attribute name="systemRequired" type="string" use="optional"/>
            <attribute name="systemScreenDepth" type="positiveInteger" use="optional"/>
            <attribute name="systemScreenSize" type="string" use="optional"/>
        </attributeGroup>

        <!-- deprecated global system test attributes-->
        <attribute name="system-bitrate" type="string"/>
        <attribute name="system-captions" type="smil20:onOrOffType"/>
        <attribute name="system-language" type="string"/>
        <attribute name="system-overdub-or-caption" type="smil20:overdubOrCaptionsType"/>
        <attribute name="system-required" type="string"/>
        <attribute name="system-screen-depth" type="positiveInteger"/>
        <attribute name="system-screen-size" type="string"/>

        <!-- deprecated system test attribute group -->
        <attributeGroup name="deprecatedSystemTestAttrs">
            <attribute name="system-bitrate" type="string" use="optional"/>
            <attribute name="system-captions" type="smil20:onOrOffType" use="optional"/>
            <attribute name="system-language" type="string" use="optional"/>
            <attribute name="system-overdub-or-caption" type="smil20:overdubOrCaptionsType" use="optional"/>
            <attribute name="system-required" type="string" use="optional"/>
            <attribute name="system-screen-depth" type="positiveInteger" use="optional"/>
            <attribute name="system-screen-size" type="string" use="optional"/>
        </attributeGroup>

        <!-- define the switch element prototype -->
        <complexType name="switchPrototype">
            <attributeGroup ref="smil20:systemTestAttrs"/>
        </complexType>

        <!-- define the global customTest attribute -->
        <attribute name="customTest" type="string"/>

        <!-- define the customTest attribute group -->
        <attributeGroup name="customTestAttrs">
            <attribute name="customTest" type="string" use="optional"/>
        </attributeGroup>

        <!-- define the global skip-content attribute -->
        <attribute name="skip-content" type="boolean"/>

        <!-- define the skip-content attribute group -->
        <attributeGroup name="skipContentAttrs">
            <attribute name="skip-content" type="boolean" use="optional"  default="true"/>
        </attributeGroup>

        <!-- define the customTest element prototype -->
        <complexType name="customTestPrototype">
            <attribute name="defaultState" type="boolean" use="optional"  default="false"/>

            <attribute name="override" use="optional"  default="hidden">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="visible"/>
                        <enumeration value="hidden"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="uid" type="anyURI" use="optional"/>
        </complexType>

        <!-- define the customAttributes element prototype -->
        <complexType name="customAttributesPrototype">
        </complexType>

        <!-- define the prefetch element prototype -->
        <complexType name="prefetchPrototype">
            <attribute name="src" type="anyURI" use="optional"/>
            <attribute name="mediaSize" type="string" use="optional"/>
            <attribute name="mediaTime" type="string" use="optional"/>
            <attribute name="bandwidth" type="string" use="optional"/>
        </complexType>

        <!-- define the global content control elements -->
        <element name="switch" type="smil20lang:switchType" substitutionGroup="smil20lang:switch"/>
        <element name="prefetch" type="smil20lang:prefetchType" substitutionGroup="smil20lang:prefetch"/>
        <element name="customAttributes" type="smil20lang:customAttributesType" substitutionGroup="smil20lang:customAttributes"/>
        <element name="customTest" type="smil20lang:customTestType" substitutionGroup="smil20lang:customTest"/>

    </schema>

### B.1.4 The SMIL Layout Module

    <!--
    XML Schema for the SMIL 2.0 Layout functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-layout.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Defines both the local and global smil20 layout attributes.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- utility type for CSS style dimension attribute values -->
        <simpleType name="autoOrInheritType">
            <restriction base="string">
                <enumeration value="auto"/>
                <enumeration value="inherit"/>
            </restriction>
        </simpleType>

        <!-- utility type for fit attribute values -->
        <simpleType name="fitAttributeType">
            <restriction base="string">
                <enumeration value="fill"/>
                <enumeration value="hidden"/>
                <enumeration value="meet"/>
                <enumeration value="scroll"/>
                <enumeration value="slice"/>
            </restriction>
        </simpleType>

        <!-- utility type for regPoint values -->
        <simpleType name="regPointAlignValueType">
            <restriction base="string">
                <enumeration value="topLeft"/>
                <enumeration value="topMid"/>
                <enumeration value="topRight"/>
                <enumeration value="midLeft"/>
                <enumeration value="center"/>
                <enumeration value="midRight"/>
                <enumeration value="bottomLeft"/>
                <enumeration value="bottomMid"/>
                <enumeration value="bottomRight"/>
            </restriction>
        </simpleType>

        <!-- utility type for z-index values -->
        <simpleType name="zIndexValueType">
            <union memberTypes="smil20:autoOrInheritType integer"/>
        </simpleType>

        <!-- define the layout element prototype -->
        <complexType name="layoutPrototype">
            <attribute name="type" type="string" use="optional"  default="text/smil-basic-layout"/>
        </complexType>

        <!-- define the region element prototype -->
        <complexType name="regionPrototype">
            <attribute name="backgroundColor" type="string" use="optional" />

            <attribute name="background-color" type="string" use="optional" />

            <attribute name="bottom" type="string" use="optional"  default="auto"/>

            <attribute name="fit" use="optional"  default="hidden" type="smil20:fitAttributeType"/>

            <attribute name="height" type="string" use="optional"  default="auto"/>

            <attribute name="left" type="string" use="optional"  default="auto"/>

            <attribute name="regionName" type="string" use="optional"/>

            <attribute name="right" type="string" use="optional"  default="auto"/>

            <attribute name="showBackground" use="optional"  default="always">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="always"/>
                        <enumeration value="whenActive"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="top" type="string" use="optional"  default="auto"/>

            <attribute name="width" type="string" use="optional"  default="auto"/>

            <attribute name="z-index" type="smil20:zIndexValueType" use="optional"  default="auto"/>

        </complexType>

        <!-- define the root-layout element prototype -->
        <complexType name="root-layoutPrototype">
            <attribute name="backgroundColor" type="string" use="optional" />
            <attribute name="background-color" type="string" use="optional" />
            <attribute name="height" type="string" use="optional"  default="auto"/>
            <attribute name="width" type="string" use="optional"  default="auto"/>
        </complexType> <!-- end root-layoutType -->

        <!-- define the global region attribute -->
        <attribute name="region" type="string"/>

        <!-- define the region attributeGroup -->
        <attributeGroup name="regionAttrs">
            <attribute name="region" type="string" use="optional"/>
        </attributeGroup>

        <!-- define the global soundLevel attribute -->
        <attribute name="soundLevel" type="smil20:positivePercentageType"/>

        <!-- define the soundLevel attributeGroup -->
        <attributeGroup name="soundLevelAttrs">
            <attribute name="soundLevel" type="smil20:positivePercentageType" use="optional"/>
        </attributeGroup>

        <!-- define the topLayout element prototype -->
        <complexType name="topLayoutPrototype">
            <attribute name="backgroundColor" type="string" use="optional" />

            <attribute name="close" use="optional"  default="onRequest">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="onRequest"/>
                        <enumeration value="whenNotActive"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="height" type="string" use="optional"  default="auto"/>

            <attribute name="open" use="optional"  default="onStart">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="onStart"/>
                        <enumeration value="whenActive"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="width" type="string" use="optional"  default="auto"/>
        </complexType>

        <!-- define the media object override global attributes -->
        <attribute name="fit" type="smil20:fitAttributeType"/>
        <attribute name="backgroundColor" type="string"/>
        <attribute name="z-index" type="smil20:zIndexValueType"/>

        <!-- define the media object override attributeGroup -->
        <attributeGroup name="mediaObjectOverrideAttrs">
            <attribute name="fit" type="smil20:fitAttributeType"  use="optional" />
            <attribute name="backgroundColor" type="string" use="optional" />
            <attribute name="z-index" type="smil20:zIndexValueType" use="optional"/>
        </attributeGroup>

        <!-- define the regPoint element prototype -->
        <complexType name="regPointPrototype">
            <attribute name="bottom" type="string" use="optional"  default="auto"/>
            <attribute name="left" type="string" use="optional"  default="auto"/>
            <attribute name="right" type="string" use="optional"  default="auto"/>
            <attribute name="top" type="string" use="optional"  default="auto"/>
            <attribute name="regAlign" use="optional"  default="topLeft" type="smil20:regPointAlignValueType"/>
        </complexType>

        <!-- define the global subregion positioning attributes -->
        <attribute name="bottom" type="string"/>
        <attribute name="left" type="string"/>
        <attribute name="right" type="string"/>
        <attribute name="top" type="string"/>
        <attribute name="width" type="string"/>
        <attribute name="height" type="string"/>

        <!-- define the subregion positioning attributeGroup -->
        <attributeGroup name="subregionPositioningAttrs">
            <attribute name="bottom" type="string" use="optional"  default="auto"/>
            <attribute name="left" type="string" use="optional"  default="auto"/>
            <attribute name="right" type="string" use="optional"  default="auto"/>
            <attribute name="top" type="string" use="optional"  default="auto"/>
            <attribute name="width" type="string" use="optional"  default="auto"/>
            <attribute name="height" type="string" use="optional"  default="auto"/>
        </attributeGroup>

        <!-- define the regPoint attribute type-->
        <simpleType name="regPointValueType">
            <union memberTypes="smil20:regPointAlignValueType string"/>
        </simpleType>

        <!-- define the global regPoint attributes -->
        <attribute name="regPoint" type="smil20:regPointValueType"/>
        <attribute name="regAlign" type="smil20:regPointAlignValueType"/>

        <!-- define the regPoint attributeGroup -->
        <attributeGroup name="regPointAttrs">
            <attribute name="regPoint" type="smil20:regPointValueType" use="optional"/>
            <attribute name="regAlign" type="smil20:regPointAlignValueType" use="optional"  default="topLeft"/>
        </attributeGroup>

        <!-- define the global layout elements -->
        <element name="layout" type="smil20lang:layoutType" substitutionGroup="smil20lang:layout"/>
        <element name="root-layout" type="smil20lang:root-layoutType" substitutionGroup="smil20lang:root-layout"/>
        <element name="region" type="smil20lang:regionType" substitutionGroup="smil20lang:region"/>
        <element name="regPoint" type="smil20lang:regPointType" substitutionGroup="smil20lang:regPoint"/>
        <element name="topLayout" type="smil20lang:topLayoutType" substitutionGroup="smil20lang:topLayout"/>

    </schema>

### B.1.5 The SMIL Linking Module

    <!--
    XML Schema for the SMIL 2.0 Linking functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-linking.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2004/06/03 by Thierry MICHEL
    Revision includes update of Errata E26
    see (http://www.w3.org/2001/07/REC-SMIL20-20010731-errata#E26)

    Defines both the local and global smil20 linking attributes.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- linking attribute types -->
        <simpleType name="sourcePlaystateType">
            <restriction base="string">
                <enumeration value="play"/>
                <enumeration value="pause"/>
                <enumeration value="stop"/>
            </restriction>
        </simpleType>

        <simpleType name="destinationPlaystateType">
            <restriction base="string">
                <enumeration value="play"/>
                <enumeration value="pause"/>
            </restriction>
        </simpleType>

        <simpleType name="showType">
            <restriction base="string">
                <enumeration value="new"/>
                <enumeration value="pause"/>
                <enumeration value="replace"/>
            </restriction>
        </simpleType>

        <simpleType name="actuateType">
            <restriction base="string">
                <enumeration value="onRequest"/>
                <enumeration value="onLoad"/>
            </restriction>
        </simpleType>

        <!-- global linking attributes -->
        <attribute name="sourceLevel" type="smil20:positivePercentageType"/>
        <attribute name="destinationLevel" type="smil20:positivePercentageType"/>
        <attribute name="sourcePlaystate" type="smil20:sourcePlaystateType"/>
        <attribute name="destinationPlaystate" type="smil20:destinationPlaystateType"/>
        <attribute name="show" type="smil20:showType"/>
        <attribute name="external" type="boolean"/>
        <attribute name="actuate" type="smil20:actuateType"/>
        <attribute name="accesskey" type="string"/>
        <attribute name="target" type="string"/>

        <!-- linking attributes from the LinkingAttributes module -->
        <attributeGroup name="linkingAttrs">
            <attribute name="sourceLevel" type="smil20:positivePercentageType" use="optional"/>
            <attribute name="destinationLevel" type="smil20:positivePercentageType" use="optional"/>
            <attribute name="sourcePlaystate" type="smil20:sourcePlaystateType" use="optional"/>
            <attribute name="destinationPlaystate" type="smil20:destinationPlaystateType" use="optional"/>
            <attribute name="show" type="smil20:showType" use="optional"  default="replace"/>
            <attribute name="external" type="boolean" use="optional"  default="false"/>
            <attribute name="actuate" type="smil20:actuateType" use="optional"  default="onRequest"/>
            <attribute name="accesskey" type="string" use="optional"/>
            <attribute name="target" type="string" use="optional"/>
            <attributeGroup ref="smil20:tabindexAttrs"/>
        </attributeGroup>

        <!-- global tabindex attribute -->
        <attribute name="tabindex" type="integer"/>

        <!-- tabindex attribute group -->
        <attributeGroup name="tabindexAttrs">
            <attribute name="tabindex" type="integer" use="optional"/>
        </attributeGroup>

        <!-- fragment attribute group -->
        <attributeGroup name="fragmentAttrs">
            <attribute name="fragment" type="string" use="optional"/>
        </attributeGroup>

        <!-- define the a element prototype -->
        <complexType name="aPrototype">
            <attributeGroup ref="smil20:linkingAttrs"/>
            <attribute name="href" type="anyURI" use="required"/>
        </complexType>

        <!-- define the area element prototype -->
        <complexType name="areaPrototype">
            <attributeGroup ref="smil20:linkingAttrs"/>
            <attribute name="href" type="anyURI" use="optional"/>

            <attribute name="nohref" use="optional">
              <simpleType>
                <restriction base="string">
                 <enumeration value="nohref"/>
                </restriction>
              </simpleType>
            </attribute>

            <attribute name="shape" type="string" use="optional"/>
            <attribute name="coords" type="string" use="optional"/>
        </complexType>

        <!-- global linking elements -->
        <element name="a" type="smil20lang:aType" substitutionGroup="smil20lang:a"/>
        <element name="area" type="smil20lang:areaType" substitutionGroup="smil20lang:area"/>
        <element name="anchor" type="smil20lang:anchorType" substitutionGroup="smil20lang:anchor"/>

    </schema>

### B.1.6 The SMIL Media Object Module

    <!--
    XML Schema for the SMIL 2.0 Media functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-media.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Defines both the local and global smil20 media attributes.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- define the alternative content attributes -->
        <attribute name="alt" type="string"/>
        <attribute name="longdesc" type="anyURI"/>

        <!-- define the alternative content attribute group-->
        <attributeGroup name="alternateContentAttrs">
            <attribute name="alt" type="string" use="optional"/>
            <attribute name="longdesc" type="anyURI" use="optional"/>
        </attributeGroup>

        <!-- define the media annotation attributes -->
        <attribute name="abstract" type="string"/>
        <attribute name="author" type="string"/>
        <attribute name="copyright" type="string"/>
        <attribute name="title" type="string"/>

        <!-- define the media annotation attribute group -->
        <attributeGroup name="mediaAnnotateAttrs">
            <attribute name="abstract" type="string" use="optional"/>
            <attribute name="author" type="string" use="optional"/>
            <attribute name="copyright" type="string" use="optional"/>
            <attribute name="title" type="string" use="optional"/>
        </attributeGroup>

        <!-- define the media access attributes -->
        <attribute name="readIndex" type="integer"/>

        <!-- define the media access attribute group -->
        <attributeGroup name="mediaAccessAttrs">
            <attribute name="readIndex" type="integer" use="optional"/>
        </attributeGroup>

        <!-- define the media src attributes-->
        <attribute name="type" type="string"/>
        <attribute name="src" type="anyURI"/>

        <!-- define the media src attribute group -->
        <attributeGroup name="mediaSrcAttrs">
            <attribute name="type" type="string" use="optional"/>
            <attribute name="src" type="anyURI" use="optional"/>
        </attributeGroup>

        <!-- define the erase media attribute value type -->
        <simpleType name="eraseMediaType">
            <restriction base="string">
                <enumeration value="whenDone"/>
                <enumeration value="never"/>
            </restriction>
        </simpleType>

        <!-- define the erase media attribute -->
        <attribute name="erase" type="smil20:eraseMediaType"/>

        <!-- define the eraseMediaAttrs attribute group -->
        <attributeGroup name="eraseMediaAttrs">
            <attribute name="erase" type="smil20:eraseMediaType" use="optional"  default="whenDone"/>
        </attributeGroup>

        <!-- define the media repeat attribute value type -->
        <simpleType name="mediaRepeatType">
            <restriction base="string">
                <enumeration value="preserve"/>
                <enumeration value="strip"/>
            </restriction>
        </simpleType>

        <!-- define the media repeat attribute -->
        <attribute name="mediaRepeat" type="smil20:mediaRepeatType"/>

        <!-- define the media repeat attribute group -->
        <attributeGroup name="mediaRepeatAttrs">
            <attribute name="mediaRepeat" type="smil20:mediaRepeatType" use="optional"  default="preserve"/>
        </attributeGroup>

        <!-- define the media sensitivity attribute value type -->
        <simpleType name="opaqueOrTransparentType">
            <restriction base="string">
                <enumeration value="opaque"/>
                <enumeration value="transparent"/>
            </restriction>
        </simpleType>
        <simpleType name="sensitivityType">
            <union memberTypes="smil20:opaqueOrTransparentType smil20:positivePercentageType"/>
        </simpleType>

        <!-- define the media sensitivity attribute -->
        <attribute name="sensitivity" type="smil20:sensitivityType"/>

        <!-- define the media sensitivity attribute group -->
        <attributeGroup name="sensitivityMediaAttrs">
            <attribute name="sensitivity" type="smil20:sensitivityType" use="optional"  default="opaque"/>
        </attributeGroup>

        <!-- define the media clipping attributes-->
        <attribute name="clipBegin" type="string"/>
        <attribute name="clipEnd" type="string"/>

        <!-- define the media clipping attribute group -->
        <attributeGroup name="mediaClippingAttrs">
            <attribute name="clipBegin" type="string" use="optional"/>
            <attribute name="clipEnd" type="string" use="optional"/>
        </attributeGroup>

        <!-- define the deprecated media clipping attributes-->
        <attribute name="clip-begin" type="string"/>
        <attribute name="clip-end" type="string"/>

        <!-- define the deprecated media clipping attribute group -->
        <attributeGroup name="deprecatedMediaClippingAttrs">
            <attribute name="clip-begin" type="string" use="optional"/>
            <attribute name="clip-end" type="string" use="optional"/>
        </attributeGroup>

        <!--
            define the media object element prototype
            ref, animation, audio, img, text, textstream, video
            are all identical and use this prototype
        -->
        <complexType name="mediaPrototype">
            <attributeGroup ref="smil20:mediaSrcAttrs" />
        </complexType>

        <!-- define the param element prototype -->
        <complexType name="paramPrototype">
            <attribute name="name" type="string" use="optional"/>
            <attribute name="value" type="string" use="optional"/>
            <attribute name="valueType" use="optional"  default="data">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="data"/>
                        <enumeration value="ref"/>
                        <enumeration value="object"/>
                    </restriction>
                </simpleType>
            </attribute>
            <attribute name="type" type="string" use="optional"/>
        </complexType>

        <!-- define the brush element prototype -->
        <complexType name="brushPrototype">
            <attribute name="color" type="string" use="optional"/>
        </complexType>

        <!-- define the global media elements -->
        <element name="text" type="smil20lang:mediaType" substitutionGroup="smil20lang:text"/>
        <element name="img" type="smil20lang:mediaType" substitutionGroup="smil20lang:img"/>
        <element name="audio" type="smil20lang:mediaType" substitutionGroup="smil20lang:audio"/>
        <element name="animation" type="smil20lang:mediaType" substitutionGroup="smil20lang:animation"/>
        <element name="video" type="smil20lang:mediaType" substitutionGroup="smil20lang:video"/>
        <element name="textstream" type="smil20lang:mediaType" substitutionGroup="smil20lang:textstream"/>
        <element name="ref" type="smil20lang:mediaType" substitutionGroup="smil20lang:ref"/>
        <element name="brush" type="smil20lang:brushType" substitutionGroup="smil20lang:brush"/>
        <element name="param" type="smil20lang:paramType" substitutionGroup="smil20lang:param"/>

    </schema>

### B.1.7 The SMIL Meta Module

    <!--
    XML Schema for the SMIL 2.0 Metainformation functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-meta.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- the RDF namespace needs to be verified -->

        <!-- import rdf:RDF -->
        <!-- fix schemaLocation later -->
        <import namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#" schemaLocation="rdf.xsd"/>

        <!-- define the meta element prototype -->
        <complexType name="metaPrototype">
            <attribute name="content" type="string" use="required"/>
            <attribute name="name" type="string" use="required"/>
        </complexType>

        <!-- define the metadata element prototype -->
        <complexType name="metadataPrototype">
          <choice minOccurs="0" maxOccurs="unbounded">
             <any namespace="##other" processContents="lax"/>
          </choice>
        </complexType>

        <!-- define the global metainformation elements -->
        <element name="metadata" type="smil20lang:metadataType" substitutionGroup="smil20lang:metadata"/>
        <element name="meta" type="smil20lang:metaType" substitutionGroup="smil20lang:meta"/>

    </schema>

### B.1.8 The SMIL Structure Module

    <!--
    XML Schema for the SMIL 2.0 Structure functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-struct.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:x="http://www.w3.org/XML/1998/namespace"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- import xml:lang -->
        <!-- fix schemaLocation later -->
        <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml-mod.xsd"/>

        <!-- define the structure module attribute group -->
        <attributeGroup name="structureModuleAttrs">
            <attribute name="id" type="ID" use="optional"/>
            <attribute name="class" type="string" use="optional"/>
            <attribute ref="x:lang" use="optional" />
        </attributeGroup>

        <!-- define the smil element prototype -->
        <complexType name="smilPrototype">
        </complexType>

        <!-- define the head element prototype -->
        <complexType name="headPrototype">
        </complexType>

        <!-- define the body element prototype -->
        <complexType name="bodyPrototype">
        </complexType>

        <!-- declare global elements -->
        <element name="smil" type="smil20lang:smilType" substitutionGroup="smil20lang:smil"/>
        <element name="head" type="smil20lang:headType" substitutionGroup="smil20lang:head"/>
        <element name="body" type="smil20lang:bodyType" substitutionGroup="smil20lang:body"/>

    </schema>

### B.1.9 The SMIL Time manipulation

    <!--
    XML Schema for the SMIL 2.0 Time Manipulations functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-timemanip.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Defines both the local and global smil20 time manipulation attributes.

    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- global  attributes for time manipulation -->
        <attribute name="accelerate" type="smil20:zeroToOneDecimalType"/>
        <attribute name="decelerate" type="smil20:zeroToOneDecimalType"/>
        <attribute name="autoReverse" type="boolean"/>
        <attribute name="speed" type="smil20:nonZeroDecimalType"/>

        <!-- attribute group for time manipulation attributes -->
        <attributeGroup name="timeManipAttrs">
            <attribute name="accelerate" type="smil20:zeroToOneDecimalType" use="optional"  default="0.0"/>
            <attribute name="decelerate" type="smil20:zeroToOneDecimalType" use="optional"  default="0.0"/>
            <attribute name="autoReverse" type="boolean" use="optional"  default="false"/>
            <attribute name="speed" type="smil20:nonZeroDecimalType" use="optional"  default="1.0"/>
        </attributeGroup>

    </schema>

### B.1.10 The SMIL Timing Module

    <!--
    XML Schema for the SMIL 2.0 Timing and Synchronization functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-timing.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Defines both the local and global smil20 timing attributes.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- define the begin/end timing attributes -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>

        <!-- define the begin/end timing attribute group -->
        <!-- other attribute groups require inclusion of this group -->
        <attributeGroup name="beginEndTimingAttrs">
            <attribute name="begin" type="string"/>
            <attribute name="end" type="string"/>
        </attributeGroup>

        <!-- define the dur timing attribute -->
        <attribute name="dur" type="string"/>

        <!-- define the durTimingAttrs attribute group -->
        <attributeGroup name="durTimingAttrs">
            <attribute name="dur" type="string"/>
        </attributeGroup>

        <!-- define the repeat timing attributes -->
        <attribute name="repeatDur" type="string"/>
        <attribute name="repeatCount" type="smil20:nonNegativeDecimalType"/>

        <!-- define the repeatTiming attribute group -->
        <!-- requires inclusion of the basicInlineTimingAttrs group -->
        <attributeGroup name="repeatTimingAttrs">
            <attribute name="repeatDur" type="string"/>
            <attribute name="repeatCount" type="smil20:nonNegativeDecimalType"/>
        </attributeGroup>

        <!-- define the repeat attribute -->
        <attribute name="repeat" type="nonNegativeInteger"/>

        <!-- define the deprecatedRepeatTiming attribute group -->
        <!-- requires inclusion of the basicInlineTimingAttrs group -->
        <attributeGroup name="deprecatedRepeatTiming">
            <attribute name="repeat" type="nonNegativeInteger"/>
        </attributeGroup>

        <!-- define the min, max attributes -->
        <attribute name="min" type="string"/>
        <attribute name="max" type="string"/>

        <!-- define the minMaxTimingAttrs attribute group -->
        <attributeGroup name="minMaxTimingAttrs">
            <attribute name="min" type="string"/>
            <attribute name="max" type="string"/>
        </attributeGroup>

        <!-- define the fillTimingAttrs attribute type -->
        <simpleType name="fillTimingAttrsType">
            <restriction base="string">
                <enumeration value="remove"/>
                <enumeration value="freeze"/>
                <enumeration value="hold"/>
                <enumeration value="auto"/>
                <enumeration value="default"/>

                <!--
                    this value is only legal when transitions are included
                    in the profile. may need a means to separate out this
                    attribute value, but not clear whether or how XML Schemas
                    provides this.
                -->
                <enumeration value="transition"/>
            </restriction>
        </simpleType>

        <!-- define the fill attribute -->
        <attribute name="fill" type="smil20:fillTimingAttrsType"/>

        <!-- define the fillTimingAttrs attribute group -->
        <attributeGroup name="fillTimingAttrs">
            <attribute name="fill" type="smil20:fillTimingAttrsType" use="optional"  default="default"/>
        </attributeGroup>

        <!-- utility type for endsync attribute arg values -->
        <simpleType name="endsyncArgType">
            <restriction base="string">
                <enumeration value="first"/>
                <enumeration value="last"/>
                <enumeration value="all"/>
                <enumeration value="media"/>
            </restriction>
        </simpleType>

        <!-- define the endsyncTimingAttrsType -->
        <simpleType name="endsyncTimingAttrsType">
            <union memberTypes="smil20:endsyncArgType IDREF"/>
        </simpleType>

        <!-- define the endsync attribute-->
        <attribute name="endsync" type="smil20:endsyncTimingAttrsType"/>

        <!-- define the endsyncTimingAttrs attribute group -->
        <attributeGroup name="endsyncTimingAttrs">
            <attribute name="endsync" type="smil20:endsyncTimingAttrsType" use="optional"/>
        </attributeGroup>

        <!-- define the timeContainersAttrs attribute value types -->
        <simpleType name="timeContainerArgType">
            <restriction base="string">
                <enumeration value="par"/>
                <enumeration value="seq"/>
                <enumeration value="excl"/>
                <enumeration value="none"/>
            </restriction>
        </simpleType>

        <simpleType name="timeActionArgType">
            <restriction base="string">
                <enumeration value="intrinsic"/>
                <enumeration value="display"/>
                <enumeration value="visibility"/>
                <enumeration value="style"/>
                <enumeration value="none"/>
            </restriction>
        </simpleType>

        <simpleType name="timeActionClassArgType">
            <restriction base="string">
                <pattern value="class:.*"/>
            </restriction>
        </simpleType>

        <simpleType name="timeActionType">
            <union memberTypes="smil20:timeActionArgType smil20:timeActionClassArgType"/>
        </simpleType>

        <!-- define the timeContainer attribute -->
        <attribute name="timeContainer" type="smil20:timeContainerArgType"/>

        <!-- define the timeAction attribute -->
        <attribute name="timeAction" type="smil20:timeActionType"/>

        <!-- define the timeContainersAttrs attribute group -->
        <attributeGroup name="timeContainersAttrs">
            <attribute name="timeContainer" type="smil20:timeContainerArgType" use="optional"  default="none"/>
            <attribute name="timeAction" type="smil20:timeActionType" use="optional"  default="intrinsic"/>
        </attributeGroup>

        <!-- define the restartTimingAttrs attribute value types -->
        <simpleType name="restartTimingType">
            <restriction base="string">
                <enumeration value="never"/>
                <enumeration value="always"/>
                <enumeration value="whenNotActive"/>
                <enumeration value="default"/>
            </restriction>
        </simpleType>

        <!-- define the restart attribute -->
        <attribute name="restart" type="smil20:restartTimingType"/>

        <!-- define the restartTimingAttrs attribute group -->
        <attributeGroup name="restartTimingAttrs">
            <attribute name="restart" type="smil20:restartTimingType" use="optional"  default="default"/>
        </attributeGroup>

        <!-- define the syncBehaviorAttrs attribute value types -->
        <simpleType name="syncBehaviorType">
            <restriction base="string">
                <enumeration value="canSlip"/>
                <enumeration value="locked"/>
                <enumeration value="independent"/>
                <enumeration value="default"/>
            </restriction>
        </simpleType>

        <!-- define the syncBehavior attributes -->
        <attribute name="syncBehavior" type="smil20:syncBehaviorType"/>
        <attribute name="syncTolerance" type="string"/>

        <!-- define the syncBehaviorAttrs attribute group -->
        <attributeGroup name="syncBehaviorAttrs">
            <attribute name="syncBehavior" type="smil20:syncBehaviorType" use="optional"  default="default"/>
            <attribute name="syncTolerance" type="string" use="optional"/>
        </attributeGroup>

        <!-- define the syncBehaviorDefault attribute type -->
        <simpleType name="syncBehaviorDefaultType">
            <restriction base="string">
                <enumeration value="canSlip"/>
                <enumeration value="locked"/>
                <enumeration value="independent"/>
                <enumeration value="inherit"/>
            </restriction>
        </simpleType>

        <!-- define the syncBehaviorDefault attributes -->
        <attribute name="syncBehaviorDefault" type="smil20:syncBehaviorDefaultType"/>
        <attribute name="syncToleranceDefault" type="string"/>

        <!-- define the syncBehaviorDefaultAttrs attribute group -->
        <attributeGroup name="syncBehaviorDefaultAttrs">
            <attribute name="syncBehaviorDefault" type="smil20:syncBehaviorDefaultType" use="optional"  default="inherit"/>
            <attribute name="syncToleranceDefault" type="string" use="optional"  default="inherit"/>
        </attributeGroup>

        <!-- define the syncMaster attribute -->
        <attribute name="syncMaster" type="boolean"/>

        <!-- define the syncMasterAttrs attribute group -->
        <attributeGroup name="syncMasterAttrs">
            <attribute name="syncMaster" type="boolean" use="optional"  default="false"/>
        </attributeGroup>

        <!-- define the restartDefaultType attribute value type -->
        <simpleType name="restartDefaultType">
            <restriction base="string">
                <enumeration value="never"/>
                <enumeration value="always"/>
                <enumeration value="whenNotActive"/>
                <enumeration value="inherit"/>
            </restriction>
        </simpleType>

        <!-- define the restartDefault attribute -->
        <attribute name="restartDefault" type="smil20:restartDefaultType"/>

        <!-- define the restartDefaultAttrs attribute group -->
        <attributeGroup name="restartDefaultAttrs">
            <attribute name="restartDefault" type="smil20:restartDefaultType" use="optional"  default="inherit"/>
        </attributeGroup>

        <!-- define the fillDefaultType attribute value type -->
        <simpleType name="fillDefaultType">
            <restriction base="string">
                <enumeration value="remove"/>
                <enumeration value="freeze"/>
                <enumeration value="hold"/>
                <enumeration value="auto"/>
                <enumeration value="inherit"/>

                <!--
                    this value is only legal when transitions are included
                    in the profile. may need a means to separate out this
                    attribute value, but not clear whether or how XML Schemas
                    provides this.
                -->
                <enumeration value="transition"/>
            </restriction>
        </simpleType>

        <!-- define the fillDefault attribute -->
        <attribute name="fillDefault" type="smil20:fillDefaultType"/>

        <!-- define the fillDefaultAttrs attribute group -->
        <attributeGroup name="fillDefaultAttrs">
            <attribute name="fillDefault" type="smil20:fillDefaultType" use="optional"  default="inherit"/>
        </attributeGroup>

        <!-- define the par element prototype -->
        <complexType name="parPrototype">
            <attributeGroup ref="smil20:beginEndTimingAttrs"/>
            <attributeGroup ref="smil20:durTimingAttrs"/>
            <attributeGroup ref="smil20:fillTimingAttrs"/>
            <attributeGroup ref="smil20:endsyncTimingAttrs"/>
        </complexType>

        <!-- define the seq element prototype -->
        <complexType name="seqPrototype">
            <attributeGroup ref="smil20:beginEndTimingAttrs"/>
            <attributeGroup ref="smil20:durTimingAttrs"/>
            <attributeGroup ref="smil20:fillTimingAttrs"/>
        </complexType>

        <!-- define the priorityClass element prototype -->
        <complexType name="priorityClassPrototype">
            <attribute name="peers" use="optional"  default="stop">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="stop"/>
                        <enumeration value="pause"/>
                        <enumeration value="defer"/>
                        <enumeration value="never"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="higher" use="optional"  default="pause">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="stop"/>
                        <enumeration value="pause"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="lower" use="optional"  default="defer">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="defer"/>
                        <enumeration value="never"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="pauseDisplay" use="optional"  default="show">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="disable"/>
                        <enumeration value="hide"/>
                        <enumeration value="show"/>
                    </restriction>
                </simpleType>
            </attribute>

        </complexType>

        <!-- define the excl element prototype -->
        <complexType name="exclPrototype">
            <attributeGroup ref="smil20:beginEndTimingAttrs"/>
            <attributeGroup ref="smil20:durTimingAttrs"/>
            <attributeGroup ref="smil20:fillTimingAttrs"/>
            <attributeGroup ref="smil20:endsyncTimingAttrs"/>
        </complexType>

        <!-- global timing elements -->
        <element name="par" type="smil20lang:parType" substitutionGroup="smil20lang:par"/>
        <element name="seq" type="smil20lang:seqType" substitutionGroup="smil20lang:seq"/>
        <element name="excl" type="smil20lang:exclType" substitutionGroup="smil20lang:excl"/>
        <element name="priorityClass" type="smil20lang:priorityClassType" substitutionGroup="smil20lang:priorityClass"/>

    </schema>

### B.1.11 The SMIL Transition Module

    <!--
    XML Schema for the SMIL 2.0 Transitions functionality.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-transitions.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- define global transIn transOut attributes -->
        <attribute name="transIn" type="string"/>
        <attribute name="transOut" type="string"/>

        <!-- define transInOut attributegroup -->
        <attributeGroup name="transInOutAttrs">
            <attribute name="transIn" type="string"/>
            <attribute name="transOut" type="string"/>
        </attributeGroup>

        <!-- define the transitionModifiers attribute group -->
        <attributeGroup name="transitionModifiersAttrs">
            <attribute name="horzRepeat" type="decimal" use="optional"  default="1.0"/>
            <attribute name="vertRepeat" type="decimal" use="optional"  default="1.0"/>
            <attribute name="borderWidth" type="nonNegativeInteger" use="optional"  default="0"/>
            <attribute name="borderColor" type="string" use="optional"  default="black"/>
        </attributeGroup>

        <!-- define transition element prototype -->
        <complexType name="transitionPrototype">
            <attribute name="type" type="string" use="required"/>
            <attribute name="subtype" type="string" use="optional"/>

            <attribute name="mode" use="optional"  default="in">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="in"/>
                        <enumeration value="out"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="dur" type="string" use="optional"/>
            <attribute name="startProgress" type="smil20:zeroToOneDecimalType" use="optional"  default="0.0"/>
            <attribute name="endProgress" type="smil20:zeroToOneDecimalType" use="optional"  default="1.0"/>

            <attribute name="direction" use="optional"  default="forward">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="forward"/>
                        <enumeration value="reverse"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="fadeColor" type="string" use="optional"  default="black"/>
        </complexType>

        <!-- define transitionFilter element prototype -->
        <complexType name="transitionFilterPrototype">
            <attribute name="targetElement" type="IDREF" use="optional"/>
            <attribute name="href" type="anyURI" use="optional"/>

            <attribute name="type" type="string" use="required"/>
            <attribute name="subtype" type="string" use="optional"/>
            <attribute name="dur" type="string" use="optional"/>
            <attribute name="startProgress" type="smil20:zeroToOneDecimalType" use="optional"  default="0.0"/>
            <attribute name="endProgress" type="smil20:zeroToOneDecimalType" use="optional"  default="1.0"/>

            <attribute name="direction">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="forward"/>
                        <enumeration value="reverse"/>
                    </restriction>
                </simpleType>
            </attribute>

            <attribute name="fadeColor" type="string" use="optional"  default="black"/>

            <attribute name="from" type="smil20:zeroToOneDecimalType" use="optional"  default="0.0"/>
            <attribute name="to" type="smil20:zeroToOneDecimalType" use="optional"  default="1.0"/>
            <attribute name="by" type="smil20:zeroToOneDecimalType" use="optional"/>
            <attribute name="values" type="string" use="optional"/>

            <attribute name="calcMode" use="optional"  default="linear">
                <simpleType>
                    <restriction base="string">
                        <enumeration value="discrete"/>
                        <enumeration value="linear"/>
                        <enumeration value="paced"/>
                    </restriction>
                </simpleType>
            </attribute>
        </complexType>

        <!-- define the global transitionFilter element -->
        <!-- it is part of the smil20 namespace but not part of the smil20 language -->
        <element name="transitionFilter" type="smil20:transitionFilterType"/>
        <complexType name="transitionFilterType">
            <complexContent>
                <extension base="smil20:transitionFilterPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <attributeGroup ref="smil20:transitionModifiersAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- define the global transition element -->
        <!-- it is extended in the smil20 namespace from the smil20 language -->
        <element name="transition" type="smil20:transitionType"/>
        <complexType name="transitionType">
            <complexContent>
                <extension base="smil20:transitionPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <attributeGroup ref="smil20:transitionModifiersAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

    </schema>

## B.2 XML Schema for the SMIL 2.0 Language:

### B.2.1 SMIL 2.0 Language Profile

    <!--
    XML Schema for the SMIL 2.0 Language

    This is SMIL 2.0
    Copyright: 1998-2004 W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-language.xsd
    Author: Aaron Michael Cohen (Intel)

    Revision: 2004/06/03 by Thierry MICHEL
    Revision includes update of Errata E35
    see (http://www.w3.org/2001/07/REC-SMIL20-20010731-errata#E35)

    Note: <any> wildcard element content is missing from most of the SMIL 2.0 elements because of a conflict
    between substitutionGroups and wildcard content.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
             xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            targetNamespace="http://www.w3.org/2001/SMIL20/Language"
            elementFormDefault="qualified">

        <!-- import the smil20 namespaces -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- =================================================================== -->
        <!-- CoreAttrs attribute group used on all SMIL2.0 profile elements      -->
        <!-- =================================================================== -->
        <attributeGroup name="CoreAttrs">
            <attributeGroup ref="smil20:structureModuleAttrs"/>
            <attributeGroup ref="smil20:alternateContentAttrs"/>
            <!--
                should have xml:base here, but no schema to refer to.
                not a problem since it will validate anyway because of
                the anyAttribute declarations.
            -->
        </attributeGroup>

        <!-- =================================================================== -->
        <!-- Structure Functionality                                             -->
        <!-- =================================================================== -->

        <!-- =================================================================== -->
        <!-- define the top down structure of a SMIL 2.0 language document.      -->
        <!-- =================================================================== -->

        <!-- top level smil element and content model -->
        <element name="smil" type="smil20lang:smilType"/>
        <complexType name="smilType">
            <complexContent>
                <extension base="smil20:smilPrototype">
                    <sequence>
                        <element ref="smil20lang:head" minOccurs="0" maxOccurs="1"/>
                        <element ref="smil20lang:body" minOccurs="1" maxOccurs="1"/>
                    </sequence>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- head element and content model -->
        <element name="head" type="smil20lang:headType"/>
        <complexType name="headType">
            <complexContent>
                <extension base="smil20:headPrototype">
                    <sequence>
                        <group ref="smil20lang:metaGroup" minOccurs="0" maxOccurs="unbounded"/>

                        <sequence minOccurs="0" maxOccurs="1">
                            <group ref="smil20lang:customAttributesGroup" minOccurs="1" maxOccurs="1"/>
                            <group ref="smil20lang:metaGroup" minOccurs="0" maxOccurs="unbounded"/>
                        </sequence>

                        <sequence minOccurs="0" maxOccurs="1">
                            <group ref="smil20lang:metadataGroup" minOccurs="1" maxOccurs="1"/>
                            <group ref="smil20lang:metaGroup" minOccurs="0" maxOccurs="unbounded"/>
                        </sequence>

                        <sequence minOccurs="0" maxOccurs="1">
                            <choice minOccurs="1" maxOccurs="1">
                                <group ref="smil20lang:layoutGroup"/>
                                <group ref="smil20lang:switchGroup"/>
                            </choice>
                            <group ref="smil20lang:metaGroup" minOccurs="0" maxOccurs="unbounded"/>
                        </sequence>

                        <sequence minOccurs="0" maxOccurs="1">
                            <group ref="smil20lang:transitionGroup" minOccurs="1" maxOccurs="unbounded"/>
                            <group ref="smil20lang:metaGroup" minOccurs="0" maxOccurs="unbounded"/>
                        </sequence>

                    </sequence>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- body element and content model -->
        <element name="body" type="smil20lang:bodyType"/>
        <complexType name="bodyType">
            <complexContent>
                <extension base="smil20:bodyPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:scheduleGroup"/>
                        <group ref="smil20lang:mediaContentGroup"/>
                        <group ref="smil20lang:contentControlGroup"/>
                        <group ref="smil20lang:aElementGroup"/>
                        <group ref="smil20lang:animationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:TimingAttrs"/>
                    <attributeGroup ref="smil20:mediaAnnotateAttrs"/>
                    <attributeGroup ref="smil20:endsyncTimingAttrs"/>
                    <attributeGroup ref="smil20:regionAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- =================================================================== -->
        <!-- Metainformation Functionality                                       -->
        <!-- =================================================================== -->
        <!-- metadata element and content model -->
        <element name="metadata" type="smil20lang:metadataType"/>
        <complexType name="metadataType">
            <complexContent>
                <extension base="smil20:metadataPrototype">
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- meta element and content model -->
        <element name="meta" type="smil20lang:metaType"/>
        <complexType name="metaType">
            <complexContent>
                <extension base="smil20:metaPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##other" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- metainformation groups -->
        <group name="metaGroup">
            <choice>
                <element ref="smil20lang:meta"/>
            </choice>
        </group>

        <group name="metadataGroup">
            <choice>
                <element ref="smil20lang:metadata"/>
            </choice>
        </group>

        <!-- =================================================================== -->
        <!-- Layout Functionality                                                -->
        <!-- =================================================================== -->

        <!-- layout element and content model -->
        <!--
            In smil 2.0 as in smil 1.0, the layout element can have almost any content,
            based on the value of the 'type' attribute, but we cannot syntax check that,
            so here we only specify the content model for type="text/smil-basic-layout"
        -->
        <element name="layout" type="smil20lang:layoutType"/>
        <complexType name="layoutType">
            <complexContent>
                <extension base="smil20:layoutPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:regionGroup"/>
                        <group ref="smil20lang:topLayoutGroup"/>
                        <group ref="smil20lang:root-layoutGroup"/>
                        <group ref="smil20lang:regPointGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- root-layout element and content model -->
        <element name="root-layout" type="smil20lang:root-layoutType"/>
        <complexType name="root-layoutType">
            <complexContent>
                <extension base="smil20:root-layoutPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- region element and content model -->
        <element name="region" type="smil20lang:regionType"/>
        <complexType name="regionType">
            <complexContent>
                <extension base="smil20:regionPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <element name="region" type="smil20lang:regionType"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- topLayout element and content model -->
        <element name="topLayout" type="smil20lang:topLayoutType"/>
        <complexType name="topLayoutType">
            <complexContent>
                <extension base="smil20:topLayoutPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <element name="region" type="smil20lang:regionType"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- regPoint element and content model -->
        <element name="regPoint" type="smil20lang:regPointType"/>
        <complexType name="regPointType">
            <complexContent>
                <extension base="smil20:regPointPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- layout groups -->
        <group name="root-layoutGroup">
            <sequence>
                <element ref="smil20lang:root-layout"/>
            </sequence>
        </group>

        <group name="regionGroup">
            <sequence>
                <element ref="smil20lang:region"/>
            </sequence>
        </group>

        <group name="topLayoutGroup">
            <sequence>
                <element ref="smil20lang:topLayout"/>
            </sequence>
        </group>

        <group name="layoutGroup">
            <sequence>
                <element ref="smil20lang:layout"/>
            </sequence>
        </group>

        <group name="regPointGroup">
            <sequence>
                <element ref="smil20lang:regPoint"/>
            </sequence>
        </group>

        <!-- =================================================================== -->
        <!-- Transition Functionality                                            -->
        <!-- =================================================================== -->
        <element name="transition" type="smil20lang:transitionType"/>
        <complexType name="transitionType">
            <complexContent>
                <extension base="smil20:transitionPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- transition groups -->
        <group name="transitionGroup">
            <choice>
                <element ref="smil20lang:transition"/>
            </choice>
        </group>

        <!-- =================================================================== -->
        <!-- Content Control Functionality                                       -->
        <!-- =================================================================== -->

        <!-- customAttributes element and content model -->
        <element name="customAttributes" type="smil20lang:customAttributesType"/>
        <complexType name="customAttributesType">
            <complexContent>
                <extension base="smil20:customAttributesPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <element name="customTest" type="smil20lang:customTestType"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- customTest element and content model -->
        <element name="customTest" type="smil20lang:customTestType"/>
        <complexType name="customTestType">
            <complexContent>
                <extension base="smil20:customTestPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- switch element and content model -->
        <element name="switch" type="smil20lang:switchType"/>
        <complexType name="switchType">
            <complexContent>
                <extension base="smil20:switchPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:layoutGroup"/>
                        <group ref="smil20lang:scheduleGroup"/>
                        <group ref="smil20lang:mediaContentGroup"/>
                        <group ref="smil20lang:contentControlGroup"/>
                        <group ref="smil20lang:aElementGroup"/>
                        <group ref="smil20lang:animationGroup"/>
                        <group ref="smil20lang:areaGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- prefetch element and content model -->
        <element name="prefetch" type="smil20lang:prefetchType"/>
        <complexType name="prefetchType">
            <complexContent>
                <extension base="smil20:prefetchPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <attributeGroup ref="smil20:mediaClippingAttrs"/>
                    <attributeGroup ref="smil20:deprecatedMediaClippingAttrs"/>
                    <attributeGroup ref="smil20lang:TimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- content control groups -->
        <group name="customAttributesGroup">
            <choice>
                <element ref="smil20lang:customAttributes"/>
            </choice>
        </group>

        <group name="prefetchGroup">
            <choice>
                <element ref="smil20lang:prefetch"/>
            </choice>
        </group>

        <group name="switchGroup">
            <choice>
                <element ref="smil20lang:switch"/>
            </choice>
        </group>

        <group name="contentControlGroup">
            <choice minOccurs="0" maxOccurs="unbounded">
                <group ref="smil20lang:switchGroup"/>
                <group ref="smil20lang:prefetchGroup"/>
            </choice>
        </group>

        <!-- =================================================================== -->
        <!-- Animation Functionality                                             -->
        <!-- =================================================================== -->

        <!-- animate element and content model -->
        <element name="animate" type="smil20lang:animateType"/>
        <complexType name="animateType">
            <complexContent>
                <extension base="smil20:animatePrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:TimingAttrs"/>
                    <attributeGroup ref="smil20:animTargetAttrs"/>
                    <attributeGroup ref="smil20:animModeAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- set element and content model -->
        <element name="set" type="smil20lang:setType"/>
        <complexType name="setType">
            <complexContent>
                <extension base="smil20:setPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:TimingAttrs"/>
                    <attributeGroup ref="smil20:animTargetAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- animateMotion element and content model -->
        <element name="animateMotion" type="smil20lang:animateMotionType"/>
        <complexType name="animateMotionType">
            <complexContent>
                <extension base="smil20:animateMotionPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:TimingAttrs"/>
                    <attributeGroup ref="smil20:animTargetAttrs"/>
                    <attributeGroup ref="smil20:animModeAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- animateColor element and content model -->
        <element name="animateColor" type="smil20lang:animateColorType"/>
        <complexType name="animateColorType">
            <complexContent>
                <extension base="smil20:animateColorPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:TimingAttrs"/>
                    <attributeGroup ref="smil20:animTargetAttrs"/>
                    <attributeGroup ref="smil20:animModeAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- animation groups -->
        <group name="animationGroup">
            <choice minOccurs="0" maxOccurs="unbounded">
                <element ref="smil20lang:animate"/>
                <element ref="smil20lang:set"/>
                <element ref="smil20lang:animateMotion"/>
                <element ref="smil20lang:animateColor"/>
            </choice>
        </group>

        <group name="simpleAnimationGroup">
            <choice minOccurs="0" maxOccurs="unbounded">
                <element ref="smil20lang:animate"/>
                <element ref="smil20lang:set"/>
            </choice>
        </group>

        <!-- =================================================================== -->
        <!-- Linking Functionality                                               -->
        <!-- =================================================================== -->

        <!-- a element and content model -->
        <element name="a" type="smil20lang:aType"/>
        <complexType name="aType">
            <complexContent>
                <extension base="smil20:aPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:scheduleGroup"/>
                        <group ref="smil20lang:mediaContentGroup"/>
                        <group ref="smil20lang:contentControlGroup"/>
                        <group ref="smil20lang:animationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:BasicTimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- area element and content model -->
        <element name="area" type="smil20lang:areaType"/>
        <complexType name="areaType">
            <complexContent>
                <extension base="smil20:areaPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:simpleAnimationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:BasicTimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <attributeGroup ref="smil20:fragmentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- anchor element and content model -->
        <element name="anchor" type="smil20lang:anchorType"/>
        <complexType name="anchorType">
            <complexContent>
                <extension base="smil20:areaPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:simpleAnimationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:BasicTimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:skipContentAttrs"/>
                    <attributeGroup ref="smil20:fragmentAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- linking groups -->
        <group name="aElementGroup">
            <choice>
                <element ref="smil20lang:a"/>
            </choice>
        </group>

        <group name="areaGroup">
            <choice>
                <element ref="smil20lang:area"/>
                <element ref="smil20lang:anchor"/>
            </choice>
        </group>

        <!-- =================================================================== -->
        <!-- Media Functionality                                                 -->
        <!-- =================================================================== -->

        <!-- media elements and content model -->
        <element name="text" type="smil20lang:mediaType"/>
        <element name="img" type="smil20lang:mediaType"/>
        <element name="audio" type="smil20lang:mediaType"/>
        <element name="animation" type="smil20lang:mediaType"/>
        <element name="video" type="smil20lang:mediaType"/>
        <element name="textstream" type="smil20lang:mediaType"/>
        <element name="ref" type="smil20lang:mediaType"/>
        <complexType name="mediaType">
            <complexContent>
                <extension base="smil20:mediaPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:paramGroup"/>
                        <group ref="smil20lang:areaGroup"/>
                        <group ref="smil20lang:switchGroup"/>
                        <group ref="smil20lang:animationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:TimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:regionAttrs"/>
                    <attributeGroup ref="smil20:eraseMediaAttrs"/>
                    <attributeGroup ref="smil20:mediaRepeatAttrs"/>
                    <attributeGroup ref="smil20:sensitivityMediaAttrs"/>
                    <attributeGroup ref="smil20:transInOutAttrs"/>
                    <attributeGroup ref="smil20:tabindexAttrs"/>
                    <attributeGroup ref="smil20:mediaClippingAttrs"/>
                    <attributeGroup ref="smil20:deprecatedMediaClippingAttrs"/>
                    <attributeGroup ref="smil20:mediaAccessAttrs"/>
                    <attributeGroup ref="smil20:mediaObjectOverrideAttrs"/>
                    <attributeGroup ref="smil20:subregionPositioningAttrs"/>
                    <attributeGroup ref="smil20:regPointAttrs"/>
                    <attributeGroup ref="smil20:mediaAnnotateAttrs"/>
                    <attributeGroup ref="smil20:endsyncTimingAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- brush element and content model -->
        <element name="brush" type="smil20lang:brushType"/>
        <complexType name="brushType">
            <complexContent>
                <extension base="smil20:brushPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:paramGroup"/>
                        <group ref="smil20lang:areaGroup"/>
                        <group ref="smil20lang:switchGroup"/>
                        <group ref="smil20lang:animationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20lang:TimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:regionAttrs"/>
                    <attributeGroup ref="smil20:eraseMediaAttrs"/>
                    <attributeGroup ref="smil20:sensitivityMediaAttrs"/>
                    <attributeGroup ref="smil20:tabindexAttrs"/>
                    <attributeGroup ref="smil20:transInOutAttrs"/>
                    <attributeGroup ref="smil20:mediaAccessAttrs"/>
                    <attributeGroup ref="smil20:mediaObjectOverrideAttrs"/>
                    <attributeGroup ref="smil20:subregionPositioningAttrs"/>
                    <attributeGroup ref="smil20:regPointAttrs"/>
                    <attributeGroup ref="smil20:mediaAnnotateAttrs"/>
                    <attributeGroup ref="smil20:endsyncTimingAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- param element and content model -->
        <element name="param" type="smil20lang:paramType"/>
        <complexType name="paramType">
            <complexContent>
                <extension base="smil20:paramPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <any namespace="##other" processContents="lax"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- media groups -->
        <group name="mediaContentGroup">
            <choice>
                <element ref="smil20lang:text"/>
                <element ref="smil20lang:img"/>
                <element ref="smil20lang:audio"/>
                <element ref="smil20lang:animation"/>
                <element ref="smil20lang:video"/>
                <element ref="smil20lang:textstream"/>
                <element ref="smil20lang:ref"/>
                <element ref="smil20lang:brush"/>
            </choice>
        </group>

        <group name="paramGroup">
            <choice>
                <element ref="smil20lang:param"/>
            </choice>
        </group>

        <!-- =================================================================== -->
        <!-- Timing Functionality                                                -->
        <!-- =================================================================== -->

        <attributeGroup name="BasicTimingAttrs">
            <attributeGroup ref="smil20:beginEndTimingAttrs"/>
            <attributeGroup ref="smil20:durTimingAttrs"/>
            <attributeGroup ref="smil20:repeatTimingAttrs"/>
            <attributeGroup ref="smil20:deprecatedRepeatTiming"/>
            <attributeGroup ref="smil20:minMaxTimingAttrs"/>
        </attributeGroup>

        <attributeGroup name="TimingAttrs">
            <attributeGroup ref="smil20lang:BasicTimingAttrs"/>
            <attributeGroup ref="smil20:syncBehaviorAttrs"/>
            <attributeGroup ref="smil20:syncBehaviorDefaultAttrs"/>
            <attributeGroup ref="smil20:restartTimingAttrs"/>
            <attributeGroup ref="smil20:restartDefaultAttrs"/>
            <attributeGroup ref="smil20:fillTimingAttrs"/>
            <attributeGroup ref="smil20:fillDefaultAttrs"/>
        </attributeGroup>

        <!-- par element and content model -->
        <element name="par" type="smil20lang:parType"/>
        <complexType name="parType">
            <complexContent>
                <extension base="smil20:parPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:scheduleGroup"/>
                        <group ref="smil20lang:mediaContentGroup"/>
                        <group ref="smil20lang:contentControlGroup"/>
                        <group ref="smil20lang:aElementGroup"/>
                        <group ref="smil20lang:animationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:deprecatedRepeatTiming"/>
                    <attributeGroup ref="smil20:minMaxTimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:mediaAnnotateAttrs"/>
                    <attributeGroup ref="smil20:regionAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- seq element and content model -->
        <element name="seq" type="smil20lang:seqType"/>
        <complexType name="seqType">
            <complexContent>
                <extension base="smil20:seqPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:scheduleGroup"/>
                        <group ref="smil20lang:mediaContentGroup"/>
                        <group ref="smil20lang:contentControlGroup"/>
                        <group ref="smil20lang:aElementGroup"/>
                        <group ref="smil20lang:animationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:deprecatedRepeatTiming"/>
                    <attributeGroup ref="smil20:minMaxTimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:mediaAnnotateAttrs"/>
                    <attributeGroup ref="smil20:regionAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- excl element and content model -->
        <element name="excl" type="smil20lang:exclType"/>
        <complexType name="exclType">
            <complexContent>
                <extension base="smil20:exclPrototype">
                    <choice>
                        <group ref="smil20lang:priorityClassGroup" minOccurs="0" maxOccurs="unbounded"/>
                        <choice minOccurs="0" maxOccurs="unbounded">
                            <group ref="smil20lang:scheduleGroup"/>
                            <group ref="smil20lang:mediaContentGroup"/>
                            <group ref="smil20lang:contentControlGroup"/>
                            <group ref="smil20lang:aElementGroup"/>
                            <group ref="smil20lang:animationGroup"/>
                        </choice>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:deprecatedRepeatTiming"/>
                    <attributeGroup ref="smil20:minMaxTimingAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:mediaAnnotateAttrs"/>
                    <attributeGroup ref="smil20:regionAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- priorityClass element and content model -->
        <element name="priorityClass" type="smil20lang:priorityClassType"/>
        <complexType name="priorityClassType">
            <complexContent>
                <extension base="smil20:priorityClassPrototype">
                    <choice minOccurs="0" maxOccurs="unbounded">
                        <group ref="smil20lang:scheduleGroup"/>
                        <group ref="smil20lang:mediaContentGroup"/>
                        <group ref="smil20lang:contentControlGroup"/>
                        <group ref="smil20lang:aElementGroup"/>
                        <group ref="smil20lang:animationGroup"/>
                    </choice>
                    <attributeGroup ref="smil20lang:CoreAttrs"/>
                    <attributeGroup ref="smil20:systemTestAttrs"/>
                    <attributeGroup ref="smil20:deprecatedSystemTestAttrs"/>
                    <attributeGroup ref="smil20:customTestAttrs"/>
                    <attributeGroup ref="smil20:mediaAnnotateAttrs"/>
                    <anyAttribute namespace="##any" processContents="strict"/>
                </extension>
            </complexContent>
        </complexType>

        <!-- timing groups -->
        <group name="scheduleGroup">
            <choice>
                <element ref="smil20lang:par"/>
                <element ref="smil20lang:seq"/>
                <element ref="smil20lang:excl"/>
            </choice>
        </group>

        <group name="priorityClassGroup">
            <sequence>
                <element ref="smil20lang:priorityClass"/>
            </sequence>
        </group>

    </schema>

## B.3 XML Schema for the SMIL 2.0 modules:

### B.3.1 SMIL 2.0 AccessKeyTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-AccessKeyTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the AccessKeyTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:AccessKeyTiming="http://www.w3.org/2001/SMIL20/AccessKeyTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/AccessKeyTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>

    </schema>

### B.3.2 SMIL 2.0 AudioLayout

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-AudioLayout.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the AudioLayout module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:AudioLayout="http://www.w3.org/2001/SMIL20/AudioLayout"
            targetNamespace="http://www.w3.org/2001/SMIL20/AudioLayout"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="soundLevel" type="smil20:positivePercentageType"/>

    </schema>

### B.3.3 SMIL 2.0 BasicAnimation

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BasicAnimation.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BasicAnimation module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BasicAnimation="http://www.w3.org/2001/SMIL20/BasicAnimation"
            targetNamespace="http://www.w3.org/2001/SMIL20/BasicAnimation"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="animate" type="smil20lang:animateType" substitutionGroup="smil20lang:animate"/>
        <element name="set" type="smil20lang:setType" substitutionGroup="smil20lang:set"/>
        <element name="animateMotion" type="smil20lang:animateMotionType" substitutionGroup="smil20lang:animateMotion"/>
        <element name="animateColor" type="smil20lang:animateColorType" substitutionGroup="smil20lang:animateColor"/>

        <!-- declare global attributes in this module -->
        <!-- (none) -->

    </schema>

### B.3.4 SMIL 2.0 BasicContentControl

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BasicContentControl.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BasicContentControl module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BasicContentControl="http://www.w3.org/2001/SMIL20/BasicContentControl"
            targetNamespace="http://www.w3.org/2001/SMIL20/BasicContentControl"
            elementFormDefault="qualified">

        <!-- these URL's may have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="switch" type="smil20lang:switchType" substitutionGroup="smil20lang:switch"/>

        <!-- declare global attributes in this module -->
        <attribute name="systemAudioDesc" type="smil20:onOrOffType"/>
        <attribute name="systemBitrate" type="string"/>
        <attribute name="systemCaptions" type="smil20:onOrOffType"/>
        <attribute name="systemComponent" type="string"/>
        <attribute name="systemCPU" type="NMTOKEN"/>
        <attribute name="systemLanguage" type="string"/>
        <attribute name="systemOperatingSystem" type="NMTOKEN"/>
        <attribute name="systemOverdubOrSubtitle" type="smil20:overdubOrSubtitleType"/>
        <attribute name="systemRequired" type="string"/>
        <attribute name="systemScreenDepth" type="positiveInteger"/>
        <attribute name="systemScreenSize" type="string"/>
        <attribute name="system-bitrate" type="string"/>
        <attribute name="system-captions" type="smil20:onOrOffType"/>
        <attribute name="system-language" type="string"/>
        <attribute name="system-overdub-or-caption" type="smil20:overdubOrCaptionsType"/>
        <attribute name="system-required" type="string"/>
        <attribute name="system-screen-depth" type="positiveInteger"/>
        <attribute name="system-screen-size" type="string"/>

    </schema>

### B.3.5 SMIL 2.0 BasicInlineTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BasicInlineTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BasicInlineTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BasicInlineTiming="http://www.w3.org/2001/SMIL20/BasicInlineTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/BasicInlineTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>
        <attribute name="dur" type="string"/>

    </schema>

### B.3.6 SMIL 2.0 BasicLayout

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BasicLayout.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BasicLayout module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BasicLayout="http://www.w3.org/2001/SMIL20/BasicLayout"
            targetNamespace="http://www.w3.org/2001/SMIL20/BasicLayout"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="layout" type="smil20lang:layoutType" substitutionGroup="smil20lang:layout"/>
        <element name="root-layout" type="smil20lang:root-layoutType" substitutionGroup="smil20lang:root-layout"/>
        <element name="region" type="smil20lang:regionType" substitutionGroup="smil20lang:region"/>

        <!-- declare global attributes in this module -->
        <attribute name="region" type="string"/>

    </schema>

### B.3.7 SMIL 2.0 BasicLinking

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BasicLinking.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BasicLinking module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BasicLinking="http://www.w3.org/2001/SMIL20/BasicLinking"
            targetNamespace="http://www.w3.org/2001/SMIL20/BasicLinking"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="a" type="smil20lang:aType" substitutionGroup="smil20lang:a"/>
        <element name="area" type="smil20lang:areaType" substitutionGroup="smil20lang:area"/>
        <element name="anchor" type="smil20lang:anchorType" substitutionGroup="smil20lang:anchor"/>

        <!-- declare global attributes in this module -->
        <attribute name="tabindex" type="integer"/>

    </schema>

### B.3.8 SMIL 2.0 BasicMedia

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BasicMedia.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BasicMedia module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BasicMedia="http://www.w3.org/2001/SMIL20/BasicMedia"
            targetNamespace="http://www.w3.org/2001/SMIL20/BasicMedia"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="text" type="smil20lang:mediaType" substitutionGroup="smil20lang:text"/>
        <element name="img" type="smil20lang:mediaType" substitutionGroup="smil20lang:img"/>
        <element name="audio" type="smil20lang:mediaType" substitutionGroup="smil20lang:audio"/>
        <element name="animation" type="smil20lang:mediaType" substitutionGroup="smil20lang:animation"/>
        <element name="video" type="smil20lang:mediaType" substitutionGroup="smil20lang:video"/>
        <element name="textstream" type="smil20lang:mediaType" substitutionGroup="smil20lang:textstream"/>
        <element name="ref" type="smil20lang:mediaType" substitutionGroup="smil20lang:ref"/>

        <!-- declare global attributes in this module -->
        <attribute name="type" type="string"/>
        <attribute name="src" type="anyURI"/>

    </schema>

### B.3.9 SMIL 2.0 BasicTimeContainers

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BasicTimeContainers.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BasicTimeContainers module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BasicTimeContainers="http://www.w3.org/2001/SMIL20/BasicTimeContainers"
            targetNamespace="http://www.w3.org/2001/SMIL20/BasicTimeContainers"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- import the definitions in the smil20 language namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/>

        <!-- declare global elements in this module -->
        <element name="par" type="smil20lang:parType" substitutionGroup="smil20lang:par"/>
        <element name="seq" type="smil20lang:seqType" substitutionGroup="smil20lang:seq"/>

        <!-- declare global attributes in this module -->
        <attribute name="fill" type="smil20:fillTimingAttrsType"/>
        <attribute name="endsync" type="smil20:endsyncTimingAttrsType"/>

    </schema>

### B.3.10 SMIL 2.0 BasicTransitions

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BasicTransitions.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BasicTransitions module namespace.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BasicTransitions="http://www.w3.org/2001/SMIL20/BasicTransitions"
            targetNamespace="http://www.w3.org/2001/SMIL20/BasicTransitions"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- import the definitions in the smil20 language namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/>

        <!-- declare global elements in this module -->
        <element name="transition" type="smil20lang:transitionType" substitutionGroup="smil20lang:transition"/>

        <!-- declare global attributes in this module -->
        <attribute name="transIn" type="string"/>
        <attribute name="transOut" type="string"/>

    </schema>

### B.3.11 SMIL 2.0 BrushMedia

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-BrushMedia.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the BrushMedia module namespace.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:BrushMedia="http://www.w3.org/2001/SMIL20/BrushMedia"
            targetNamespace="http://www.w3.org/2001/SMIL20/BrushMedia"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="brush" type="smil20lang:brushType" substitutionGroup="smil20lang:brush"/>

        <!-- declare global attributes in this module -->
        <!-- (none) -->

    </schema>

### B.3.12 SMIL 2.0 CustomTestAttributes

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-CustomTestAttributes.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the CustomTestAttributes module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:CustomTestAttributes="http://www.w3.org/2001/SMIL20/CustomTestAttributes"
            targetNamespace="http://www.w3.org/2001/SMIL20/CustomTestAttributes"
            elementFormDefault="qualified">

        <!-- these URL's may have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="customAttributes" type="smil20lang:customAttributesType" substitutionGroup="smil20lang:customAttributes"/>
        <element name="customTest" type="smil20lang:customTestType" substitutionGroup="smil20lang:customTest"/>

        <!-- declare global attributes in this module -->
        <attribute name="customTest" type="string"/>

    </schema>

### B.3.13 SMIL 2.0 EventTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-EventTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the EventTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:EventTiming="http://www.w3.org/2001/SMIL20/EventTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/EventTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>

    </schema>

### B.3.14 SMIL 2.0 ExclTimeContainers

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-ExclTimeContainers.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the ExclTimeContainers module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:ExclTimeContainers="http://www.w3.org/2001/SMIL20/ExclTimeContainers"
            targetNamespace="http://www.w3.org/2001/SMIL20/ExclTimeContainers"
            elementFormDefault="qualified">

        <!-- these URL's may have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- import the definitions in the smil20 language namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/>

        <!-- declare global elements in this module -->
        <element name="excl" type="smil20lang:exclType" substitutionGroup="smil20lang:excl"/>
        <element name="priorityClass" type="smil20lang:priorityClassType" substitutionGroup="smil20lang:priorityClass"/>

        <!-- declare global attributes in this module -->
        <attribute name="fill" type="smil20:fillTimingAttrsType"/>
        <attribute name="endsync" type="smil20:endsyncTimingAttrsType"/>

    </schema>

### B.3.15 SMIL 2.0 FillDefault

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-FillDefault.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the FillDefault module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:FillDefault="http://www.w3.org/2001/SMIL20/FillDefault"
            targetNamespace="http://www.w3.org/2001/SMIL20/FillDefault"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="fillDefault" type="smil20:fillDefaultType"/>

    </schema>

### B.3.16 SMIL 2.0 HierarchicalLayout

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-HierarchicalLayout.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the HierarchicalLayout module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:HierarchicalLayout="http://www.w3.org/2001/SMIL20/HierarchicalLayout"
            targetNamespace="http://www.w3.org/2001/SMIL20/HierarchicalLayout"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="layout" type="smil20lang:layoutType" substitutionGroup="smil20lang:layout"/>
        <element name="root-layout" type="smil20lang:root-layoutType" substitutionGroup="smil20lang:root-layout"/>
        <element name="region" type="smil20lang:regionType" substitutionGroup="smil20lang:region"/>
        <element name="regPoint" type="smil20lang:regPointType" substitutionGroup="smil20lang:regPoint"/>

        <!-- declare global attributes in this module -->
        <attribute name="region" type="string"/>
        <attribute name="fit" type="smil20:fitAttributeType"/>
        <attribute name="backgroundColor" type="string"/>
        <attribute name="z-index" type="smil20:zIndexValueType"/>
        <attribute name="bottom" type="string"/>
        <attribute name="left" type="string"/>
        <attribute name="right" type="string"/>
        <attribute name="top" type="string"/>
        <attribute name="width" type="string"/>
        <attribute name="height" type="string"/>
        <attribute name="regPoint" type="smil20:regPointValueType"/>
        <attribute name="regAlign" type="smil20:regPointAlignValueType"/>

    </schema>

### B.3.17 SMIL 2.0 HostLanguage

    <!--
    XML Schema for the SMIL 2.0 HostLanguage module collection

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-HostLanguage.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the HostLanguage collection namespace.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:HostLanguage="http://www.w3.org/2001/SMIL20/HostLanguage"
            targetNamespace="http://www.w3.org/2001/SMIL20/HostLanguage"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- import the definitions in the smil20 language namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/>

        <!-- declare global elements in this module -->
        <element name="smil" type="smil20lang:smilType" substitutionGroup="smil20lang:smil"/>
        <element name="head" type="smil20lang:headType" substitutionGroup="smil20lang:head"/>
        <element name="body" type="smil20lang:bodyType" substitutionGroup="smil20lang:body"/>
        <element name="switch" type="smil20lang:switchType" substitutionGroup="smil20lang:switch"/>
        <element name="layout" type="smil20lang:layoutType" substitutionGroup="smil20lang:layout"/>
        <element name="root-layout" type="smil20lang:root-layoutType" substitutionGroup="smil20lang:root-layout"/>
        <element name="region" type="smil20lang:regionType" substitutionGroup="smil20lang:region"/>
        <element name="a" type="smil20lang:aType" substitutionGroup="smil20lang:a"/>
        <element name="area" type="smil20lang:areaType" substitutionGroup="smil20lang:area"/>
        <element name="anchor" type="smil20lang:anchorType" substitutionGroup="smil20lang:anchor"/>
        <element name="text" type="smil20lang:mediaType" substitutionGroup="smil20lang:text"/>
        <element name="img" type="smil20lang:mediaType" substitutionGroup="smil20lang:img"/>
        <element name="audio" type="smil20lang:mediaType" substitutionGroup="smil20lang:audio"/>
        <element name="animation" type="smil20lang:mediaType" substitutionGroup="smil20lang:animation"/>
        <element name="video" type="smil20lang:mediaType" substitutionGroup="smil20lang:video"/>
        <element name="textstream" type="smil20lang:mediaType" substitutionGroup="smil20lang:textstream"/>
        <element name="ref" type="smil20lang:mediaType" substitutionGroup="smil20lang:ref"/>
        <element name="par" type="smil20lang:parType" substitutionGroup="smil20lang:par"/>
        <element name="seq" type="smil20lang:seqType" substitutionGroup="smil20lang:seq"/>

        <!-- declare global attributes in this module -->
        <attribute name="systemAudioDesc" type="smil20:onOrOffType"/>
        <attribute name="systemBitrate" type="string"/>
        <attribute name="systemCaptions" type="smil20:onOrOffType"/>
        <attribute name="systemComponent" type="string"/>
        <attribute name="systemCPU" type="NMTOKEN"/>
        <attribute name="systemLanguage" type="string"/>
        <attribute name="systemOperatingSystem" type="NMTOKEN"/>
        <attribute name="systemOverdubOrSubtitle" type="smil20:overdubOrSubtitleType"/>
        <attribute name="systemRequired" type="string"/>
        <attribute name="systemScreenDepth" type="positiveInteger"/>
        <attribute name="systemScreenSize" type="string"/>
        <attribute name="system-bitrate" type="string"/>
        <attribute name="system-captions" type="smil20:onOrOffType"/>
        <attribute name="system-language" type="string"/>
        <attribute name="system-overdub-or-caption" type="smil20:overdubOrCaptionsType"/>
        <attribute name="system-required" type="string"/>
        <attribute name="system-screen-depth" type="positiveInteger"/>
        <attribute name="system-screen-size" type="string"/>
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>
        <attribute name="dur" type="string"/>
        <attribute name="region" type="string"/>
        <attribute name="tabindex" type="integer"/>
        <attribute name="type" type="string"/>
        <attribute name="src" type="anyURI"/>
        <attribute name="fill" type="smil20:fillTimingAttrsType"/>
        <attribute name="endsync" type="smil20:endsyncTimingAttrsType"/>
        <attribute name="min" type="string"/>
        <attribute name="max" type="string"/>
        <attribute name="repeatDur" type="string"/>
        <attribute name="repeatCount" type="smil20:nonNegativeDecimalType"/>
        <attribute name="repeat" type="nonNegativeInteger"/>
        <attribute name="skip-content" type="boolean"/>

    </schema>

### B.3.18 SMIL 2.0 InlineTransitions

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-InlineTransitions.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the InlineTransitions module namespace.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:InlineTransitions="http://www.w3.org/2001/SMIL20/InlineTransitions"
            targetNamespace="http://www.w3.org/2001/SMIL20/InlineTransitions"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- import the definitions in the smil20 language namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/>

        <!-- declare global elements in this module -->
        <element name="transitionFilter" type="smil20:transitionFilterType" substitutionGroup="smil20:transitionFilter"/>

        <!-- declare global attributes in this module -->
        <!-- none -->

    </schema>

### B.3.19 SMIL 2.0 IntegrationSet

    <!--
    XML Schema for the SMIL 2.0 IntegrationSet module collection

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-IntegrationSet.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the IntegrationSet collection namespace.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:IntegrationSet="http://www.w3.org/2001/SMIL20/IntegrationSet"
            targetNamespace="http://www.w3.org/2001/SMIL20/IntegrationSet"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- import the definitions in the smil20 language namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/>

        <!-- declare global elements in this module -->
        <element name="switch" type="smil20lang:switchType" substitutionGroup="smil20lang:switch"/>
        <element name="text" type="smil20lang:mediaType" substitutionGroup="smil20lang:text"/>
        <element name="img" type="smil20lang:mediaType" substitutionGroup="smil20lang:img"/>
        <element name="audio" type="smil20lang:mediaType" substitutionGroup="smil20lang:audio"/>
        <element name="animation" type="smil20lang:mediaType" substitutionGroup="smil20lang:animation"/>
        <element name="video" type="smil20lang:mediaType" substitutionGroup="smil20lang:video"/>
        <element name="textstream" type="smil20lang:mediaType" substitutionGroup="smil20lang:textstream"/>
        <element name="ref" type="smil20lang:mediaType" substitutionGroup="smil20lang:ref"/>
        <element name="par" type="smil20lang:parType" substitutionGroup="smil20lang:par"/>
        <element name="seq" type="smil20lang:seqType" substitutionGroup="smil20lang:seq"/>

        <!-- declare global attributes in this module -->
        <attribute name="systemAudioDesc" type="smil20:onOrOffType"/>
        <attribute name="systemBitrate" type="string"/>
        <attribute name="systemCaptions" type="smil20:onOrOffType"/>
        <attribute name="systemComponent" type="string"/>
        <attribute name="systemCPU" type="NMTOKEN"/>
        <attribute name="systemLanguage" type="string"/>
        <attribute name="systemOperatingSystem" type="NMTOKEN"/>
        <attribute name="systemOverdubOrSubtitle" type="smil20:overdubOrSubtitleType"/>
        <attribute name="systemRequired" type="string"/>
        <attribute name="systemScreenDepth" type="positiveInteger"/>
        <attribute name="systemScreenSize" type="string"/>
        <attribute name="system-bitrate" type="string"/>
        <attribute name="system-captions" type="smil20:onOrOffType"/>
        <attribute name="system-language" type="string"/>
        <attribute name="system-overdub-or-caption" type="smil20:overdubOrCaptionsType"/>
        <attribute name="system-required" type="string"/>
        <attribute name="system-screen-depth" type="positiveInteger"/>
        <attribute name="system-screen-size" type="string"/>
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>
        <attribute name="dur" type="string"/>
        <attribute name="type" type="string"/>
        <attribute name="src" type="anyURI"/>
        <attribute name="fill" type="smil20:fillTimingAttrsType"/>
        <attribute name="endsync" type="smil20:endsyncTimingAttrsType"/>
        <attribute name="min" type="string"/>
        <attribute name="max" type="string"/>
        <attribute name="repeatDur" type="string"/>
        <attribute name="repeatCount" type="smil20:nonNegativeDecimalType"/>

    </schema>

### B.3.20 SMIL 2.0 LinkingAttributes

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-LinkingAttributes.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the LinkingAttributes module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:LinkingAttributes="http://www.w3.org/2001/SMIL20/LinkingAttributes"
            targetNamespace="http://www.w3.org/2001/SMIL20/LinkingAttributes"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="sourceLevel" type="smil20:positivePercentageType"/>
        <attribute name="destinationLevel" type="smil20:positivePercentageType"/>
        <attribute name="sourcePlaystate" type="smil20:sourcePlaystateType"/>
        <attribute name="destinationPlaystate" type="smil20:destinationPlaystateType"/>
        <attribute name="show" type="smil20:showType"/>
        <attribute name="external" type="boolean"/>
        <attribute name="actuate" type="smil20:actuateType"/>
        <attribute name="accesskey" type="string"/>
        <attribute name="target" type="string"/>

    </schema>

### B.3.21 SMIL 2.0 MediaAccessibility

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MediaAccessibility.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MediaAccessibility module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MediaAccessibility="http://www.w3.org/2001/SMIL20/MediaAccessibility"
            targetNamespace="http://www.w3.org/2001/SMIL20/MediaAccessibility"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="alt" type="string"/>
        <attribute name="longdesc" type="anyURI"/>
        <attribute name="readIndex" type="integer"/>

    </schema>

### B.3.22 SMIL 2.0 MediaClipMarkers

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MediaClipMarkers.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MediaClipMarkers module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MediaClipMarkers="http://www.w3.org/2001/SMIL20/MediaClipMarkers"
            targetNamespace="http://www.w3.org/2001/SMIL20/MediaClipMarkers"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="clipBegin" type="string"/>
        <attribute name="clipEnd" type="string"/>
        <attribute name="clip-begin" type="string"/>
        <attribute name="clip-end" type="string"/>

    </schema>

### B.3.23 SMIL 2.0 MediaClipping

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MediaClipping.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MediaClipping module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MediaClipping="http://www.w3.org/2001/SMIL20/MediaClipping"
            targetNamespace="http://www.w3.org/2001/SMIL20/MediaClipping"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="clipBegin" type="string"/>
        <attribute name="clipEnd" type="string"/>
        <attribute name="clip-begin" type="string"/>
        <attribute name="clip-end" type="string"/>

    </schema>

### B.3.24 SMIL 2.0 MediaDescription

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MediaDescription.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MediaDescription module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MediaDescription="http://www.w3.org/2001/SMIL20/MediaDescription"
            targetNamespace="http://www.w3.org/2001/SMIL20/MediaDescription"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="abstract" type="string"/>
        <attribute name="author" type="string"/>
        <attribute name="copyright" type="string"/>
        <attribute name="title" type="string"/>

    </schema>

### B.3.25 SMIL 2.0 MediaMarkerTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MediaMarkerTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MediaMarkerTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MediaMarkerTiming="http://www.w3.org/2001/SMIL20/MediaMarkerTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/MediaMarkerTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>

    </schema>

### B.3.26 SMIL 2.0 MediaParam

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MediaParam.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MediaParam module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MediaParam="http://www.w3.org/2001/SMIL20/MediaParam"
            targetNamespace="http://www.w3.org/2001/SMIL20/MediaParam"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="param" type="smil20lang:paramType" substitutionGroup="smil20lang:param"/>

        <!-- declare global attributes in this module -->
        <attribute name="erase" type="smil20:eraseMediaType"/>
        <attribute name="mediaRepeat" type="smil20:mediaRepeatType"/>
        <attribute name="sensitivity" type="smil20:sensitivityType"/>

    </schema>

### B.3.27 SMIL 2.0 Metainformation

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-Metainformation.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the Metainformation module namespace.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:Metainformation="http://www.w3.org/2001/SMIL20/Metainformation"
            targetNamespace="http://www.w3.org/2001/SMIL20/Metainformation"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="metadata" type="smil20lang:metadataType" substitutionGroup="smil20lang:metadata"/>
        <element name="meta" type="smil20lang:metaType" substitutionGroup="smil20lang:meta"/>

        <!-- declare global attributes in this module -->
        <!-- (none) -->

    </schema>

### B.3.28 SMIL 2.0 MinMaxTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MinMaxTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MinMaxTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MinMaxTiming="http://www.w3.org/2001/SMIL20/MinMaxTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/MinMaxTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="min" type="string"/>
        <attribute name="max" type="string"/>

    </schema>

### B.3.29 SMIL 2.0 MultiArcTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MultiArcTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MultiArcTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MultiArcTiming="http://www.w3.org/2001/SMIL20/MultiArcTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/MultiArcTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>

    </schema>

### B.3.30 SMIL 2.0 MultiWindowLayout

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-MultiWindowLayout.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the MultiWindowLayout module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:MultiWindowLayout="http://www.w3.org/2001/SMIL20/MultiWindowLayout"
            targetNamespace="http://www.w3.org/2001/SMIL20/MultiWindowLayout"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="topLayout" type="smil20lang:topLayoutType" substitutionGroup="smil20lang:topLayout"/>

        <!-- declare global attributes in this module -->
        <!-- (none) -->

    </schema>

### B.3.31 SMIL 2.0 ObjectLinking

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-ObjectLinking.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the ObjectLinking module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:ObjectLinking="http://www.w3.org/2001/SMIL20/ObjectLinking"
            targetNamespace="http://www.w3.org/2001/SMIL20/ObjectLinking"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="area" type="smil20lang:areaType" substitutionGroup="smil20lang:area"/>
        <element name="anchor" type="smil20lang:anchorType" substitutionGroup="smil20lang:anchor"/>

        <!-- declare global attributes in this module -->
        <!-- (none) -->

    </schema>

### B.3.32 SMIL 2.0 PrefetchControl

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-PrefetchControl.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the PrefetchControl module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:PrefetchControl="http://www.w3.org/2001/SMIL20/PrefetchControl"
            targetNamespace="http://www.w3.org/2001/SMIL20/PrefetchControl"
            elementFormDefault="qualified">

        <!-- these URL's may have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="prefetch" type="smil20lang:prefetchType" substitutionGroup="smil20lang:prefetch"/>

        <!-- declare global attributes in this module -->
        <!-- (none) -->
    </schema>

### B.3.33 SMIL 2.0 RepeatTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-RepeatTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the RepeatTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:RepeatTiming="http://www.w3.org/2001/SMIL20/RepeatTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/RepeatTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="repeatDur" type="string"/>
        <attribute name="repeatCount" type="smil20:nonNegativeDecimalType"/>
        <attribute name="repeat" type="nonNegativeInteger"/>

    </schema>

### B.3.34 SMIL 2.0 RepeatValueTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-RepeatValueTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the RepeatValueTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:RepeatValueTiming="http://www.w3.org/2001/SMIL20/RepeatValueTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/RepeatValueTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>

    </schema>

### B.3.35 SMIL 2.0 RestartDefault

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-RestartDefault.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the RestartDefault module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:RestartDefault="http://www.w3.org/2001/SMIL20/RestartDefault"
            targetNamespace="http://www.w3.org/2001/SMIL20/RestartDefault"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="restartDefault" type="smil20:restartDefaultType"/>

    </schema>

### B.3.36 SMIL 2.0 RestartTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-RestartTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the RestartTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:RestartTiming="http://www.w3.org/2001/SMIL20/RestartTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/RestartTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="restart" type="smil20:restartTimingType"/>

    </schema>

### B.3.37 SMIL 2.0 SkipContentControl

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-SkipContentControl.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the SkipContentControl module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:SkipContentControl="http://www.w3.org/2001/SMIL20/SkipContentControl"
            targetNamespace="http://www.w3.org/2001/SMIL20/SkipContentControl"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="skip-content" type="boolean"/>

    </schema>

### B.3.38 SMIL 2.0 SplineAnimation

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-SplineAnimation.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the SplineAnimation module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:SplineAnimation="http://www.w3.org/2001/SMIL20/SplineAnimation"
            targetNamespace="http://www.w3.org/2001/SMIL20/SplineAnimation"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="animate" type="smil20lang:animateType" substitutionGroup="smil20lang:animate"/>
        <element name="animateMotion" type="smil20lang:animateMotionType" substitutionGroup="smil20lang:animateMotion"/>
        <element name="animateColor" type="smil20lang:animateColorType" substitutionGroup="smil20lang:animateColor"/>

        <!-- declare global attributes in this module -->
        <!-- (none) -->

    </schema>

### B.3.39 SMIL 2.0 Structure

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-Structure.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the Structure module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:Structure="http://www.w3.org/2001/SMIL20/Structure"
            targetNamespace="http://www.w3.org/2001/SMIL20/Structure"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <element name="smil" type="smil20lang:smilType" substitutionGroup="smil20lang:smil"/>
        <element name="head" type="smil20lang:headType" substitutionGroup="smil20lang:head"/>
        <element name="body" type="smil20lang:bodyType" substitutionGroup="smil20lang:body"/>

        <!-- declare global attributes in this module -->
        <!-- (none) -->

    </schema>

### B.3.40 SMIL 2.0 SyncBehavior

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-SyncBehavior.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the RestartTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:SyncBehavior="http://www.w3.org/2001/SMIL20/SyncBehavior"
            targetNamespace="http://www.w3.org/2001/SMIL20/SyncBehavior"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="syncBehavior" type="smil20:syncBehaviorType"/>
        <attribute name="syncTolerance" type="string"/>

    </schema>

### B.3.41 SMIL 2.0 SyncBehaviorDefault

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-SyncBehaviorDefault.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the RestartTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:SyncBehaviorDefault="http://www.w3.org/2001/SMIL20/SyncBehaviorDefault"
            targetNamespace="http://www.w3.org/2001/SMIL20/SyncBehaviorDefault"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="syncBehaviorDefault" type="smil20:syncBehaviorDefaultType"/>
        <attribute name="syncToleranceDefault" type="string"/>

    </schema>

### B.3.42 SMIL 2.0 SyncMaster

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-SyncMaster.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the SyncMaster module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:SyncMaster="http://www.w3.org/2001/SMIL20/SyncMaster"
            targetNamespace="http://www.w3.org/2001/SMIL20/SyncMaster"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="syncMaster" type="boolean"/>

    </schema>

### B.3.43 SMIL 2.0 SyncbaseTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-SyncbaseTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the SyncbaseTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:SyncbaseTiming="http://www.w3.org/2001/SMIL20/SyncbaseTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/SyncbaseTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>

    </schema>

### B.3.44 SMIL 2.0 TimeContainerAttributes

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-TimeContainerAttributes.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the TimeContainerAttributes module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:TimeContainerAttributes="http://www.w3.org/2001/SMIL20/TimeContainerAttributes"
            targetNamespace="http://www.w3.org/2001/SMIL20/TimeContainerAttributes"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="timeContainer" type="smil20:timeContainerArgType"/>
        <attribute name="timeAction" type="smil20:timeActionType"/>
        <attribute name="fill" type="smil20:fillTimingAttrsType"/>
        <attribute name="endsync" type="smil20:endsyncTimingAttrsType"/>

    </schema>

### B.3.45 SMIL 2.0 TimeManipulations

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-TimeManipulations.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the TimeManipulations module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:TimeManipulations="http://www.w3.org/2001/SMIL20/TimeManipulations"
            targetNamespace="http://www.w3.org/2001/SMIL20/TimeManipulations"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="accelerate" type="smil20:zeroToOneDecimalType"/>
        <attribute name="decelerate" type="smil20:zeroToOneDecimalType"/>
        <attribute name="autoReverse" type="boolean"/>
        <attribute name="speed" type="smil20:nonZeroDecimalType"/>

    </schema>

### B.3.46 SMIL 2.0 TransitionModifiers

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-TransitionModifiers.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the TransitionModifiers module namespace.
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:TransitionModifiers="http://www.w3.org/2001/SMIL20/TransitionModifiers"
            targetNamespace="http://www.w3.org/2001/SMIL20/TransitionModifiers"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- import the definitions in the smil20 language namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/Language" schemaLocation="smil20-language.xsd"/>

        <!-- declare global elements in this module -->
        <element name="transitionFilter" type="smil20:transitionFilterType" substitutionGroup="smil20:transitionFilter"/>
        <element name="transition" type="smil20lang:transitionType" substitutionGroup="smil20lang:transition"/>

        <!-- declare global attributes in this module -->
        <attribute name="transIn" type="string"/>
        <attribute name="transOut" type="string"/>

    </schema>

### B.3.47 SMIL 2.0 WallclockTiming

    <!--
    XML Schema for the SMIL 2.0 modules

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-WallclockTiming.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2001/07/31

    Schema for the WallclockTiming module namespace,
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language"
            xmlns:WallclockTiming="http://www.w3.org/2001/SMIL20/WallclockTiming"
            targetNamespace="http://www.w3.org/2001/SMIL20/WallclockTiming"
            elementFormDefault="qualified">

        <!-- these URL's will have to be expanded to their full and proper locations -->

        <!-- import the definitions in the smil20 namespace -->
        <import namespace="http://www.w3.org/2001/SMIL20/" schemaLocation="smil20.xsd"/>

        <!-- declare global elements in this module -->
        <!-- (none) -->

        <!-- declare global attributes in this module -->
        <attribute name="begin" type="string"/>
        <attribute name="end" type="string"/>

    </schema>

### B.3.48 SMIL 2.0 utility

    <!--
    XML Schema utility types used by any or all of the schema documents.

    This is SMIL 2.0
    Copyright: 1998-2004  W3C (MIT, ERCIM, Keio), All Rights Reserved.
    See http://www.w3.org/Consortium/Legal/.

    Public URI: http://www.w3.org/2001/SMIL20/smil20-utility.xsd
    Author: Aaron Michael Cohen (Intel)
    Revision: 2004/06/03 by Thierry MICHEL
    Revision includes update of Errata E30
    see (http://www.w3.org/2001/07/REC-SMIL20-20010731-errata#E30)
    -->
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:smil20="http://www.w3.org/2001/SMIL20/"
            targetNamespace="http://www.w3.org/2001/SMIL20/"
            elementFormDefault="qualified">

        <!-- utility type for values 0.0 to 1.0 inclusive -->
        <simpleType name="zeroToOneDecimalType">
            <restriction base="decimal">
                <minInclusive value="0.0"/>
                <maxInclusive value="1.0"/>
            </restriction>
        </simpleType>

        <!-- utility types for non-zero values -->
        <simpleType name="greaterThanZeroDecimalType">
            <restriction base="decimal">
                <minExclusive value="0.0"/>
            </restriction>
        </simpleType>

        <simpleType name="nonNegativeDecimalType">
            <restriction base="decimal">
                <minInclusive value="0.0"/>
            </restriction>
        </simpleType>

        <simpleType name="lessThanZeroDecimalType">
            <restriction base="decimal">
                <maxExclusive value="0.0"/>
            </restriction>
        </simpleType>

        <simpleType name="nonZeroDecimalType">
            <union memberTypes="smil20:lessThanZeroDecimalType smil20:greaterThanZeroDecimalType"/>
        </simpleType>

        <!-- syntax for positive percentages, zero inclusive -->
        <simpleType name="positivePercentageType">
            <restriction base="string">
                <pattern value="[0-9]*((\.)([0-9])*)?%"/>
            </restriction>
        </simpleType>

    </schema>

### B.3.49 SMIL 2.0 rdf

    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            targetNamespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

        <!-- the RDF namespace needs to be verified -->

        <element name="RDF">
            <complexType>
                <sequence>
                    <any namespace="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                         minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
                </sequence>
            </complexType>
        </element>

    </schema>

### B.3.50 SMIL 2.0 xml-mod

    <schema targetNamespace="http://www.w3.org/XML/1998/namespace"
            xmlns="http://www.w3.org/2001/XMLSchema"
            xmlns:x="http://www.w3.org/XML/1998/namespace">

        <attribute name="lang" type="language">
            <annotation>
                <documentation>In due course, we should install the relevant ISO 2- and 3-letter
                    codes as the enumerated possible values . . .</documentation>
            </annotation>
        </attribute>

        <attribute name="space" use="optional"  default="preserve">
            <simpleType>
                <restriction base="NCName">
                    <enumeration value="default"/>
                    <enumeration value="preserve"/>
                </restriction>
            </simpleType>
        </attribute>

        <attributeGroup name="specialAttrs">
            <attribute ref="x:lang"/>
            <attribute ref="x:space"/>
        </attributeGroup>
    </schema>

previous next contents