## Package net.sf.saxon.instruct

This package provides classes for the compiled representation of the various elements and other instructions found in an XSLT stylesheet.

See:
Description

Interface Summary
Debugger: This interface may be implemented by an external debugging tool
TailCall: Interface representing a Tail Call.

Class Summary
AnalyzeString: An xsl:analyze-string elements in the stylesheet.
ApplyImports: An xsl:apply-imports element in the stylesheet
ApplyTemplates: An instruction representing an xsl:apply-templates element in the stylesheet
Assign: saxon:assign element in stylesheet.
Attribute: An instruction derived from an xsl:attribute element in stylesheet, or from an attribute constructor in XQuery
AttributeSet: The compiled form of an xsl:attribute-set element in the stylesheet.
Bindery: The Bindery class holds information about variables and their values.
Block: Implements an imaginary xsl:block instruction which simply evaluates its contents.
CallTemplate: Instruction representing an xsl:call-template element in the stylesheet.
Choose: Compiled representation of an xsl:choose or xsl:if element in the stylesheet.
Comment: An instruction representing an xsl:comment element in the stylesheet.
Copy: Handler for xsl:copy elements in stylesheet.
CopyOf: An xsl:copy-of element in the stylesheet.
DeferredError: This instruction throws an error which was detected at compile time but is not to be raised unless the instruction is actually executed.
Doctype: A saxon:doctype element in the stylesheet.
DocumentInstr: An instruction to create a document node.
DummyNamespaceResolver: A dummy namespace resolver used when validating QName-valued attributes written to the result tree.
Element: An instruction representing xsl:element element in the stylesheet.
ElementCreator: An instruction that creates an element node.
Executable: A compiled stylesheet in executable form.
ExtensionInstruction: Abstract class representing an extension instruction
FixedAttribute: An instruction derived from an xsl:attribute element in stylesheet, or from an attribute constructor in XQuery.
FixedElement: An instruction that creates an element node whose name is known statically.
ForEach: Handler for xsl:for-each elements in a stylesheet.
ForEachGroup: Handler for xsl:for-each-group elements in stylesheet.
GeneralVariable: This class defines common behaviour across xsl:variable, xsl:param, and xsl:with-param; also saxon:assign
GlobalParam: The compiled form of a global xsl:param element in the stylesheet or an external variable declared in the prolog of a Query.
GlobalVariable: Handler for global variables in a stylesheet or query.
Instruction: Abstract superclass for all instructions in the compiled stylesheet.
InstructionDetails: Details about an instruction, used when reporting errors and when tracing
InstructionWithChildren: Abstract superclass for all instructions in the compiled stylesheet that have child instructions.
LocalParam: The compiled form of an xsl:param element in the stylesheet or an external variable in a Query.
LocalVariable: Handler for local xsl:variable elements in stylesheet.
LocationMap: A LocationMap allocates integer codes to (systemId, lineNumber) pairs.
Message: An xsl:message element in the stylesheet.
Namespace: An xsl:namespace element in the stylesheet.
NamespaceContext: An object representing a list of Namespaces.
NextMatch: An xsl:next-match element in the stylesheet
NumberInstruction: An xsl:number element in the stylesheet.
Procedure: This object represents the compiled form of a user-written function, template, attribute-set, etc (the source can be either an XSLT stylesheet function or an XQuery function).
ProcessingInstruction: An xsl:processing-instruction element in the stylesheet.
RegexIterator: Class RegexIterator - provides an iterator over matched and unmatched substrings
ResultDocument: An xsl:result-document (formerly saxon:output) element in the stylesheet.
SimpleNodeConstructor: Common superclass for XSLT instructions whose content template produces a text value: xsl:attribute, xsl:comment, xsl:processing-instruction, xsl:namespace, and xsl:text
SlotManager: A SlotManager supports functions, templates, etc: specifically, any executable code that requires a stack frame containing local variables.
Template: An xsl:template element in the style sheet.
Text: Handler for xsl:text elements (and simple text nodes) in the stylesheet.
TraceExpression: A subclass of TraceWrapper used to trace expressions in XPath and XQuery.
TraceInstruction: A run-time instruction which wraps a real instruction and traces its entry and exit to the TraceListener
TraceWrapper: Created by IntelliJ IDEA.
UserFunction: This object represents the compiled form of a user-written function (the source can be either an XSLT stylesheet function or an XQuery function).
UserFunctionParameter: Run-time object representing a formal argument to a user-defined function
ValueOf: An xsl:value-of element in the stylesheet.
While: Handler for saxon:while elements in stylesheet.
WithParam: An instruction derived from a xsl:with-param element in the stylesheet.

Exception Summary
SkipInstructionException: This exception is thrown by code when execution of an instruction has failed, and the recovery action is to continue with the next instruction.
TerminationException: An exception thrown by xsl:message terminate="yes".

## Package net.sf.saxon.instruct Description

This package provides classes for the compiled representation of the various elements and other instructions found in an XSLT stylesheet.

Instances of these classes are constructed when the stylesheet is compiled. 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.

Michael H. Kay
20 September 2002