Re: XProc questions from my students

On Wed, May 20, 2009 at 12:17 AM, Costello, Roger L. <costello@mitre.org> wrote:
>
> Hi Folks,
>
> This week I am teaching a 3-day class on XProc. The students have asked several questions that I was unable to answer:
>
> 1. Why do some steps have a primary output port, while others do not? For example, why is p:store's result output port not primary?
>
in some circumstances, one will want to perform a step but do nothing
more with its output ... otherwise if all steps would have a primary
output port then you would be forced to use use p:sink when you want
to do nothing with a steps output. To oversimplify you could see this
as a choice between using and explicit or implicit p:sink ... in any
event, I think allowing steps to not have a primary output makes the
language easier to read by default.

> 2. Why is it an error to include p:output in an atomic step?

unsure of the question, there are plenty of atomic steps (take the
standard library) that have  p:output .... perhaps you are asking a
different question or a specific xproc processor question.

> 3. Are transactions possible? That is, is it possible to specify "The following steps must complete in entirety. If that's not possible then the state should be as it was before the steps started."
>

not built into the language, but you could imagine a variety of ways
to simulate ... a concrete example of what kind of transaction would
dictate the solution.

I think it was correct not to build such a concept into the core of
the language, but easy enough to implement using extensibility
mechanisms allowed for in the language.

hth, Jim Fuller


> Any insight into these will be much appreciated.
>
> /Roger
>

Received on Wednesday, 20 May 2009 07:11:25 UTC