All Downloads are FREE. Search and download functionalities are using the official Maven repository.

aSaxon-B-9-0-0-8sources.net.sf.saxon.instruct.package.html Maven / Gradle / Ivy

Go to download

The Apache Commons Codec package contains simple encoder and decoders for various formats such as Base64 and Hexadecimal. In addition to these widely used encoders and decoders, the codec package also maintains a collection of phonetic encoding utilities.

The newest version!



Package overview: net.sf.saxon.instruct






This package provides classes for the compiled representation of the various elements and other instructions found in an XSLT stylesheet. The same constructs are also used for evaluating similar constructs in XQuery, in particular, expressions that construct new nodes.

Instances of these classes are constructed when the stylesheet or query is compiled. In the case of XSLT, the objects representing the compile-time stylesheet (in package net.sf.saxon.style) can then be discarded and garbage-collected.

The most important class is Instruction, which represents an XSLT Instruction. In most cases these instructions have a one-to-one relationship with instructions in the original source XSLT stylesheet, and the names of the subclasses (for example ApplyImports, ApplyTemplates, Choose) reflect this.

In XSLT 1.0, XSLT instructions and XPath expressions were quite distinct, and were evaluated in different ways: XSLT instructions in "push" mode (they were described as "writing to the result tree"), and XPath expressions in "pull" mode (reading from the source tree). This distinction is no longer present in the XSLT 2.0 processing model, and the boundary between the Instruction and Expression classes is therefore a rather fuzzy one. Both instructions and expressions can now be evaluated in either push or pull mode. Flow-of-control constructs such as conditional expressions and FOR expressions are evaluated in either mode depending on their parent expression.


Michael H. Kay
Saxonica Limited
9 February 2005





© 2015 - 2024 Weber Informatics LLC | Privacy Policy