CCXML PR comments about schema and CCXML namespace

I think that the new CCXML schema should include a target namespace. Without the target namespace, the schema only validates unqualified elements in the ccxml document. But all the examples in the PR gives a default namespace, and so all elements are qualified.


http://www.w3.org/TR/xmlschema-0/#UndeclaredTNS:
> Element declarations from a schema with no target namespace validate unqualified elements in the instance document. That is, they validate elements for which no namespace qualification is provided by either an explicit prefix or by default (xmlns:).



The CCXML schema referenced in the PR also has the wrong text. The text refers to the URL of the old schema of the CR, but the underlying link is to the new schema of the PR.

http://www.w3.org/TR/2011/PR-ccxml-20110510/#schema
> The CCXML schema is located at http://www.w3.org/TR/2010/CR-ccxml-20100401/ccxml.xsd.

but the link points to the new schema at
 http://www.w3.org/TR/2011/PR-ccxml-20110510/ccxml.xsd


The new schema also declares an "elementFormDefault" for the CCXML schema. But there are no local elements declared, since all xsd:element declarations are children of the xsd:schema element, so it doesn't have much effect.


I think that the schema should be change like this:
Currently:
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

Should be:
> <xsd:schema xmlns="http://www.w3.org/2002/09/ccxml"
>             targetNamespace="http://www.w3.org/2002/09/ccxml"
>             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>             elementFormDefault="qualified">


The default namespace is set to the CCXML namespace, so that type references do not have to be qualified in the xsd declarations (such as "ECMAScript.expression" or "ccxml.version")

The target namespace is set to the CCXML namespace so that type definitions and element declarations will be placed in the CCXML namespace.

Received on Tuesday, 14 June 2011 00:44:11 UTC