The options for the fn:transform
function fall (fairly neatly) into three
categories. Those relating to: the top-level stylesheet module or package; the
invocation method; and the transformation results. Note that the
vendor-options
may relate to any of these categories.
A combination of options is allowed if and only if it corresponds to a choice of column
from each of the following tables (there is one table per category described above). In
the tables, an option labelled with * means that it is required, otherwise it is
optional. The table column headings are used as a descriptive guide only. Combinations
of options that are not allowed raise an error (e.g. using package-version
with stylesheet-node
; template-params
with
initial-function
; initial-match-selection
with
initial-function
).
For XSLT 3.0 transformations:
Stylesheet/Package
* stylesheet-location | * stylesheet-node | * stylesheet-text | * package-name | * package-node | * package-location |
package-version | |||||
xslt-version | |||||
stylesheet-base-uri | |||||
stylesheet-params | |||||
cache | |||||
static-params | |||||
global-context-item |
Invocation
Apply Templates | Call Template | Function Call |
invocation:"apply-templates" | invocation:"call-template" | invocation:"function-call" |
* initial-match-selection | initial-template | * initial-function |
initial-mode | * function-params | |
template-params | ||
tunnel-params |
Transformation results
base-output-uri |
delivery-format |
serialization-params |
Other options (vendor-options
may relate to any of the above categories)
vendor-options |
For an XSLT 2.0 transformation, the first two tables can be simplified, to give the following corresponding tables:
Stylesheet
* stylesheet-location | * stylesheet-node | * stylesheet-text |
xslt-version | ||
stylesheet-base-uri | ||
stylesheet-params | ||
cache |
Invocation
Apply Templates | Call Template |
* source-node | * initial-template |
initial-mode | source-node |