<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.w3.org/2001/vxml"
    xmlns="http://www.w3.org/2001/vxml"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified" version="1.0">

    <xsd:annotation>
        <xsd:documentation>VoiceXML 2.1 attributes (20060316)</xsd:documentation>
    </xsd:annotation>

    <xsd:annotation> <xsd:documentation> 
Copyright 1998-2006 W3C (MIT, ERCIM, Keio), All Rights Reserved. Permission to
use, copy, modify and distribute the VoiceXML schema and its accompanying
documentation for any purpose and without fee is hereby granted in perpetuity,
provided that the above copyright notice and this paragraph appear in all
copies.  The copyright holders make no representation about the suitability of
the schema for any purpose. It is provided "as is" without expressed or
implied warranty.
</xsd:documentation>
</xsd:annotation>


    <xsd:include schemaLocation="vxml-datatypes.xsd"/>    
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" 
                schemaLocation="http://www.w3.org/2001/xml.xsd"/>


    <xsd:annotation>
        <xsd:documentation>XML Schema attributes module for VoiceXML 2.1</xsd:documentation>
    </xsd:annotation>



    <xsd:annotation>
        <xsd:documentation>General attributes</xsd:documentation>
    </xsd:annotation>


    <xsd:attributeGroup name="Fetchhint.attrib">
        <xsd:annotation>
            <xsd:documentation>Used in Cache.attribs </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="fetchhint" type="Fetchhint.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Fetchtimeout.attrib">
        <xsd:annotation>
            <xsd:documentation>Used in Cache.attribs</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="fetchtimeout" type="Duration.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Maxage.attrib">
        <xsd:annotation>
            <xsd:documentation>Used in Cache.attribs</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="maxage" type="Integer.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Maxstale.attrib">
        <xsd:annotation>
            <xsd:documentation>Used in Cache attribs</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="maxstale" type="Integer.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Cache.attribs">
        <xsd:annotation>
            <xsd:documentation>Cache attributes to control caching behavior</xsd:documentation>
        </xsd:annotation>
        <xsd:attributeGroup ref="Fetchhint.attrib"/>
        <xsd:attributeGroup ref="Fetchtimeout.attrib"/>
        <xsd:attributeGroup ref="Maxage.attrib"/>
        <xsd:attributeGroup ref="Maxstale.attrib"/>
    </xsd:attributeGroup>


    <xsd:annotation>
        <xsd:documentation>VoiceXML specific attributes</xsd:documentation>
    </xsd:annotation>

    <xsd:attributeGroup name="Accept.attrib">
        <xsd:annotation>
            <xsd:documentation>Accept attribute: menu, choice, option (2.2)</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="accept" type="Accept.datatype" default="exact"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Next.attrib">
        <xsd:annotation>
            <xsd:documentation>URI to transition to</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="next" type="URI.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Expr.attrib">
        <xsd:annotation>
            <xsd:documentation>Evaluates to URI to transition to</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="expr" type="Script.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Next.attribs">
        <xsd:annotation>
            <xsd:documentation>Static or dynamic next URI to transition to</xsd:documentation>
        </xsd:annotation>
        <xsd:attributeGroup ref="Next.attrib"/>
        <xsd:attributeGroup ref="Expr.attrib"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Name.attrib">
        <xsd:annotation>
            <xsd:documentation>Field variable name additional contraints: must be unique field name within form (2.3.1)</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="name" type="RestrictedVariableName.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Cond.attrib">
        <xsd:annotation>
            <xsd:documentation>Additional constraints: must evaluate to true or false</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="cond" type="Script.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Count.attrib">
        <xsd:annotation>
            <xsd:documentation/>
        </xsd:annotation>
        <xsd:attribute name="count" type="Integer.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="If.attribs">
        <xsd:attribute name="cond" type="Script.datatype" use="required"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="EventHandler.attribs">
        <xsd:annotation>
            <xsd:documentation>Attributes common to event handlers</xsd:documentation>
        </xsd:annotation>
        <xsd:attributeGroup ref="Count.attrib"/>
        <xsd:attributeGroup ref="Cond.attrib"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Form-item.attribs">
        <xsd:annotation>
            <xsd:documentation>Attributes common to form items</xsd:documentation>
        </xsd:annotation>
        <xsd:attributeGroup ref="Name.attrib"/>
        <xsd:attributeGroup ref="Cond.attrib"/>
        <xsd:attributeGroup ref="Expr.attrib"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="GrammarScope.attrib">
        <xsd:annotation>
            <xsd:documentation>Attributes common to form and menu</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="scope" type="GrammarScope.datatype" default="dialog"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Method.attrib">
        <xsd:annotation>
            <xsd:documentation>Attribute for data transport method</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="method" type="Method.datatype" default="get"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Enctype.attrib">
        <xsd:annotation>
            <xsd:documentation>Attribute for content encoding</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="enctype" type="ContentType.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="RestrictedNamelist.attrib">
        <xsd:annotation>
            <xsd:documentation>Attribute for encoding content</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="namelist" type="RestrictedVariableNames.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Namelist.attrib">
        <xsd:annotation>
            <xsd:documentation>Attribute for encoding content</xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="namelist" type="VariableNames.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Submit.attribs">
        <xsd:annotation>
            <xsd:documentation>Attributes for submit element (5.3.8)</xsd:documentation>
        </xsd:annotation>
        <xsd:attributeGroup ref="Method.attrib"/>
        <xsd:attributeGroup ref="Enctype.attrib"/>
        <xsd:attributeGroup ref="Namelist.attrib"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Prompt.attribs">
        <xsd:annotation>
            <xsd:documentation>Attributes for prompt, used in prompt element defined in synthesis namespace </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="bargein" type="Boolean.datatype"/>
        <xsd:attribute name="bargeintype" type="Bargeintype.datatype"/>
        <xsd:attributeGroup ref="Count.attrib"/>
        <xsd:attributeGroup ref="Cond.attrib"/>
        <xsd:attribute name="timeout" type="Duration.datatype"/>
    </xsd:attributeGroup>
    <xsd:attributeGroup name="Throw.attribs">
        <xsd:annotation>
            <xsd:documentation>Attributes associated with event
		throwing </xsd:documentation>
        </xsd:annotation>
        <xsd:attribute name="event" type="EventName.datatype"/>
        <xsd:attribute name="eventexpr" type="Script.datatype"/>
        <xsd:attribute name="message" type="xsd:string"/>
        <xsd:attribute name="messageexpr" type="Script.datatype"/>
    </xsd:attributeGroup>


  <xsd:attributeGroup name="VXMLGrammar.attribs">
    <xsd:annotation>
        <xsd:documentation>grammar attributes specific VoiceXML 2.1</xsd:documentation>
    </xsd:annotation>
            <xsd:attribute name="scope" type="GrammarScope.datatype"/>
            <xsd:attribute name="weight" type="xsd:string"/>
            <xsd:attributeGroup ref="Cache.attribs"/>
            <xsd:attribute name="src" type="URI.datatype"/>
            <xsd:attribute name="srcexpr" type="Script.datatype"/>
            <xsd:attribute name="type" type="xsd:string"/>
    </xsd:attributeGroup>

</xsd:schema>







