- From: James Fuller <james.fuller.2007@gmail.com>
- Date: Wed, 20 May 2009 09:10:50 +0200
- To: "Costello, Roger L." <costello@mitre.org>
- Cc: "xproc-dev@w3.org" <xproc-dev@w3.org>
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