RE: XProc questions from my students

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

I agree completely. A transaction in XProc can mean almost anything:
simple sequences of operations in memory or in one or more
(relational/XML) databases, or both, plus maybe communication with
external web services/apps, ... . Transaction control in many of these
scenarios is either impossible, or really difficult to implement
(two-phase commit, ...). In any case, it is almost always
implementation-defined.

Regards,
Vojtech

Received on Wednesday, 20 May 2009 10:31:07 UTC