|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Declaring the XML namespace
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 consistency. >> 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@m... | 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/ | +----------------------------------+---------------------------------+
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








