W3C home > Mailing lists > Public > public-xml-processing-model-comments@w3.org > May 2008

Re: a comment on p:declare-step and p:pipeline

From: Norman Walsh <ndw@nwalsh.com>
Date: Fri, 02 May 2008 09:35:27 -0400
To: public-xml-processing-model-comments@w3.org
Message-ID: <m2r6ckx200.fsf@nwalsh.com>
/ Vasil Rangelov <boen.robot@gmail.com> was heard to say:
| But I'm with you on this one. Using p:step seems more natural. I
| can't imagine if XSLT had xsl:declare-function or
| xsl:declare-template.

I'm with you on this one too, but the consensus of the WG is that these
are *declarations*, they aren't steps. And this is true:

   <p:declare-step type="p:xslt" xml:id="xslt">
      <p:input port="source" sequence="true" primary="true"/>
      <p:input port="stylesheet"/>
      <p:input port="parameters" kind="parameter"/>
      <p:output port="result" primary="true"/>
      <p:output port="secondary" sequence="true"/>
      <p:option name="initial-mode"/>
      <p:option name="template-name"/>
      <p:option name="output-base-uri"/>
      <p:option name="version"/>
   </p:declare-step>
  
is a declaration for all XSLT steps. It isn't, itself, a step you can
run.

For pipelines, it's easy to imagine that you actually *run the pipeline*
or *run the declare-step for the pipeline* but that's not really the case
either.

This point, coincidentally, was driven home to me yesterday by a
"concurrent modification exception" in my implementation. Because I didn't
cleanly separate the pipeline that I'm going to run from its declaration,
my attempt to compare the inputs and outputs to the *declared* inputs and
outputs wound up modifying the same list.

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | Why shouldn't things be largely absurd,
http://nwalsh.com/            | futile, and transitory? They are so,
                              | and we are so, and they and we go very
                              | well together.-- Santayana

Received on Friday, 2 May 2008 13:36:07 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 2 May 2008 13:36:08 GMT