- From: Norman Walsh <Norman.Walsh@Sun.COM>
- Date: Fri, 05 May 2006 09:45:52 -0400
- To: public-xml-processing-model-wg@w3.org
- Message-ID: <87lktgy48f.fsf@nwalsh.com>
Imagine that the following configuration is known to the engine: <p:pipelineConfig xmlns:p="http://xproc.org/ns/p"> <p:component name="p:pipeline"/> <p:component name="p:load"> <p:input name="stdin"/> <p:output name="stdout"/> </p:component> <p:component name="p:save"> <p:param name="href"/> <p:input name="stdin"/> </p:component> <p:component name="p:xslt10"> <p:input name="stdin"/> <p:input name="style"/> <p:output name="stdout"/> </p:component> </p:pipelineConfig> Then we can consider several possible syntaxes for a simple load/style/save pipeline: EXPLICIT-NAMES-EXPLICIT-STEPS <?xml version="1.0"?> <p:pipeline xmlns:p="http://xproc.org/ns/p"> <p:step name="p:load"> <p:input name="stdin" href="style.xsl"/> <p:output name="stdout" label="style"/> </p:step> <p:step name="p:load"> <p:input name="stdin" href="document.xml"/> <p:output name="stdout" label="doc"/> </p:step> <p:step name="p:xslt10"> <p:input name="stdin" ref="doc"/> <p:input name="style" ref="style"/> <p:output name="stdout" label="styled"/> </p:step> <p:step name="p:save"> <p:param name="href" value="output.html"/> <p:input name="stdin" ref="styled"/> </p:step> </p:pipeline> Or IMPLICIT-NAMES-EXPLICIT-STEPS <?xml version="1.0"?> <p:pipeline xmlns:p="http://xproc.org/ns/p"> <p:step name="p:load" xml:id="load-style"> <p:input name="stdin" href="style.xsl"/> </p:step> <p:step name="p:load" xml:id="load-doc"> <p:input name="stdin" href="document.xml"/> </p:step> <p:step name="p:xslt10" xml:id="style"> <p:input name="stdin" ref="#load-doc/stdout"/> <p:input name="style" ref="#load-style/stdout"/> </p:step> <p:step name="p:save"> <p:param name="href" value="output.html"/> <p:input name="stdin" ref="#style/stdout"/> </p:step> </p:pipeline> Or IMPLICIT-NAMES-IMPLICIT-STEPS <?xml version="1.0"?> <p:pipeline xmlns:p="http://xproc.org/ns/p"> <p:load xml:id="load-style"> <p:input name="stdin" href="style.xsl"/> </p:load> <p:load xml:id="load-doc"> <p:input name="stdin" href="document.xml"/> </p:load> <p:xslt10 xml:id="style"> <p:input name="stdin" ref="#load-doc/stdout"/> <p:input name="style" ref="#load-style/stdout"/> </p:xslt10> <p:save> <p:param name="href" value="output.html"/> <p:input name="stdin" ref="#style/stdout"/> </p:save> </p:pipeline> Or IMPLICT-NAMES-IMPLICIT-STEPS-IMPLICIT-IO <?xml version="1.0"?> <p:pipeline xmlns:p="http://xproc.org/ns/p"> <p:load xml:id="load-style"> <p:stdin href="style.xsl"/> </p:load> <p:load xml:id="load-doc"> <p:stdin href="document.xml"/> </p:load> <p:xslt10 xml:id="style"> <p:stdin ref="#load-doc/stdout"/> <p:style ref="#load-style/stdout"/> </p:xslt10> <p:save> <p:param name="href" value="output.html"/> <p:stdin ref="#style/stdout"/> </p:save> </p:pipeline> And I can imagine a few other combinations (explicit names/implicit I/O, for example). On the whole, I favor the more explicit options, but maybe there's something to be said for implicit names. Implicit steps and implicit I/O require less typing but they require the reader to know even more to make sense of the pipeline. Be seeing you, norm -- Norman Walsh XML Standards Architect Sun Microsystems, Inc.
Received on Friday, 5 May 2006 13:47:15 UTC