- From: Norman Walsh <ndw@nwalsh.com>
- Date: Tue, 15 May 2007 07:17:56 -0400
- To: public-xml-processing-model-wg@w3.org
- Message-ID: <877iral4ij.fsf@nwalsh.com>
/ Alessandro Vernet <avernet@orbeon.com> was heard to say:
| On 5/14/07, Norman Walsh <ndw@nwalsh.com> wrote:
|> <p:matching-documents>
|> <p:input port="source">
|> <p:inline>
|> <odd/>
|> </p:inline>
|> <p:inline>
|> <even/>
|> </p:inline>
|> <p:inline>
|> <odd/>
|> </p:inline>
|> <p:inline>
|> <even/>
|> </p:inline>
|> <p:inline>
|> <odd/>
|> </p:inline>
|> </p:input>
|> <p:option name="test" value="$p:position mod 2 = 1"/>
|> </p:matching-documents>
|>
|> We added $p:position for this very case.
|
| This is a good use case, and I agree: in this case you want that
| information to be made available the 'test' XPath expression. I only
| feel I should insist on two points:
|
| 1) That we clearly specify for each component what is exposed to XPath
| expression evaluated by the component.
Absolutely.
| 2) That we use functions. Sorry, I can't help coming back to this once
| again: this example would IMHO be clearer if instead of $p:position we
| had document-position(). In this case a function does a better job
| than a variable at conveying that the value can be different depending
| on when that function is called by the step. And the name does a
| better job at describing what the function does.
Yes, now that I see the distinction more clearly between expressions
evaluated by the pipeline processor and expressions evaluated by steps
that need access to state from the pipeline processor, I think functions
are definitely the right answer.
I think it's much easier to explain that the function hooks back into
the pipeline processor and retrieves some state than it is to say that
the pipeline processor mutates a variable while the step is running.
Following Alessandro's lead, I propose
p:episode()
p:document-position()
p:index('stepname')
Be seeing you,
norm
--
Norman Walsh <ndw@nwalsh.com> | Do not try to live forever. You will
http://nwalsh.com/ | not succeed.--George Bernard Shaw
Received on Tuesday, 15 May 2007 11:18:06 UTC