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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Namespace Processing Hints and Rant on Scoping/Defaulting

[ Lists Home | Date Index | Thread Index ]
  • From: David Megginson <david@megginson.com>
  • To: XML Dev <xml-dev@ic.ac.uk>
  • Date: Tue, 11 Aug 1998 17:27:54 -0400

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@megginson.com
           http://www.megginson.com/

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





 

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

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