736 lines
33 KiB
XML
736 lines
33 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
SSML 1.1 (Core Profile) no-namespace Schema (20080823)
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
Copyright 1998-2008 W3C (MIT, ERCIM, 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>
|
|
IMS Amendments by Colin Smythe on 2015-04-26:
|
|
(1) Change the schema location of the namespace 'http://www.w3.org/XML/1998/namespace' to 'http://www.imsglobal.org/xsd/w3/2001/xml.xsd'
|
|
</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="../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]*\.)?[0-9]+(ms|s)"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
|
|
<xsd:simpleType name="number">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
number: e.g. 10, 5.5, 1.5, 9., .45
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:decimal">
|
|
<xsd:minInclusive value="0"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="relative">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
Modeled on number datatype: e.g. +4.5, -.45
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[+\-]([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="percent">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
Modeled on number datatype: e.g. +4.5%, -.45%
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[+\-]?([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)%"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="nonnegpercent">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
Modeled on number datatype: e.g. 4.5%, .45%
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)%"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="semitone">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
Modeled on relative datatype: e.g. +4.5st, -.45st
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[+\-]([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)st"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
|
|
<xsd:simpleType name="hertz.number">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
number Hertz: e.g. 10Hz, 5.5Hz, 1.5Hz,, 9.Hz,, .45Hz
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)Hz"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="hertz.relative">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
relative Hertz: e.g. +10Hz, -5.5Hz, +1.5Hz,
|
|
+9.Hz,+.45Hz
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="[+\-]([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)Hz"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="db.datatype">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
soundLevel and prosody volume: +/- N.N dB
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="(\+|-)?([0-9]*\.)?[0-9]+dB"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="height.scale">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
descriptive values for height
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="x-high"/>
|
|
<xsd:enumeration value="high"/>
|
|
<xsd:enumeration value="medium"/>
|
|
<xsd:enumeration value="low"/>
|
|
<xsd:enumeration value="x-low"/>
|
|
<xsd:enumeration value="default"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="speed.scale">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
descriptive values for speed
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="x-fast"/>
|
|
<xsd:enumeration value="fast"/>
|
|
<xsd:enumeration value="medium"/>
|
|
<xsd:enumeration value="slow"/>
|
|
<xsd:enumeration value="x-slow"/>
|
|
<xsd:enumeration value="default"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="volume.scale">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
descriptive values for volume
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="silent"/>
|
|
<xsd:enumeration value="x-soft"/>
|
|
<xsd:enumeration value="soft"/>
|
|
<xsd:enumeration value="medium"/>
|
|
<xsd:enumeration value="loud"/>
|
|
<xsd:enumeration value="x-loud"/>
|
|
<xsd:enumeration value="default"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="pitch.datatype">
|
|
<xsd:union memberTypes="hertz.number hertz.relative percent semitone height.scale"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="range.datatype">
|
|
<xsd:union memberTypes="hertz.number hertz.relative percent semitone height.scale"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="rate.datatype">
|
|
<xsd:union memberTypes="number nonnegpercent speed.scale"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="volume.datatype">
|
|
<xsd:union memberTypes="db.datatype volume.scale"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="contourpoint.datatype">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
(Number%,pitch.datatype)
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="\(([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)%,(([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)Hz|[+\-]([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)Hz|[+\-]?([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)%|[+\-]([0-9]+|[0-9]+.[0-9]*|[0-9]*.[0-9]+)st|x-high|high|medium|low|x-low|default)\)"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
|
|
<xsd:simpleType name="contour.datatype">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
list of whitespace separated contourpoints
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:list itemType="contourpoint.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="gender.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="male"/>
|
|
<xsd:enumeration value="female"/>
|
|
<xsd:enumeration value="neutral"/>
|
|
<xsd:enumeration value=""/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
|
|
<xsd:simpleType name="level.datatype">
|
|
<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:simpleType name="strength.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:enumeration value="none"/>
|
|
<xsd:enumeration value="x-weak"/>
|
|
<xsd:enumeration value="weak"/>
|
|
<xsd:enumeration value="medium"/>
|
|
<xsd:enumeration value="strong"/>
|
|
<xsd:enumeration value="x-strong"/>
|
|
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="version.datatype">
|
|
<xsd:restriction base="xsd:NMTOKEN"/>
|
|
</xsd:simpleType>
|
|
|
|
|
|
<xsd:simpleType name="voicename.datatype">
|
|
<xsd:restriction base="xsd:token">
|
|
<xsd:pattern value="\S+"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="voicenames.datatype">
|
|
<xsd:list itemType="voicename.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="name.datatype">
|
|
<xsd:union memberTypes="voicenames.datatype emptystring.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="alphabet.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="(ipa|x-.*)"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="onlangfailure.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="changevoice"/>
|
|
<xsd:pattern value="ignoretext"/>
|
|
<xsd:pattern value="ignorelang"/>
|
|
<xsd:pattern value="processorchoice"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
|
|
<xsd:simpleType name="role.datatype">
|
|
<xsd:list itemType="xsd:QName"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="timedesignation.datatype">
|
|
<xsd:annotation>
|
|
<xsd:documentation>
|
|
Time designation following Time in CSS2
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="(\+)?([0-9]*\.)?[0-9]+(ms|s)"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="emptystring.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:maxLength value="0"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="age.datatype">
|
|
<xsd:union memberTypes="xsd:nonNegativeInteger emptystring.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="variant.datatype">
|
|
<xsd:union memberTypes="xsd:positiveInteger emptystring.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="languages.datatype">
|
|
<xsd:union memberTypes="xsd:NMTOKENS emptystring.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="required.datatype">
|
|
<xsd:union memberTypes="requiredlist.datatype emptystring.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="requiredlist.datatype">
|
|
<xsd:list itemType="requireditem.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="requireditem.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="name"/>
|
|
<xsd:pattern value="languages"/>
|
|
<xsd:pattern value="gender"/>
|
|
<xsd:pattern value="age"/>
|
|
<xsd:pattern value="variant"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="ordering.datatype">
|
|
<xsd:union memberTypes="orderinglist.datatype emptystring.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="orderinglist.datatype">
|
|
<xsd:list itemType="orderingitem.datatype"/>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="orderingitem.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="name"/>
|
|
<xsd:pattern value="languages"/>
|
|
<xsd:pattern value="gender"/>
|
|
<xsd:pattern value="age"/>
|
|
<xsd:pattern value="variant"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="onvoicefailure.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="priorityselect"/>
|
|
<xsd:pattern value="keepexisting"/>
|
|
<xsd:pattern value="processorchoice"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
|
|
<xsd:simpleType name="fetchhint.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="safe"/>
|
|
<xsd:pattern value="prefetch"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
<xsd:simpleType name="phonemetype.datatype">
|
|
<xsd:restriction base="xsd:string">
|
|
<xsd:pattern value="default"/>
|
|
<xsd:pattern value="ruby"/>
|
|
</xsd:restriction>
|
|
</xsd:simpleType>
|
|
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>Attributes and Groups</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:attributeGroup name="speak.attribs">
|
|
<xsd:attribute name="version" type="version.datatype"/>
|
|
<xsd:attribute ref="xml:lang"/>
|
|
<xsd:attribute ref="xml:base"/>
|
|
<xsd:attribute name="onlangfailure" type="onlangfailure.datatype"/>
|
|
<xsd:attribute name="startmark" type="xsd:token"/>
|
|
<xsd:attribute name="endmark" type="xsd:token"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:attributeGroup>
|
|
|
|
<xsd:annotation>
|
|
<xsd:documentation>Content Models</xsd:documentation>
|
|
</xsd:annotation>
|
|
|
|
<xsd:group name="allowed-within-sentence">
|
|
<xsd:choice>
|
|
<xsd:element ref="aws"/>
|
|
</xsd:choice>
|
|
</xsd:group>
|
|
|
|
|
|
<xsd:group name="paragraph.class">
|
|
<xsd:sequence>
|
|
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:group ref="allowed-within-sentence"/>
|
|
<xsd:element ref="s"/>
|
|
<xsd:element ref="lookup"/>
|
|
<xsd:any namespace="##other" processContents="lax"/>
|
|
</xsd:choice>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="sentence.class">
|
|
<xsd:choice>
|
|
<xsd:group ref="allowed-within-sentence"/>
|
|
<xsd:element ref="lookup"/>
|
|
<xsd:any namespace="##other" processContents="lax"/>
|
|
</xsd:choice>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="sentenceAndStructure.class">
|
|
<xsd:choice>
|
|
<xsd:group ref="allowed-within-sentence"/>
|
|
<xsd:group ref="structure"/>
|
|
<xsd:element ref="lookup"/>
|
|
</xsd:choice>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="descAndSentenceAndStructure.class">
|
|
<xsd:choice>
|
|
<xsd:group ref="sentenceAndStructure.class"/>
|
|
<xsd:element ref="desc"/>
|
|
<xsd:any namespace="##other" processContents="lax"/>
|
|
</xsd:choice>
|
|
</xsd:group>
|
|
|
|
<xsd:group name="speak.class">
|
|
<xsd:sequence>
|
|
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:element name="meta" type="ssml-meta"/>
|
|
<xsd:element name="metadata" type="ssml-metadata"/>
|
|
<xsd:element name="lexicon" type="ssml-lexicon"/>
|
|
<xsd:any namespace="##other" processContents="lax"/>
|
|
</xsd:choice>
|
|
<xsd:sequence minOccurs="0">
|
|
<xsd:group ref="sentenceAndStructure.class"/>
|
|
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:group ref="sentenceAndStructure.class"/>
|
|
<xsd:any namespace="##other" processContents="lax"/>
|
|
</xsd:choice>
|
|
</xsd:sequence>
|
|
</xsd:sequence>
|
|
</xsd:group>
|
|
|
|
<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.
|
|
</xsd:documentation>
|
|
</xsd:annotation>
|
|
</xsd:element>
|
|
|
|
<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:group ref="speak.class"/>
|
|
<xsd:attributeGroup ref="speak.attribs"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="p" type="paragraph" substitutionGroup="struct"/>
|
|
|
|
<xsd:complexType name="paragraph" mixed="true">
|
|
<xsd:group ref="paragraph.class"/>
|
|
<xsd:attribute ref="xml:lang"/>
|
|
<xsd:attribute ref="xml:id"/>
|
|
<xsd:attribute name="onlangfailure" type="onlangfailure.datatype"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="s" type="sentence" substitutionGroup="struct"/>
|
|
<xsd:complexType name="sentence" mixed="true">
|
|
<xsd:group ref="sentence.class" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:attribute ref="xml:lang"/>
|
|
<xsd:attribute ref="xml:id"/>
|
|
<xsd:attribute name="onlangfailure" type="onlangfailure.datatype"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
<xsd:element name="token" type="tokenType" substitutionGroup="aws"/>
|
|
<xsd:element name="w" type="tokenType" substitutionGroup="aws"/>
|
|
|
|
<xsd:complexType name="tokenType" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:element ref="audio"/>
|
|
<xsd:element ref="break"/>
|
|
<xsd:element ref="emphasis"/>
|
|
<xsd:element ref="mark"/>
|
|
<xsd:element ref="phoneme"/>
|
|
<xsd:element ref="prosody"/>
|
|
<xsd:element ref="say-as"/>
|
|
<xsd:element ref="sub"/>
|
|
<xsd:element ref="voice"/>
|
|
<xsd:any namespace="##other" processContents="lax"/>
|
|
</xsd:choice>
|
|
</xsd:sequence>
|
|
<xsd:attribute ref="xml:id"/>
|
|
<xsd:attribute ref="xml:lang"/>
|
|
<xsd:attribute name="onlangfailure" type="onlangfailure.datatype"/>
|
|
<xsd:attribute name="role" type="role.datatype"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="voice" type="voice" substitutionGroup="aws"/>
|
|
|
|
<xsd:complexType name="voice" mixed="true">
|
|
<xsd:group ref="sentenceAndStructure.class" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:attribute name="gender" type="gender.datatype"/>
|
|
<xsd:attribute name="age" type="age.datatype"/>
|
|
<xsd:attribute name="variant" type="variant.datatype"/>
|
|
<xsd:attribute name="name" type="name.datatype"/>
|
|
<xsd:attribute name="languages" type="languages.datatype"/>
|
|
<xsd:attribute name="required" type="required.datatype" default="languages"/>
|
|
<xsd:attribute name="ordering" type="ordering.datatype" default="languages"/>
|
|
<xsd:attribute name="onvoicefailure" type="onvoicefailure.datatype" default="priorityselect"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="prosody" type="prosody" substitutionGroup="aws"/>
|
|
<xsd:complexType name="prosody" mixed="true">
|
|
<xsd:group ref="sentenceAndStructure.class" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:attribute name="pitch" type="pitch.datatype"/>
|
|
<xsd:attribute name="contour" type="contour.datatype"/>
|
|
<xsd:attribute name="range" type="range.datatype"/>
|
|
<xsd:attribute name="rate" type="rate.datatype"/>
|
|
<xsd:attribute name="duration" type="duration"/>
|
|
<xsd:attribute name="volume" type="volume.datatype" default="+0.0dB"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="audio" type="audio" substitutionGroup="aws"/>
|
|
|
|
<xsd:complexType name="audio" mixed="true">
|
|
<xsd:group ref="descAndSentenceAndStructure.class" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:attribute name="src" type="xsd:anyURI"/>
|
|
<xsd:attribute name="fetchtimeout" type="timedesignation.datatype"/>
|
|
<xsd:attribute name="fetchhint" type="fetchhint.datatype" default="prefetch"/>
|
|
<xsd:attribute name="maxage" type="xsd:nonNegativeInteger"/>
|
|
<xsd:attribute name="maxstale" type="xsd:nonNegativeInteger"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="desc" type="desc"/>
|
|
|
|
<xsd:complexType name="desc" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute ref="xml:lang"/>
|
|
<xsd:attribute name="onlangfailure" type="onlangfailure.datatype"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="emphasis" type="emphasis" substitutionGroup="aws"/>
|
|
<xsd:complexType name="emphasis" mixed="true">
|
|
<xsd:group ref="sentence.class" minOccurs="0" maxOccurs="unbounded"/>
|
|
<xsd:attribute name="level" type="level.datatype" default="moderate"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="sub" type="sub" substitutionGroup="aws"/>
|
|
|
|
<xsd:complexType name="sub" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="alias" type="xsd:string" use="required"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
|
|
<xsd:element name="say-as" type="say-as" substitutionGroup="aws"/>
|
|
<xsd:complexType name="say-as" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="interpret-as" type="xsd:NMTOKEN" use="required"/>
|
|
<xsd:attribute name="format" type="xsd:NMTOKEN"/>
|
|
<xsd:attribute name="detail" type="xsd:NMTOKEN"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="phoneme" type="phoneme" substitutionGroup="aws"/>
|
|
<xsd:complexType name="phoneme" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="ph" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="alphabet" type="alphabet.datatype"/>
|
|
<xsd:attribute name="type" type="phonemetype.datatype" default="default"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="break" type="break" substitutionGroup="aws"/>
|
|
<xsd:complexType name="break">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="time" type="duration"/>
|
|
<xsd:attribute name="strength" type="strength.datatype" default="medium"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="mark" type="mark" substitutionGroup="aws"/>
|
|
<xsd:complexType name="mark">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="name" type="xsd:token"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="ssml-metadata">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:anyAttribute namespace="##any" processContents="strict"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="ssml-meta">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="name" type="xsd:NMTOKEN"/>
|
|
<xsd:attribute name="content" type="xsd:string" use="required"/>
|
|
<xsd:attribute name="http-equiv" type="xsd:NMTOKEN"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:complexType name="ssml-lexicon">
|
|
<xsd:sequence>
|
|
<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="uri" type="xsd:anyURI" use="required"/>
|
|
<xsd:attribute ref="xml:id" use="required"/>
|
|
<xsd:attribute name="type" type="xsd:string" default="application/pls+xml"/>
|
|
<xsd:attribute name="fetchtimeout" type="timedesignation.datatype"/>
|
|
<xsd:attribute name="maxage" type="xsd:nonNegativeInteger"/>
|
|
<xsd:attribute name="maxstale" type="xsd:nonNegativeInteger"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
<xsd:element name="lookup" type="lookupType"/>
|
|
|
|
<xsd:complexType name="lookupType" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:element ref="audio"/>
|
|
<xsd:element ref="break"/>
|
|
<xsd:element ref="emphasis"/>
|
|
<xsd:element ref="lang"/>
|
|
<xsd:element ref="lookup"/>
|
|
<xsd:element ref="mark"/>
|
|
<xsd:element ref="p"/>
|
|
<xsd:element ref="phoneme"/>
|
|
<xsd:element ref="prosody"/>
|
|
<xsd:element ref="say-as"/>
|
|
<xsd:element ref="sub"/>
|
|
<xsd:element ref="s"/>
|
|
<xsd:element ref="token"/>
|
|
<xsd:element ref="voice"/>
|
|
<xsd:element ref="w"/>
|
|
<xsd:any namespace="##other" processContents="lax"/>
|
|
</xsd:choice>
|
|
</xsd:sequence>
|
|
<xsd:attribute name="ref" type="xsd:IDREF" use="required"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
|
|
<xsd:element name="lang" type="langType" substitutionGroup="aws"/>
|
|
|
|
<xsd:complexType name="langType" mixed="true">
|
|
<xsd:sequence>
|
|
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xsd:element ref="audio"/>
|
|
<xsd:element ref="break"/>
|
|
<xsd:element ref="emphasis"/>
|
|
<xsd:element ref="lang"/>
|
|
<xsd:element ref="lookup"/>
|
|
<xsd:element ref="mark"/>
|
|
<xsd:element ref="p"/>
|
|
<xsd:element ref="phoneme"/>
|
|
<xsd:element ref="prosody"/>
|
|
<xsd:element ref="say-as"/>
|
|
<xsd:element ref="sub"/>
|
|
<xsd:element ref="s"/>
|
|
<xsd:element ref="token"/>
|
|
<xsd:element ref="voice"/>
|
|
<xsd:element ref="w"/>
|
|
<xsd:any namespace="##other" processContents="lax"/>
|
|
</xsd:choice>
|
|
</xsd:sequence>
|
|
<xsd:attribute ref="xml:lang" use="required"/>
|
|
<xsd:attribute name="onlangfailure" type="onlangfailure.datatype"/>
|
|
<xsd:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xsd:complexType>
|
|
|
|
|
|
|
|
</xsd:schema>
|