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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Binary XML" proposals

Al Snell wrote:
> On Wed, 11 Apr 2001, Stephen D. Williams wrote:
> > Wrong, at least in my proposal (in progress).  Everyone is thinking too
> > narrowly here.  Creating an analogous hierarchy is only required when
> > you have extensive metadata or operational data that you explicitly
> > desire to be absent the main tree.  Even there, I have a 'DOM Delta'
> > solution that makes this cheap.
> I get the feeling your approach is more aimed at random access to XML
> files, while I am thinking of a stream format for networking - there are
> demands for both; random access formats can provide direct access to
> subsets of vast documents, but the creation of the index for this usually
> precludes streaming.

I'm trying to handle both efficiently, but random access IS my primary
focus.  I'm not just trying to avoid parsing, but to actually avoid
memory allocation, copying, loss of locality of reference, and all
setup/teardown processing when an XML object enters and leaves a
processing step.  This necessarily means that I have to encompass a full
read/write hierarchical collection capability (DOM, or JGL/STL like
capabilities, or a simplified digest of them both).  Some additional
capabilities have to be directly managed also: pointers (possibly
compatible with XPath, et al, possibly more functional), delta overlay,
and direct support for embedded binary data.  (In the latter case, the
XML 1.0 UTF8 equivalent could be quoted printable or base64.  Ideally,
used in a protocol, conversion to those equivalents would never be done
except for debugging purposes.)

Improving streaming is important too, although in practice I don't see
it being used often beyond printing, and I'm providing at least one way
to achieve it: streamed DOM(-like) Delta chunks.  These are partial XML
trees with enough information to properly append (in the case of
streams) or overlay (in the case of versioning or constant base/active
state situations).  I still have to work out how to signal
append/overlay mode, identifying tags and ranges in the case of
repetition, etc.

Simply generating a preparsed SAX stream doesn't satisfy most of my
constraints and isn't a big enough win, IMHO.

> > sdw
> >
> --
>                                Alaric B. Snell
>  http://www.alaric-snell.com/  http://RFC.net/  http://www.warhead.org.uk/
>    Any sufficiently advanced technology can be emulated in software

sdw@lig.net  http://sdw.st
Stephen D. Williams
43392 Wayside Cir,Ashburn,VA 20147-4622 703-724-0118W 703-995-0407Fax