Lists Home |
Date Index |
- From: "Didier PH Martin" <firstname.lastname@example.org>
- To: "'XML Dev'" <email@example.com>, "Bill la Forge" <firstname.lastname@example.org>
- Date: Mon, 1 Mar 1999 10:31:00 -0500
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:
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
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:email@example.com
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:firstname.lastname@example.org the following message;
To subscribe to the digests, mailto:email@example.com the following message;
List coordinator, Henry Rzepa (mailto:firstname.lastname@example.org)