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

Recursion

From: Jeni Tennison <jeni@jenitennison.com>
Date: Mon, 25 Jun 2007 16:49:51 +0100
Message-ID: <467FE41F.1020507@jenitennison.com>
To: public-xml-processing-model-wg@w3.org


Do we or don't we allow recursion? That is, can I do:

<p:pipeline-library ...>

<p:pipeline name="pipe" type="my:multiple-transformation">
   <p:input port="source" default="yes" />
   <p:input port="stylesheets" sequence="yes" />
   <p:output port="result" />
   <p:count name="count">
     <p:input port="source">
       <p:pipe step="pipe" port="stylesheets" />
     </p:input>
   </p:count>
   <p:choose>
     <p:xpath-context>
       <p:pipe step="count" port="result" />
     </p:xpath-context>
     <p:when test=". > 0">
       <p:output port="result" />
       <p:subsequence name="get-first-stylesheet">
         <p:input port="source">
           <p:pipe step="pipe" port="stylesheets" />
         </p:input>
         <p:option name="test" value="position() = 1" />
       </p:subsequence>
       <p:subsequence name="get-remaining-stylesheets">
         <p:input port="source">
           <p:pipe step="pipe" port="stylesheets" />
         </p:input>
         <p:option name="test" value="position() > 1" />
       </p:subsequence>
       <p:xslt1 name="transform-source">
         <p:input port="source">
           <p:pipe step="pipe" port="source" />
         </p:input>
         <p:input port="stylesheet">
           <p:pipe step="get-first-stylesheet" port="result" />
         </p:input>
       </p:xslt1>
       <my:multiple-transformations name="transform-with-remaining">
         <p:input port="source">
           <p:pipe step="transform-source" port="result" />
         </p:input>
         <p:input port="stylesheets">
           <p:pipe step="get-remaining-stylesheets" port="result" />
         </p:input>
       </my:multiple-transformations>
     </p:when>
     <p:otherwise>
       <p:output port="result" />
       <p:identity>
         <p:pipe step="pipe" port="source" />
       </p:identity>
     </p:otherwise>
   </p:choose>
</p:pipeline>

</p:pipeline-library>

If not, where is that stated? If so, it would also be useful to have 
that explicitly mentioned, perhaps with an example.

Thanks,

Jeni
-- 
Jeni Tennison
http://www.jenitennison.com
Received on Monday, 25 June 2007 15:50:02 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:21:53 GMT