<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:annotation>
<xsd:documentation>SSML 1.0 Core Schema 
        (20020222)</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>Copyright 1998-2002 W3C (MIT,
        INRIA, Keio), All Rights Reserved. Permission to use,
        copy, modify and distribute the SSML core 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:annotation>
<xsd:documentation>Importing dependent
        namespaces</xsd:documentation>
</xsd:annotation>
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
    schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xsd:annotation>
<xsd:documentation>General Datatypes</xsd:documentation>
</xsd:annotation>
<xsd:simpleType name="duration">
<xsd:annotation>
<xsd:documentation>Duration follows "Times" in
            CCS specification; e.g. "25ms", "3s"</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]+m?s"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="relative.change">
<xsd:annotation>
<xsd:documentation>Relative change: e.g. +10, -5.5,
            +15%, -9.0%</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[+-][0-9]+(.[0-9]+)?[%]?"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="relative.change.st">
<xsd:annotation>
<xsd:documentation>Relative change in semi-tones:
            e.g. +10st, -5st</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[+-]?[0-9]+st"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="height.scale">
<xsd:annotation>
<xsd:documentation>values for height
                   </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="high"/>
<xsd:enumeration value="medium"/>
<xsd:enumeration value="low"/>
<xsd:enumeration value="default"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="number.range">
<xsd:annotation>
<xsd:documentation>number range: e.g. 0-123, 23343-223333.
    No constraint that the second number is greater than the first.
    </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]+-.[0-9]+"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="speed.scale">
<xsd:annotation>
<xsd:documentation>values for speed
                     </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="fast"/>
<xsd:enumeration value="medium"/>
<xsd:enumeration value="slow"/>
<xsd:enumeration value="default"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="volume.scale">
<xsd:annotation>
<xsd:documentation>values for speed
                 </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="silent"/>
<xsd:enumeration value="soft"/>
<xsd:enumeration value="medium"/>
<xsd:enumeration value="loud"/>
<xsd:enumeration value="default"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="float.range1">
<xsd:annotation>
<xsd:documentation>0.0 - 100.0
            </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:float">
<xsd:minInclusive value="0.0"/>
<xsd:maxInclusive value="100.0"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Say-as.datatype">
<xsd:annotation>
<xsd:documentation>say-as datatypes
            </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="acronym"/>
<xsd:enumeration value="spell-out"/>
<xsd:enumeration value="number"/>
<xsd:enumeration value="number:ordinal"/>
<xsd:enumeration value="number:digits"/>
<xsd:enumeration value="number:cardinal"/>
<xsd:enumeration value="date"/>
<xsd:enumeration value="date:dmy"/>
<xsd:enumeration value="date:mdy"/>
<xsd:enumeration value="date:ymd"/>
<xsd:enumeration value="date:ym"/>
<xsd:enumeration value="date:my"/>
<xsd:enumeration value="date:md"/>
<xsd:enumeration value="date:y"/>
<xsd:enumeration value="date:m"/>
<xsd:enumeration value="date:d"/>
<xsd:enumeration value="time"/>
<xsd:enumeration value="time:hms"/>
<xsd:enumeration value="time:hm"/>
<xsd:enumeration value="time:h"/>
<xsd:enumeration value="duration"/>
<xsd:enumeration value="duration:hms"/>
<xsd:enumeration value="duration:hm"/>
<xsd:enumeration value="duration:ms"/>
<xsd:enumeration value="duration:h"/>
<xsd:enumeration value="duration:m"/>
<xsd:enumeration value="duration:s"/>
<xsd:enumeration value="currency"/>
<xsd:enumeration value="measure"/>
<xsd:enumeration value="name"/>
<xsd:enumeration value="net"/>
<xsd:enumeration value="net:email"/>
<xsd:enumeration value="net:uri"/>
<xsd:enumeration value="address"/>
<xsd:enumeration value="telephone"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:annotation>
<xsd:documentation>General attributes</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>Elements</xsd:documentation>
</xsd:annotation>
<xsd:element name="aws" abstract="true">
<xsd:annotation>
<xsd:documentation>The 'allowed-within-sentence'
            group uses this abstract element. Elements with aws as
            their substitution class are then alternatives for
            'allowed-within-sentence'.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:group name="allowed-within-sentence">
<xsd:choice>
<xsd:element ref="aws"/>
</xsd:choice>
</xsd:group>
<xsd:element name="struct" abstract="true"/>
<xsd:group name="structure">
<xsd:choice>
<xsd:element ref="struct"/>
</xsd:choice>
</xsd:group>
<xsd:element name="speak" type="speak"/>
<xsd:complexType name="speak" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="allowed-within-sentence"/>
<xsd:group ref="structure"/>
</xsd:choice>
<xsd:attribute name="version" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN"/>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute ref="xml:lang"/>
</xsd:complexType>
<xsd:element name="paragraph" type="paragraph"
    substitutionGroup="struct"/>
<xsd:element name="p" type="paragraph" substitutionGroup="struct"/>
<xsd:complexType name="paragraph" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="allowed-within-sentence"/>
<xsd:element ref="sentence"/>
<xsd:element ref="s"/>
</xsd:choice>
<xsd:attribute ref="xml:lang"/>
</xsd:complexType>
<xsd:element name="sentence" type="sentence"
    substitutionGroup="struct"/>
<xsd:element name="s" type="sentence" substitutionGroup="struct"/>
<xsd:complexType name="sentence" mixed="true">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="allowed-within-sentence"/>
</xsd:sequence>
<xsd:attribute ref="xml:lang"/>
</xsd:complexType>
<xsd:element name="voice" type="voice" substitutionGroup="aws"/>
<xsd:complexType name="voice" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="allowed-within-sentence"/>
<xsd:group ref="structure"/>
</xsd:choice>
<xsd:attribute name="gender">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="male"/>
<xsd:enumeration value="female"/>
<xsd:enumeration value="neutral"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="age" type="xsd:positiveInteger"/>
<xsd:attribute name="variant" type="xsd:integer"/>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute ref="xml:lang"/>
</xsd:complexType>
<xsd:element name="prosody" type="prosody" substitutionGroup="aws"/>
<xsd:complexType name="prosody" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="allowed-within-sentence"/>
<xsd:group ref="structure"/>
</xsd:choice>
<xsd:attribute name="pitch">
<xsd:simpleType>
<xsd:union memberTypes="xsd:positiveInteger
                relative.change relative.change.st height.scale"/>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="contour" type="xsd:string"/>
<xsd:attribute name="range">
<xsd:simpleType>
<xsd:union memberTypes="number.range
                relative.change relative.change.st height.scale"/>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="rate">
<xsd:simpleType>
<xsd:union memberTypes="xsd:positiveInteger
                relative.change speed.scale"/>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="duration" type="duration"/>
<xsd:attribute name="volume">
<xsd:simpleType>
<xsd:union memberTypes="float.range1
                relative.change volume.scale"/>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="audio" type="audio" substitutionGroup="aws"/>
<xsd:complexType name="audio" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="allowed-within-sentence"/>
<xsd:group ref="structure"/>
</xsd:choice>
<xsd:attribute name="src" type="xsd:anyURI"/>
</xsd:complexType>
<xsd:element name="emphasis" type="emphasis" substitutionGroup="aws"/>
<xsd:complexType name="emphasis" mixed="true">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="allowed-within-sentence"/>
</xsd:sequence>
<xsd:attribute name="level" default="moderate">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="strong"/>
<xsd:enumeration value="moderate"/>
<xsd:enumeration value="none"/>
<xsd:enumeration value="reduced"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
<xsd:element name="sub" type="sub" substitutionGroup="aws"/>
<xsd:complexType name="sub">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="alias" type="xsd:string"
                use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="say-as" type="say-as" substitutionGroup="aws"/>
<xsd:complexType name="say-as" mixed="true">
<xsd:attribute name="type" type="Say-as.datatype" use="required"/>
</xsd:complexType>
<xsd:element name="phoneme" type="phoneme" substitutionGroup="aws"/>
<xsd:complexType name="phoneme" mixed="true">
<xsd:attribute name="ph" type="xsd:string" use="required"/>
<xsd:attribute name="alphabet" type="xsd:string" default="ipa"/>
</xsd:complexType>
<xsd:element name="break" type="break" substitutionGroup="aws"/>
<xsd:complexType name="break">
<xsd:attribute name="size" default="medium">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="large"/>
<xsd:enumeration value="medium"/>
<xsd:enumeration value="small"/>
<xsd:enumeration value="none"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="time" type="duration"/>
</xsd:complexType>
<xsd:element name="mark" type="mark" substitutionGroup="aws"/>
<xsd:complexType name="mark" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:group ref="allowed-within-sentence"/>
<xsd:group ref="structure"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:ID" use="required"/>
</xsd:complexType>
</xsd:schema>
