- 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 UTC