Re: What is passed between processes?

> 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")

I'm not sure this requirement would be particularly useful.  Requiring
a component implemented as a Java class to accept serialized XML is
only useful for other Java pipelines that use the same API to create
an instance of the component and run it, and is no use at all to a
pipeline implemented in Python.  And if you've going so far as to
define the Java API, you might as well require a SAX interface.

At the high end of what might be done, I envisage that each component
type (XSLT, schema-validate, etc) would have a description of its
inputs, outputs, and parameters, and each component implementation
would have a description that points to its type description, and also
specifies the pipeline implementation types it works with (unix
pipeline, some agreed Java API, etc) and the input and output types it
supports (SAX, DOM, DOM with PSVI, plain XML, etc).

> 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)?

Yes, implementations could provide SAX-to-DOM adaptors and the like,
or they could use a component that did the conversion.

-- Richard

Received on Tuesday, 10 January 2006 20:29:12 UTC