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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

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

[ Lists Home | Date Index | Thread Index ]
  • From: Tyler Baker <tyler@infinet.com>
  • To: James Clark <jjc@jclark.com>
  • Date: Thu, 11 Feb 1999 00:35:44 -0500

James Clark wrote:

> Rick Ross wrote:
>
> > the XSL working draft
> > specification requires  namespace support that apparently cannot be
> > implemented effectively if the primary input source is a dynamically built
> > DOM tree.
>
> I can't see this.
>
> Why can't you put a layer on top of the DOM that provides namespace
> processing? For example, you could have an NSNode object that points to
> the DOM Node and a set of prefix bindings (and probably a parent
> NSNode).   The NSNode objects will be temporary.  You wouldn't have to
> reparse the document, and you don't have to keep two trees in memory.
> You can also provide other things in this layer that help XSL
> performance such as document order comparison.

This is a familiar design model when you want to add functionality to a business object
without formally extending it.  I have looked into this myself, but it still poses problems,
namely you need to either build this entire map from iterating over the entire DOM tree and
writing code like this for every node in the document:  In other words, been there done that.

NamedNodeMap attributes = node.getAttributes();
if (attributes != null) {
  int length = attributes.getLength();
  Node attribute;
  String nodeName;
 for (int i = 0; i < length; i++) {
   attribute = attributes.item(i);
   nodeName = attribute.getNodeName();
    if (attribute.getNodeName().equals("xmlns")) {
      // Do namespace default processing
    }
    else if (attribute.getNodeName().startsWith("xmlns:") {
      // Do namespace processing
    }
  }
}

In terms of O notation (I hate to be academic here) that is N^2 plus the underlying cost of
string comparisons.  I cannot believe people see the obvious flaws with this approach.  It is
significant.

And you still need to reparse the entire document each time to safely create these bindings as
the source tree can mutate at any time.

Tyler


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