W3C home > Mailing lists > Public > public-xml-processing-model-wg@w3.org > August 2006

An interesting pipeline

From: Norman Walsh <Norman.Walsh@Sun.COM>
Date: Mon, 21 Aug 2006 16:35:38 -0400
To: public-xml-processing-model-wg@w3.org
Message-ID: <87zmdxu8rp.fsf@nwalsh.com>
This is the pipeline that would be required to generate the language
spec as it stands. I think it's interesting because it demonstrates an
inclusion step that can't be done with XInclude and actually makes me
want a viewport :-)

The process is:

1. Validate the spec.
2. XInclude the spec.
3. Generate a glossary from the spec
4. Insert the glossary into the spec in the right place
5. Format the spec

<p:pipeline xmlns:p="http://www.w3.org/2006/08/pipeline"
<p:declare-input port="document"/>
<p:declare-output port="result" source="xform!result"/>

<p:step name="validate" component="p:validate-relax-ng">
  <p:input port="document" source="!document"/>

<p:step name="xinclude" component="p:xinclude">
  <p:input port="document" source="validate!result"/>

<p:step name="makeglossary" component="p:xslt">
  <p:input port="document" source="xinclude!result"/>
  <p:input port="stylesheet" href="style/makeglossary.xsl"/>

<p:viewport name="addgloss">
  <p:declare-input port="app" select="//db:appendix[@xml:id='references']"/>
  <p:declare-output port="addgloss" source="aggr!result"/>
  <p:step name="aggr" component="p:aggregate">
    <p:input port="refs" source="addgloss!app"/>
    <p:input port="gloss" source="makeglossary!result"/>

<p:step name="xform" component="p:xslt">
  <p:input port="document" source="addgloss!result"/>
  <p:input port="stylesheet" href="style/dbspec.xsl"/>


                                        Be seeing you,

Norman Walsh
XML Standards Architect
Sun Microsystems, Inc.

Received on Monday, 21 August 2006 20:35:34 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:32:40 UTC