OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Declaring the XML namespace

[ Lists Home | Date Index | Thread Index ]

At 4:41 PM +0200 7/11/02, james anderson wrote:

>This quandry is an unfortunate artifact of the SAX interface.
>Isn't it better to try to report as closely as possible those things 
>which were encoded?
>If one neglects this principle, what happens when one reserializes a document
>which did not contain an encoding feature for which an event was 
>fabricated? for
>example the xmlns:xml='xxx' declaration. Perhaps the serialization code would
>suppress the encoding.
>>                                                      If the
>>  prefix is used and there is no declaration, the namespace should be reported
>>  anyway.
>Wouldn't the better behaviour be to report the respective names as if the
>namespace had been declared.

This is really an issue for discussion during the development of SAX 
2.0 in 1999. Now in 2002, the issue is no longer open. The existing 
solution works. It is more important not to change the behavior than 
to make a breaking change that might at best marginally improve 

>>          If an incorrect namespace were used, what would be the right error
>>  behavior?

This is a little tricky. SAXX is unclear on this point. The parser 
should report either a fatal error or an error. I've seen both 
behaviors. In essence, it should do the same thing it does with any 
other namespace error.

>Is there actually anything in the spec which precludes rebinding "xml"?

Yes. "The prefix xml is by definition bound to the namespace name 
http://www.w3.org/XML/1998/namespace"; The words "by definition" 
clearly indicate that documents can't change this. It does not say, 
"The prefix xml is initially bound to the namespace name 
http://www.w3.org/XML/1998/namespace";. Past discussions with the 
authors of the Namespaces spec also clearly indicate that this was 
there intent.

The XML Infoset spec is also clear on this point: "This set always 
contains an item with the prefix xml which is implicitly bound to the 
namespace name http://www.w3.org/XML/1998/namespace.";

DOM Level 2 Core also states, that a NAMESPACE_ERR is "Raised if the 
qualifiedName is malformed, if the qualifiedName has a prefix and the 
namespaceURI is null, or if the qualifiedName has a prefix that is 
'xml' and the namespaceURI is different from 
"http://www.w3.org/XML/1998/namespace"; [Namespaces]."

| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
|          XML in a  Nutshell, 2nd Edition (O'Reilly, 2002)          |
|              http://www.cafeconleche.org/books/xian2/              |
|  http://www.amazon.com/exec/obidos/ISBN%3D0596002920/cafeaulaitA/  |
|  Read Cafe au Lait for Java News:  http://www.cafeaulait.org/      |
|  Read Cafe con Leche for XML News: http://www.cafeconleche.org/    |


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS