- From: Dave Burke <david.burke@voxpilot.com>
- Date: Mon, 19 Aug 2002 21:25:21 +0100
- To: <www-voice@w3.org>
- Message-ID: <000a01c247be$8c06cf10$f700a8c0@lucifer>
Hi, I have recently noticed a number of issues with the XML schema strategy for VoiceXML 2.0 (20020424) and SRGS CR (20020626) and SSML WD (20020405). Obviously I have missed the LCWD call for comments by a considerable amount but did not notice any relevant CRs and think my comments could be of some benefit for a future draft. I must add the disclaimer that I only have limited Schema experience. In addition, I should note that the issues outlined below were provoked by attempting to use Java Xerces 1.4.4 (which only has beta Schema Recommendation support and is not necessarily a reference implementation - although in general I find the C++ and Java parsers excellent...). Hope this is of some use, Dave ----------------------------------------------------------------- David Burke BE MEngSc Chief Architect Voxpilot Ltd Quantum House Temple Road Blackrock, Co. Dublin Mobile: +353 86 6055086 Office: +353 1 2091922 email: david.burke@voxpilot.com ----------------------------------------------------------------- Issue 1 ======= + Synopsis: The files, grammar-adapter.xsd and synthesis-adapter.xsd, should not <include> the schemas they redefine. + Suggested solution: Remove - inclusion is implicit in the <redefine> element. Issue 2 ======= + Synopsis: The prefix vxml: is not required (and undefined) in grammar-adapter.xsd and synthesis-adapter.xsd + Suggested solution: Omit as it is implicit via the default xmlns in each of these documents. Issue 3 ======= + Synopsis: It *seems* the <redefine> element can only employ extension or restriction of base types - not both. + Suggested solution: Verify this to be true and maybe consider using a grammar-adapter-extension.xsd and grammar-adapter-restriction.xsd with vxml.xsd including the later, which in turn redefines a restiction the former, which in turn redefines an extension of grammar-core.xsd. Issue 4 ======= + Synopsis: <redefine> can only perform limited redefinition by extension or restriction. Specifically this means that omitting parent elements/attributes is not possible nor is loosening restrictions in redefined types. This affects, at least: - grammar-adapter.xsd attempt to make SRGS 'version' attribute to optional - not possible as it is not more restrictive than its base which is 'required' - synthesis-adapter.xsd attempt to use a union of types for the 'type' attribute of say-as - again not more restrictive + Suggested solution: Make base types more general - this might mean changing SRGS and SSML schemas. Issue 5 ======= + Synopsis: The grammar-adapter.xsd and synthesis-adapter.xsd files should start with the usual xml prolog. + Suggested solution: Add the XML prolog and use consistent encoding across all VBWG specifications e.g. VoiceXML 2.0 LCWD and SRGS CR use different encodings (UTF-8 and ISO-8859-1 respectively). Issue 6 ======= + Synopsis: In vxml.xsd the simpleType 'Boolean.datatype' uses enumeration with xsd:boolean, which is illegal. (ref. Section 2.1 W3C XML Schema Part 0: Primer) + Suggested solution: Use xsd:string and 'true' and 'false' enumerated values. Issue 7 ======= + Synopsis: In grammar-adapter.xsd 'grammar-header' and 'grammar-body' groups are undefined. + Suggested solution: Omit - not required if doing an <extension> or <restriction> of base grammar Issue 8 ======= + Synopsis: The <redefine> element must contain <extension> or <restriction> grandchildren. This is a problem with grammar-adapter.xsd and synthesis-adapter.xsd. (ref. Section 4.2.2 W3C XML Schema Part 1: Structures) + Suggested solution: Add <extension> or <restriction> as necessary. Issue 9 ======= + Synopsis: In vxml.xsd the anonymous complexType child of element should allow mixed content. Suggested solution: Add mixed="true"
Received on Monday, 19 August 2002 16:29:57 UTC