Extension functions

I think we've already concluded (in email, at least) that the
p:index() function isn't necessary. You can always use the position
function to get the loop index, store it in an option, and then refer
to that option.

Jeni has convinced me (at last :-) that it's not unreasonble to use
the standard XPath context function position() to represent the number
of a document in a sequence.

There was strong resistance to supporting last() because of its impact
on streaming, so I propose that we say that the context size is always
equal to the context position.

The last function we have is p:episode(). Given that its value is
constant throughout the evaluation of a pipeline, I'm inclined to say
that steps don't have to be able to evaluate this function. Users can
still make it available to steps by constructing it inside a select
expression at the pipeline level or by storing it in an option.

So it seems to me that we can say that the interface between a
pipeline and a step is that it configures the XPath context in a
particular way, exposing in-scope options as variable bindings and
establishing the position and size of the context. We don't have to
expose any extension functions to the steps.

Anyone disagree?

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | One must look for one thing only, to
http://nwalsh.com/            | find many.--Cesare Pavese

Received on Wednesday, 23 May 2007 16:42:18 UTC