Generalize XProcScriptService to a ScriptService interface, i.e. remove all XProc specific things in the script/job API:
We make abstraction of the special file input and output options: these appear as input and output ports?
Temporary directory options and status ports are hidden.
Option names can not have a namespace.
The default values of options are strings, not XPath expressions.
The new ScriptInput interface is a generalization of XProcInput
which accepts any documents on input ports, not only XML,
and which does not support parameters.
Option values are a sequence of strings.
JobsResources is now an argument of ScriptInput, which verifies that the provided documents on the input ports exist.
Documents may also be provided as InputStream.
A new BoundScript.Builder class performs validation of the input (options and ports).
ScriptOption.getType() is exposed as a DatatypeService object (which can be directly used to validation option values).
The isMapping argument is removed from the API. (Mapping is performed if a JobResources object is supplied, otherwise not.)
XProcOutput is not part of the API anymore so users can not specify the destination of results at job creation time anymore. They are forced to use the JobResultSet API to get job results.
Remove some classes/interfaces from public API: XProcScriptParser, XProcScriptConstants.
XProcScriptService
to aScriptService
interface, i.e. remove all XProc specific things in the script/job API:ScriptInput
interface is a generalization ofXProcInput
JobsResources
is now an argument ofScriptInput
, which verifies that the provided documents on the input ports exist.InputStream
.BoundScript.Builder
class performs validation of the input (options and ports).ScriptOption.getType()
is exposed as aDatatypeService
object (which can be directly used to validation option values).isMapping
argument is removed from the API. (Mapping is performed if aJobResources
object is supplied, otherwise not.)XProcOutput
is not part of the API anymore so users can not specify the destination of results at job creation time anymore. They are forced to use theJobResultSet
API to get job results.XProcScriptParser
,XProcScriptConstants
.