- From: Roger L. Costello <costello@mitre.org>
- Date: Tue, 08 Feb 2000 08:02:10 -0500
- To: xml-dev@xml.org, www-xml-schema-comments@w3c.org
- CC: "Costello,Roger L." <costello@mitre.org>, "Schneider,John C." <jcs@mitre.org>, "Cokus,Michael S." <msc@mitre.org>
Hi Folks, In the XML Schema spec all the examples use a default namespace for the XML Schema vocabulary. For example, <schema xmlns="http://www.w3.org/1999/XMLSchema" ...> <element name="BookCatalogue"> ... </element> ... </schema> This example uses the XML Schema namespace as the default namespace. This meams, of course, that an XML Schema parser would then know that all non-qualified elements are from the XML Schema namespace. Thus, it would recognize "element" as a member of the XML Schema namespace. The XML Namespace document states (section 5.2 [1]) that attributes are not part of a default namespace, "Note that default namespaces do not apply directly to attributes." So, the "name" attribute above is not part of the XML Schema namespace. Matter of fact, "name" is in no namespace. I believe that it is an error for "name" to not be part of the XML Schema namespace. Right? We want an XML Schema parser to recognize "name" as being part of the XML Schema namespace. Right? Wouldn't it be better if, as is done in the XSLT spec, we don't use a default namespace and, instead, explicitly qualify all elements and attributes? Using such an approach, the above example can be recast as: <xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema" ...> <xsd:element xsd:name="BookCatalogue"> ... </xsd:element> ... </xsd:schema> With this approach it is clear that both "element" and "name" come from the XML Schema namespace. An additional (albeit small) benefit of explicitly qualifying everything is that the XML Schema spec would then be more consistent with the XSLT spec in terms of its examples not using a default namespace. Am I not understanding something? /Roger [1] http://www.w3.org/TR/REC-xml-names/
Received on Tuesday, 8 February 2000 08:00:22 UTC