Closed bertfrees closed 9 years ago
The concept of the Transform and TransformProvider plays a central role. The idea is that every (sub)conversion can be represented by a Transform instance, which can be "queried" from a Transform.Provider based on a set of features/properties. The new design allows that the initialization/configuration of a converter, the composition of (delegation to) subconverters, etc. can all happen in Java, while the actual conversion can be implemented in XProc/XSLT.
I try to limit the use of XProc to what it's good at, namely chaining together XML processing steps. In order to make the system more powerful, as much as possible of the control flow needs to be implemented in Java.