この付録が標準となる。
<?xml version="1.0" encoding="ISO-8859-1"?> <schema targetNamespace="http://www.w3.org/2001/06/grammar" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:t="http://www.w3.org/2001/06/grammar" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> <simpleType name="lang-list"> <restriction base="NMTOKENS"/> </simpleType> <simpleType name="tag"> <restriction base="string"/> </simpleType> <simpleType name="example"> <restriction base="string"/> </simpleType> <group name="rule-expansion"> <choice> <element name="token" type="t:token"/> <element name="ruleref" type="t:ruleref"/> <element name="item" type="t:item"/> <element name="one-of" type="t:one-of"/> <element name="tag" type="t:tag"/> </choice> </group> <complexType name="ruleref"> <attribute name="type" type="string"/> <attribute name="uri" type="anyURI"/> <attribute name="alias" type="string"/> <attribute name="special"> <simpleType> <restriction base="NMTOKEN"> <enumeration value="NULL"/> <enumeration value="VOID"/> <enumeration value="GARBAGE"/> </restriction> </simpleType> </attribute> <attribute name="lang-list" type="t:lang-list"/> </complexType> <complexType name="token" mixed="true"> <annotation> <documentation> does not expression the constraint that empty content is illegal </documentation> </annotation> <attribute name="lang-list" type="t:lang-list"/> </complexType> <complexType name="one-of"> <sequence minOccurs="0" maxOccurs="unbounded"> <element name="item" type="t:item"/> </sequence> <attribute name="lang-list" type="t:lang-list"/> </complexType> <complexType name="item" mixed="true"> <choice minOccurs="0" maxOccurs="unbounded"> <group ref="t:rule-expansion"/> </choice> <attribute name="repeat-prob"> <simpleType> <restriction base="float"> <minInclusive value="0.0"/> <maxInclusive value="1.0"/> <pattern value="[0-9]+(.[0-9]+)?"/> <pattern value="([0-9]+)?.[0-9]+"/> </restriction> </simpleType> </attribute> <attribute name="repeat"> <simpleType> <annotation> <documentation> does not expression the constraint in n-m that m must be greater than n </documentation> </annotation> <restriction base="string"> <pattern value="[0-9]+"/> <pattern value="[0-9]+-([0-9]+)?"/> <pattern value="([0-9]+)?-[0-9]+"/> </restriction> </simpleType> </attribute> <attribute name="weight"> <simpleType> <restriction base="float"> <minInclusive value="0.0"/> <pattern value="[0-9]+"/> <pattern value="([0-9]+)?.[0-9]+"/> </restriction> </simpleType> </attribute> </complexType> <complexType name="rule" mixed="true"> <choice minOccurs="0" maxOccurs="unbounded"> <group ref="t:rule-expansion"/> <element name="example" type="t:example"/> </choice> <attribute name="id" use="required"> <simpleType> <annotation> <documentation> does not expression the constraint that NULL VOID GARBAGE are illegal as \ rule name </documentation> </annotation> <restriction base="ID"> <pattern value="[^.:-]+"/> </restriction> </simpleType> </attribute> <attribute name="scope" default="private"> <simpleType> <restriction base="NMTOKEN"> <enumeration value="private"/> <enumeration value="public"/> </restriction> </simpleType> </attribute> </complexType> <complexType name="alias"> <attribute name="type" type="string"/> <attribute name="uri" type="anyURI" use="required"/> <attribute name="name" type="NMTOKEN" use="required"/> </complexType> <complexType name="lexicon"> <attribute name="uri" type="anyURI" use="required"/> </complexType> <complexType name="meta"> <attribute name="name" type="NMTOKEN"/> <attribute name="content" type="string" use="required"/> <attribute name="http-equiv" type="NMTOKEN"/> </complexType> <complexType name="grammar"> <choice minOccurs="0" maxOccurs="unbounded"> <element name="alias" type="t:alias"/> <element name="lexicon" type="t:lexicon"/> <element name="meta" type="t:meta"/> <element name="rule" type="t:rule"/> </choice> <attribute name="tag-format" type="string"/> <attribute name="version" type="NMTOKEN" use="required"/> <attribute ref="xml:lang"/> <attribute name="root"> <simpleType> <annotation> <documentation> does not expression the constraint that NULL VOID GARBAGE are illegal as \ rule name </documentation> </annotation> <restriction base="IDREF"> <pattern value="[^.:-]+"/> </restriction> </simpleType> </attribute> <attribute name="mode" default="voice"> <simpleType> <restriction base="NMTOKEN"> <enumeration value="voice"/> <enumeration value="dtmf"/> </restriction> </simpleType> </attribute> </complexType> <element name="grammar" type="t:grammar"/> </schema>