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

Re: The Peace Process: DOM and namespaces...

  • From: Marcelo Cantos <marcelo@m...>
  • To: xml-dev@i...
  • Date: Fri, 12 Feb 1999 12:45:21 +1100

dom root
On Thu, Feb 11, 1999 at 05:44:18PM -0500, Tyler Baker wrote:
> Marcelo Cantos wrote:
> > 
> > As in expat:
> >
> >   <doc xmlns="www.simdb.com"><p>Hello world!</p></doc>
> >
> > becomes:
> >
> >   <ns0:doc xmlns:ns0="www.simdb.com"><ns0:p
> >   xmlns:ns0="www.simdb.com">Hello world!</ns0:p></ns0:p>
> >
> > Not sure why the second xmlns:ns0 is there.  Maybe it just makes
> > life easier on the user (no need to traverse the parents).
> >
> > Also not sure why the last close tag is </ns0:p>.  I guess that's
> > why my copy of expat came from the _test_ directory on James's FTP
> > site.  :-)
> 
> Well, then you no longer have the original document structure you
> had before but these archane prefixes in your document which make
> things completely unreadable from a users perspective.  I might as
> well just use Java Object Serialization only for serializing an
> object tree as it would be faster and be no less understandable to
> the end-user than all of this automatic prefix creation.

I guess my use of the term "user" made my post a little ambiguous.              
What I meant was "client of the parser", i.e. the person implementing           
a high-level API to the document.  The real end-user (the person                
clicking buttons on a browser, or integrator writing code in a                  
scripting language) never sees the internal representation of the               
document.  As far as I am concerned, the user never sees anything but           
the first version above.  The second is accessed by tools that give             
programmatic access to the data, such as a DOM interface.                       
                                                                                
As an example, the document above could be accessed like this:                  
                                                                                
  DOMDocument d("<doc xmlns=\"www.simdb.com\"><p>Hello
world!</p></doc>");      
  DOMNode root := d.root();                                                     
  String text := root.children("p", "www.simdb.com");                           
                                                                                
The user is completely oblivious to the background convolutions of              
using "archane prefixes".  This, of course, makes life hard on the              
implementor, but as a user, I couldn't care less, as long as my life            
is made easy.                                                                   
                                                                                
(The astute reader may observe that the transformed document above              
throws away the concept of a current namespace.  I think this is bad,           
since I would like to do this:                                                  
                                                                                
  String text := root.children("p");                                            
                                                                                
and have the root's namespace implied, just as it is in the document.           
This is more than a just a pedagogical grumble.  It has significant             
ramifications for code reuse.  I want to write a function that pulls            
apart a legal statute and presents it as an HTML document.  But I want          
that function to also work on a fragment that has been inserted into a          
larger document and wrapped up in a namespace.)                                 
                                                                                
                                                                                
Cheers,                                                                         
Marcelo                                                                         

-- 
http://www.simdb.com/~marcelo/

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/ and on CD-ROM/ISBN 981-02-3594-1
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.