the output document is an XML document.
the output document is a byte stream.
Operate at the inner document level:
renames elements or attributes without modifying the content
replaces elements or attributes
adds a new data element to the output stream at a specified point
removes an element or attribute (also known as pruning the input tree)
wraps elements with additional elements
changes the order of elements
They take the input document as a whole:
makes a verbatim copy of its input to the output
it takes two documents and compare them
execute a transform on the input file using a specified XSLT file
take a single XML document and split it into distinct documents
They are mainly introduced in XProc and help to handle the sequence of documents as a whole:
it takes a sequence of documents and counts them
makes a verbatim copy of its input sequence of documents to the output
takes a sequence of documents as input and routes them to different outputs depending on matching rules
takes a sequence of documents as input and wraps them into one or more documents
where a given transformation is executed if a condition is met while another transformation is executed otherwise
where a transformation is executed on each node of a node set selected from a document or a transformation is executed until a condition evaluates to false
where a document is fed to multiple transformations potentially happening in parallel
where multiple documents are aggregated into a single document
where failures in processing can result an alternate pipeline being processed