- From: Geert Bormans <geert@gbormans.telenet.be>
- Date: Wed, 14 Apr 2010 20:21:33 +0200
- To: Wendell Piez <wapiez@mulberrytech.com>
- Cc: xproc-dev@w3.org
>>In diagram form, the flow is like this: >> >>input1.xml -> A -> B -> C -> result1C.xml >>input2.xml -> A -> B -> C -> result2C.xml > >I meant, of course, result1C.xml + result2C.xml -> aggregate.xml > >>aggregate.xml -> D -> resultD.xml >> >>where A through D are all transformations. Untested, here is an XProc that implements that flow Using calabash, you need to bind the input files to the input ports and the output file to the output port If you don't want to do that, you can always use load and save <?xml version="1.0" encoding="UTF-8"?> <p:declare-step xmlns:p="http://www.w3.org/ns/xproc" xmlns:c="http://www.w3.org/ns/xproc-step" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:ext="urn:wendell:piez:xproc:extensions" name="ABCD"> <!-- *********** --> <!-- INPUT PORTS --> <!-- *********** --> <p:input port="input1" primary="true"/> <p:input port="input2" primary="false"/> <p:input kind="parameter" port="parameters" primary="true"/> <!-- ************ --> <!-- OUTPUT PORTS --> <!-- ************ --> <p:output port="resultD" primary="true"> <p:pipe step="special-metadata-pack" port="result"/> </p:output> <!-- serialization of the output --> <p:serialization port="resultD" indent="false" omit-xml-declaration="true"/> <!-- ********* --> <!-- SUB PIPES --> <!-- ********* --> <!-- ABC SUB PIPELINE --> <p:declare-step name="ABC" type="ext:abc"> <p:input port="source" primary="true"/> <p:output port="result" primary="true"/> <!-- note that I inherit automatically the parameters of the entire pipeline here --> <p:input port="parameters" kind="parameter" primary="true"/> <p:xslt version="2.0"> <p:input port="stylesheet"> <p:document href="XSLT/A.xsl"/> </p:input> </p:xslt> <p:xslt version="2.0"> <p:input port="stylesheet"> <p:document href="XSLT/B.xsl"/> </p:input> </p:xslt> <p:xslt version="2.0"> <p:input port="stylesheet"> <p:document href="XSLT/C.xsl"/> </p:input> </p:xslt> </p:declare-step> <!-- **** --> <!-- FLOW --> <!-- **** --> <ext:content-transformer name="result1C"> <p:input port="source"> <p:pipe port="input1" step="ABCD"></p:pipe> </p:input> </ext:content-transformer> <ext:content-transformer name="result2C"> <p:input port="source"> <p:pipe port="input2" step="ABCD"></p:pipe> </p:input> </ext:content-transformer> <p:pack wrapper="aggregate" name="aggregate"> <p:input port="source"> <p:pipe port="result" step="result1C"></p:pipe> </p:input> <p:input port="alternate"> <p:pipe port="result" step="result2C"></p:pipe> </p:input> </p:pack> <p:xslt version="2.0" name="special-metadata-pack"> <p:input port="source"> <p:pipe port="result" step="aggregate"></p:pipe> </p:input> <p:input port="stylesheet"> <p:document href="XSLT/D.xsl"/> </p:input> </p:xslt> </p:declare-step> cheers Geert
Received on Wednesday, 14 April 2010 18:22:06 UTC