[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Why SAX needs namespace support

  • From: Tim Bray <tbray@t...>
  • To: Tyler Baker <tyler@i...>, david@m...
  • Date: Tue, 26 Jan 1999 10:08:41 -0800

jamie anderson sax
At 12:19 PM 1/26/99 -0500, Tyler Baker wrote:
>Implementing namespaces in an XML parser is a trivial task, but dealing with
>namespaces at the application level is a totally different story, 
>especially with this namespaces scoping stuff.  How do you deal with 
>namespaces in the DOM?  

I don't expect to convince Tyler Baker that namespaces are
anything but an alien conspiracy, but I don't think it would be proper
to ignore his repeated assertions that namespace *scoping* somehow 
makes processing more difficult.  The scoping is purely a syntactic
mechanism in the XML document that can't possibly have any effect at
the DOM level.  The following two documents are namespace-equivalent:

<a xmlns:A='http://a.b.c'> | <a xmlns:A='http://a.b.c'  
                           |    xmlns:X='http://x.y.z'> 
  <b xmlns='http://a.b.c'> |   <A:b>
    <c/>                   |     <A:c/>
  </b>                     |   </A:b>
  <d xmlns='http://z.y.z'> |   <X:d>
    <A:e></A:e>            |     <A:e></A:e>
  </d>                     |   </X:d>
</a>                       | </a>

A namespace-aware parser, such as expat, makes this clear, allowing you
to ascertain that the element whose type is "e" is in the namespace
http://a.b.c.  True, the DOM is going to have to do something about this,
as in add one more method per element and attribute to store/update
its namespace.

But what on earth makes anyone think that namespaces would be scoped
in the DOM?  The scoping in XML files is purely a syntactic minimization
technique.  I.e., if I have a DOM tree modelling the document above
(surely everyone agrees that I get the same DOM tree from both
instances) and I go stick a new "f" element as a child of the 'e'
element, surely it makes no sense to put it in the either the a.b.c
or x.y.z namespaces auto-magically.  Among other things, it might
come from some entirely different namespace.

To put this another way, namespaces are merely a syntactic mechanism
to allow each element type and attribute name in a document to be
qualified by some URI.  The DOM should obviously preserve this 
information, but I can't see why it should be concerned with 
the syntactic sugar that was used to express it. -Tim

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.