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


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: Streaming XML and SAX

[ Lists Home | Date Index | Thread Index ]
  • From: "Didier PH Martin" <martind@netfolder.com>
  • To: "'XML Dev'" <xml-dev@ic.ac.uk>, "Bill la Forge" <b.laforge@jxml.com>
  • Date: Mon, 1 Mar 1999 10:31:00 -0500

Hi Nathan,

It seems like something is backwards here!

If an application is processing a series of documents, once it has a
type name for that document (root element name + namespace), it knows how it
wants to process the document and doesn't need a Pi. (What's a Gi? Is that

Yes, obviously a document (or name it the way you want - I don't want to
argue about streams vs documents :-) may not have any PI, may not have any
name space reference. thus, only GI are then used as pattern match in this
case. Sorry I forget to precise the complete resolution mechanism which is
based on pattern match. thus, the router use this pattern match to dispatch
to the right interpreter. Element matched are:

a) PI
b) name space definition
c) Root GI

Any of these elements could be used as a pattern match. Yes a GI is part of
SGML and therefore part of XML. This is simply the element. In your example
it could be something like "vendor-id". So, because the interpreter is based
on a pattern matrch mechanism, everything that could be used for a pattern
match can work. Actually, we use the three elements mentionned above.

Also, you should be able to use the same parser for all document types and
then do
the routing on the parse events, saving you from having to do a "pre-parse"
determine the universal type name.

Glad to see we both agree on the same mechanism. This is axactly what we do.
The router mechanism is just a temporary interpreter included in the parser
to load/unload the interpreters. To be precise the mechanism is:
a)run the router as a special kind of interpreter
b)parse the document (always)
c) determine which interpreter to load then load it and let it run.
d) the interpreter run until the end of the document
e) at the end of the document: the router/interpreter is then loaded and run
again until a new interpreter is recognized.
f) got to a)
The parser is always the same, only the interpreters are loaded/run and the
router is just a special kind of interpreter. Do you have a more efficient
mechanism to suggest?

Didier PH Martin

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