- From: Rick Jelliffe <rjelliffe@allette.com.au>
- Date: Mon, 20 Nov 2006 12:22:32 +1100 (EST)
- To: public-xml-processing-model-comments@w3.org
I think the new draft is an improvement, especially I prefer the simpler
names.
I think using the attribute name "port" is confusing: it adds an extra
concept where none is needed. Why not just call it "name", i.e. the name
of the input? That inputs and outputs and parameters are ports is a
distinction without a function: everyone knows what an input and an output
is already but people have to scratch their heads over ports; even scheme
people cannot be sure it maps to the scheme concept.
One possible suggestion: I wonder whether it would better to allow inputs
to be either small arrays or streams, or ZIP files containing related
multiple XML documents, as well as raw XML documents. I think our current
way of doing things, where for example we make a catalog a parameter of a
process rather than a parameter of an input, is wrong.
In other words, instead of simple XML pipelines, have Compound XML Pipelines.
Now in one sense this is already unnecessary: if all the information is
passed as a URL then the URL could just as easily be inside a ZIP as on a
disk. However, XProc doesn't pass by reference by (anonymous) value
AFAIKS.
As Norm would be painfully aware, a lot of the pain of processing XML
comes from the fact that XML documents are frequently parts of larger
collections: images, and so on. Not to mention the ODF and Open Packaging
Formats, which use ZIP.
Furthermore, most of the PSVI has no simple XML representation: either it
must be handled internally to a process (i.e. it is no use having a
separate process for validation) or it must be passed as a separate
document.
What do I mean by small arrays or streams? Well, define an input as a
stream like this:
<input name="instance">
<document name="schema" href="aaa.xsd"/>
<document name="catalog" />
<document name="instance" />
</input>
<input name="stylesheet" href="xxx.xsl" />
<output name="result">
<document name="schema" href="bbb.xsd" />
<document name="catalog" />
<document name="result" >
</output>
The availability of such arrays frees up the parameter inputs to be
only used for the parameters of the process. Also, it provides a natural
home for XBase and other contextual information: this can allow XML to
develop without requiring the XProc spec to be upgraded.
Cheers
Rick Jelliffe
Received on Monday, 20 November 2006 01:27:41 UTC