Re: What is passed between processes?

Robin Berjon wrote:
 >
 > On Jan 10, 2006, at 18:51, Norman Walsh wrote:
 >
 >> To the extent possible, I'd like the exact representation passed
 >> between processes to be an implementation detail. On the one hand, I
 >> think we'll get a lot of pushback if an implmentation that passes SAX
 >> events between components can't be conformant to our spec. On the
 >> other, implementations built around XPath2/XSLT2/XQuery are obviously
 >> going to want to pass XDM instances around and I want those to be
 >> conformant too.
 >
 >
 > Could this be addressed by requiring each component to specify its
 > preferred input and output types (sax, dom, xdm, xml, exi, etc. --  with
 > a requirement on all components to accept "xml") and coming up  with a
 > simple algorithm to pick the best input/output match at each  junction
 > (possibly also requiring that the implementation should  provide at
 > least certain adapters)?
 >
 > This makes it an implementation detail, but one for which preferences
 > can be expressed where components need to interoperate.

I would argue that such considerations are too low-level. I think that
none of the existing XML processing languages implementations I have
seen have so far implement something as complex as this type of
interface negociation. Rather, they decide on an information model
(XML infoset, SAX ContentHandler, etc.), and then on internal APIs
that support such an information model (SAX, DOM, custom,
etc.). Writing components against a particular implementation is
likely going to be done according to rules specific to that
implementation anyway, so you can require component writers to follow
your implementation's rules.

-Erik

Received on Tuesday, 10 January 2006 18:56:49 UTC