Hi all,

After some work, the pipeline support prototype [1] has ended up as follows:

1. A XML pipeline is expressed as a W3C XProc [2] file with "xpl" extension.
For instance:

<p:pipeline xmlns:p="http://www.w3.org/ns/xproc";>

   <p:xslt>
       <p:input port="stylesheet">
           <p:document href="/xpl-sample/xsl/test-content.xslt"/>
</p:input>
  </p:xslt>


   <p:xslt>
      <p:input port="stylesheet">
          <p:document href="/xpl-sample/xsl/test-html.xslt"/>
      </p:input>
  </p:xslt>

</p:pipeline>

2. The pipeline (xpl file) is interpreted by a scripting engine named
"XProc" or  "XML pipeline processor".

3. The XProc script engine relies on Cocoon 3 Pipeline in order to setup and
execute the pipeline.

4. A Cocoon generator named SlingGenerator is responsible for preparing the
input data.

In order to get the initial XML for the pipeline, the generator tries to
resolve the current resource as:

* a XML file (adapting to InputStream)

* dynamically generated XML (using an inclusion procedure)

* the underlying node´s export document view

5. A Cocoon transformer named SlingTransformer is responsible for resolving
XSLT templates.

If you are agree with this approach, I´d like grabbing the stuff into trunk
after adding some unit testing.

The question is, where?, "bundles/scripting" or "contrib/scripting"?.

WDYT?.

BR,

Juanjo.

[1]
https://svn.apache.org/repos/asf/incubator/sling/whiteboard/jvazquez/org.apa
che.sling.scripting.xproc
[2] http://www.w3.org/TR/xproc/

Reply via email to