Project

Profile

Help

How to connect?
Download (1.74 KB) Statistics
| Branch: | Tag: | Revision:

he / tags / 9.2.0.5 / hej / net / sf / saxon / instruct / package.html @ 90ee0d1a

1
<html>
2

    
3
<head>
4
<title>Package overview: net.sf.saxon.instruct</title>
5

    
6
</head>
7

    
8

    
9
<body>
10

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

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

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

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

    
33
<hr>
34

    
35
<p align="center"><i>Michael H. Kay<br/>
36
Saxonica Limited<br/>
37
9 February 2005</i></p>
38
</body>
39
</html>
(64-64/64)