<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml">
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Scripting module for XHTML
      $Id: xhtml-script-1.xsd 28982 2006-05-04 09:40:07 +0000 (Thu, 04 May 2006) radu_coravu $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Scripting
      
        * script, noscript
      
      This module declares element types and attributes used to provide
      support for executable scripts as well as an alternate content
      container where scripts are not supported.
    </xs:documentation>
    <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_scriptmodule"/>
    </xs:annotation>
    
    <xs:import namespace="http://www.w3.org/XML/1998/namespace"> 
      <xs:annotation>
        <xs:documentation>
          This import brings in the XML namespace attributes 
          The module itself does not provide the schemaLocation
          and expects the driver schema to provide the 
          actual SchemaLocation.
        </xs:documentation>
      </xs:annotation>
    </xs:import>
        
    <xs:attributeGroup name="script.attlist">
        <xs:attribute name="charset" type="Charset"/>
        <xs:attribute name="type" type="ContentType" use="required"/>
        <xs:attribute name="src" type="URI"/>
        <xs:attribute name="defer">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="defer"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute ref="xml:space"/>
    </xs:attributeGroup>
    
    <xs:group name="script.content">
       <xs:sequence/>
    </xs:group>
      
    <xs:complexType name="script.type" mixed="true">
        <xs:group ref="script.content"/> 
        <xs:attributeGroup ref="script.attlist"/>
    </xs:complexType>
    
    <xs:element name="script" type="script.type"><xs:annotation><xs:documentation>The SCRIPT element places a script within a document. This element may appear any number of times in the HEAD or BODY of an XHTML document.</xs:documentation></xs:annotation></xs:element>
    
    <xs:attributeGroup name="noscript.attlist">
        <xs:attributeGroup ref="Common.attrib"/>
    </xs:attributeGroup>
    
    <xs:group name="noscript.content">
       <xs:sequence>
          <xs:group ref="Block.mix" maxOccurs="unbounded"/>       
       </xs:sequence>
    </xs:group>    
    
    <xs:complexType name="noscript.type">
        <xs:group ref="noscript.content"/>
        <xs:attributeGroup ref="noscript.attlist"/>
    </xs:complexType>
    
    <xs:element name="noscript" type="noscript.type"><xs:annotation><xs:documentation>The NOSCRIPT element allows authors to provide alternate content when a script is not executed. The content of a NOSCRIPT element should only be rendered by a script-aware user agent in the following cases: 1. The user agent is configured not to evaluate scripts; 2The user agent doesn't support a scripting language invoked by a SCRIPT element earlier in the document.</xs:documentation></xs:annotation></xs:element>
</xs:schema>