The Peace Process: DOM and namespaces...
Tyler Baker
tyler at infinet.com
Thu Feb 11 12:49:17 GMT 1999
David Megginson wrote:
> Tyler Baker writes:
>
> > The DOM has an unstated implication that it reflects a valid XML
> > document. If you make a call to getNodeName() on an Element node,
> > it is expected to return a valid XML name.
>
> Perhaps, but a violation of an 'unstated implication' can hardly make
> something illegal (Tyler's original claim) -- what Tyler actually
> seems to be suggesting is that expanding QNames in the DOM goes
> against the original spirit of the API, not against the letter.
True. A clarification how how much leeway the application developer has on these matters
would be something that might be in order for DOM Level 1 Errata.
> > > The physical representation of an XML document (as defined by XML 1.0)
> > > is not allowed to have characters like '/' and '@' in element and
> > > attribute name, but the DOM is not a physical representation; it is an
> > > API providing access to one view of a document's information set, and
> > > as such, it is not governed by the Name production in XML 1.0.
>
> > This is one way of looking at it. But this is not clear and there
> > is no mechanism defined to tell an application whether the DOM is
> > using these illegal names or not. If you write the DOM Document
> > back out to XML, you are writing out illegal names because you
> > don't know if you are writing out prefixes + local part or
> > namespace + local part.
>
> You gotta check anyway -- what if someone's HTML DOM implementation
> were allowing names with illegal letters? Presumably, however, you
> have turned on namespace munging somewhere in your DOMBuilder (however
> that works), so you know what you're getting. Namespace munging
> should *never* take place by default for vanilla XML 1.0 processing
> (in Expat, for example, it is a user-configurable option, and for SAX
> 1.0, it is handled by third-party filters [which are surprisingly easy
> to write]).
Yah this is another issue which makes me think that splitting XML 1.0 and XML 1.0 with
"Namespaces in XML" into two separate data type entities would be a good thing for the XML
community.
> > > The XML 1.0 spec does not even require processors to report element
> > > names, so in terms of conformance, anything goes kids.
> >
> > How is anyone supposed to reliably build any sort of architecture
> > on XML if everything is this ambiguous.
>
> We're working on it, but you'd be surprised by what you can do even
> with partial specs. XML 1.0 defines the physical representation of a
> document as a string of characters; the DOM defines an API into
> structured information, such as XML and HTML documents. There is a WG
> right now working on the XML Information Set, which will provide some
> glue between the two -- I'll keep everyone posted.
This looks nice. I agree keep things as abstract as you can as long as you don't leave any
gaping holes that cause major side effects elsewhere.
Tyler
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
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 at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list