According to the specification:
"An XML Pipeline specifies a sequence of operations to be performed on a collection of XML input documents. Pipelines take zero or more XML documents as their input and produce zero or more XML documents as their output."Let's see how XProc can be used to generate an S1000D IETP from a collection of data modules. The process typically involves the following steps:
- Get the collection of applicable data modules to be included in the IETP by issuing a query (hopefully XQuery based) against the CSDB
- Include XML fragments using XInclude
- Validate data modules against S1000D XML Schemas
- Validate data modules against Schematron schemas
- Generate identifiers for elements that will be the targets for links
- Generate XLink attributes on elements that will be the sources of links
- Generate RDF or Dublin Core Metadata
- Transform the data modules from XML into HTML with XSLT
- Transform the data modules from XML into PDF using XSLT and XSL FO.
- p:xquery
- p:xinclude
- p:validate-relax-ng
- p:validate-xml-schema
- p:label-elements (with a unique xml:id)
- p:rename (renames elements, attributes, or processing-instruction targets)
- p:string-replace
- p:xslt2
- p:xsl-formatter
- p:for-each
- p:viewport
- p:choose
- p:group
- p:try/p:catch
3 comments:
Hi Joel!
Sure using XProc you can describe the process and have various possibilities to transform, validate and combine XML data.
However, I always wonder if it is not a question of tools I'm using for this? Do you want to use several different tools to do your XSLT transformation, validation and Relax-NG? Is there a single tool you can use for all what XProc supports?
There are tools that provide you with a parser, an XSLT engine, and even an XQuery processor all in one tool.
Your XProc implementation should allow you to configure any tool of your choice for executing the steps in the pipeline. This is easily done with Apache Maven XML POM files and the dependencies are even automatically downloaded to a local repository. Maven can bring in the dependencies of those dependencies as well(transitive dependencies).
To configure any tool I would like to use means the XProc processor needs to either know all tools or the processor provides a clever layer to map the options and parameters to the tools specific ones (if it supports them at all).
Seems we need some XML standard for XML tools configuration. :-)
Post a Comment