Simple approaches to XML implementation
F. Chahuneau - AIS
fcha at Berger-Levrault.fr
Sun Mar 2 15:46:52 GMT 1997
[F. Chahuneau, 01 Mar 1997]
> >All in all, you can see that some design decisions in XML were precise=
ly
> >motivated by the desire to make an ESIS event stream sufficient to
> >implement an identity transformation, even with no access to DTD
> >information. This is, of course, totally consistent with the idea that=
>
> DTDs should not be systematically needed for processing XML fragments.
>
[Tim Bray Sat, 01 Mar 1997]
> Whereas I agree with the rest of Francois' contribution, this paragraph=
> is not quite right. If you change "ESIS event stream" to "Instance
> character stream", then it would be more correct. But in fact the
> SGML->SGML declaration was not one of our goals; for example, the
> processor is not required to tell the app about [at least] comments
> and <![CDATA[ sections. The XML spec says *nothing* about the ESIS,
> merely, in a very abstract way, what the processor has to give the
> application.
>
(Hello, Tim)
I suspect we actually agree more than it seems, but I should not have use=
d
the term "identity transformation" without defining it first. My implicit=
definition was very minimal: being able to generate on the output side a=
n
instance which parses according to the same DTD as the instance on the
input side. As you know, not being able to detect EMPTY elements defeats =
this purpose, whereas not knowing whether an attribute was defaulted or
not, though it might be considered as an information loss, is not a probl=
em
according to this definition.
As many other SGML practicioners, I've never considered the fact that CDA=
TA
marked sections (or comments) would not be notified to be as important in=
practice as the previous problem. (From an abtsract point of view, marked=
sections can be seen as a packing scheme allowing to deliver several
"abstract trees" interleaved in a single file... and therefore are not
representable on a single abstract tree. (Maybe this means I have been
thinking in an XML-oriented framework even before it was formalized...
which is probably why I supported the idea so readily!)
Anyway, I will not pursue (at least not here) this dicusssion which
probably deviates from the main purpose of this list. I provided some
precise information about ESIS because the subject was raised, but it is=
clear that its only utility, in this discussion, is to serve as an exampl=
e
of a normalised "event-stream based" interface between a parser an
application, which could inspire more carefully designed interfaces in th=
e
same style. A tool such as Balise, in its communication with SP, requires=
more than ESIS...
The only important message, in all what I said in my previous e-mails, is=
my conviction that a useful API should provide both event-stream *and*
tree-manipulation paradigms. It is true, to some extent, that you can bui=
ld
one from the other, and that this could be done inside the application. B=
ut
implementing this duality *below* the API level offers big advantages, bo=
th
for maximum expressive power/flexibility ... and to avoid everybody to
reinvent the wheel.
[Peter Murray-Rust Sun, 02 Mar 1997 11:32:40]
> My own development depends to a significant extent on what API I can
> use after parsing.I want it to be very clearly separated, because I
> see a parser as being a 'bolt-in' tool rather than a component which
> drives the rest of the application. (Maybe this isn't possible, but it'=
s
> worth trying for).
This is indeed possible and, to my opinion, it's even required. This is =
how Balise is implemented, both with respect to both SP (the SGML parser =
module) and to its new XML "well-formed document scanner" module. The
parsing module should be able to operate in "slave mode", and this should=
be reflected at the API level (i.e. you need a primitive to trigger the
parsing of an SGML document or an XML fragment). This also means you need=
the parser to be reentrant. That was not the case with sgmls, but it was =
fixed with SP, and should not be too hard a requirement for the forthcomi=
ng
generation of XML parsers/scanners.
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_=
/
_/ Fran=E7ois CHAHUNEAU phone: [+33] 1 40 64 43 00 =
_/
_/ Directeur G=E9n=E9ral/General Manager =
_/
_/ AIS S.A. FAX: [+33] 1 40 64 43 10 _/
_/ 15-17 rue R=E9my Dumoncel email: fcha at ais.berger-levrault.fr _/
_/ 75014, Paris, FRANCE WWW: http://www.berger-levrault.fr _/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
xml-dev: A list for W3C XML Developers
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To unsubscribe, send to majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
List coordinator, Henry Rzepa (rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list