- From: David Scarratt <dscarratt@holly.com.au>
- Date: Wed, 18 Jan 2006 16:14:49 +1100
- To: www-voice@w3.org
The type 'RestrictedVariableName.datatype' in vxml-datatypes.xsd changed from being <xsd:restriction base="xsd:NMTOKEN"> </xsd:restriction> (the same as for VoiceXML 2.0) in the VoiceXML 2.1 20040728 working draft schema to <xsd:restriction base="xsd:token"> <xsd:pattern value="([a-zA-Z]|[a-zA-Z$][a-zA-Z0-9_$]*[a-zA-Z0-9_])"/> </xsd:restriction> in the VoiceXML 2.1 candidate recommendation schema, but I can find no comment about the change. It seems intended to implement some of the additional constraints listed in the accompanying 'xsd:documentation' section; but since the VoiceXML 2.0 specification indicates that "the variable naming convention is as in ECMAScript", which allows Unicode letters in names, while the new pattern apparently restricts variable names to a subset of ASCII, it breaks backwards compatibility. For example, the following document is a conforming VoiceXML 2.0 document, but the same document with "version='2.1'" (and correct schema location) would not be a conforming VoiceXML 2.1 document: <?xml version="1.0" encoding="iso8859-1"?> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/vxml http://www.w3.org/TR/voicexml20/vxml.xsd"> <var name="café"/> <form> <block>hello</block> </form> </vxml> Could someone clarify this for me? Thanks. -- David Scarratt Senior Engineer, Holly Connects david.scarratt@holly-connects.com
Received on Friday, 20 January 2006 08:19:03 UTC