[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [xml-dev] RE: Namespaces Best Practice
- From: "Simon St.Laurent" <simonstl@simonstl.com>
- To: xml-dev@lists.xml.org
- Date: Wed, 19 Sep 2001 14:04:25 -0400
At 10:43 AM 9/19/2001 -0700, Joe English wrote:
>I think that any sensible Infoset implementation wouldn't
>actually allocate storage for each namespace node.
>Instead, it would synthesize a list of namespace nodes from
>the in-scope namespace declaration nodes on demand.
I'm working on this right now in a generic XML-handling framework, and it's
not an easy problem to solve. Preserving namespace nodes from the original
document is handy because:
a) it preserves the original document structure, when that's valued
b) it tends to reduce the number of times a namespace is declared over the
course of a document. (unless, of course, the creator of the document was
deliberately perverse.)
Synthesizing lists is useful because:
a) it reduces the amount of storage needed overall
b) it makes it much simpler to chop pieces out of documents and reuse them
elsewhere.
The problem I'm finding is that synthesizing lists efficiently is
hard. I've tolerated the results in things like David Megginson's (very
useful) XML Writer classes, but I tend to wind up with many more namespace
declarations than I wanted.
I'm still looking for efficient approaches to managing namespace context
and declaration generation, and haven't yet found something I'm happy
with. (I've only been addressing the problem directly for about a month,
so maybe I just haven't figured it out yet.)
The xmlns or xmlns:prefix approach has also made things more complicated
than I thought they'd be, but I'm past most of that.
Simon St.Laurent
Associate Editor
O'Reilly & Associates, Inc.