comments on new draft

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