Lists Home |
Date Index |
- From: David Megginson <email@example.com>
- To: XML Dev <firstname.lastname@example.org>
- 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
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
<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.
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.
All the best,
David Megginson email@example.com
xml-dev: A list for W3C XML Developers. To post, mailto:firstname.lastname@example.org
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:email@example.com the following message;
To subscribe to the digests, mailto:firstname.lastname@example.org the following message;
List coordinator, Henry Rzepa (mailto:email@example.com)