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

Namespace Processing Hints and Rant on Scoping/Defaulting

  • From: David Megginson <david@m...>
  • To: XML Dev <xml-dev@i...>
  • Date: Tue, 11 Aug 1998 17:27:54 -0400

namespace scoping java
John Cowan writes:

 > Here's my take on it.  Suppose you have the fragment:
 > 
 > 	<foo:a>This is <b>mixed</b>content</foo:a>
 > 
 > where "foo" is not a previously declared prefix.  One must then consult
 > the DTD to see whether the element declaration for "foo:a" contains
 > a default (or fixed) value for the "xmlns:foo" attribute.  If not,
 > a namespace constraint has been violated.

No, the processing isn't that tricky if you think of these as layered
protocols:

Layer #1: The author writes the following:

  <foo:a>This is <b>mixed</b> content</foo:a>

Layer #2: XML parser checks for well-formedness/validity and supplies 
          default values:

  <foo:a xmlns:foo="http://www.foo.com">This is <b>mixed</b> content</foo:a>

Layer #3: The namespace processor interprets any special attributes:

  <http://www.foo.com/+a>This is <b>mixed</b> content</http://www.foo.com+a>

Layer #4: The application does something interesting with the result.


<Rant>

That said, I still really HATE the new declaration namespace syntax
and the scoping/defaulting, but for reasons other than the problem of
DTD validation: the whole thing reminds me too much of my first early
experiences with BASIC, assembly language, etc., when people were
writing giant, monolithic programs to avoid the supposed overhead of
function calls.  Today, some people want to build giant monolithic XML
documents to avoid the supposed overhead of multiple HTTP fetches.

I know that of which I speak, since embarrasingly recently I wrote the
original AElfred parser in a single Java class with similar excuses.
Now, every morning, I thank the higher deities that someone else has
to maintain the @#$%@#@ thing (at least I commented the code well).
SAX has lots of classes, and it's actually fun to maintain.

Don't write an entire C program in main(); don't write an entire Java
program in a single class; don't put all of your data into a single
SQL table; don't force all of your information into a single XML
document.  If people followed these guidelines, then local scoping and
defaulting of namespaces would be seen for the silly non-issues that
they are, and XML with namespaces would still be simpler than SGML.

</Rant>


All the best,


David

-- 
David Megginson                 david@m...
           http://www.megginson.com/

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.