Project

Profile

Help

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

he / latest9.3 / hej / net / sf / saxon / functions / package.html @ 377d5515

1
<html>
2

    
3
<head>
4
<title>Package overview for net.sf.saxon.functions</title>
5
</head>
6

    
7
<body>
8

    
9
<p>This package provides implementations of all the core functions available for use
10
in XPath expressions. This includes all the functions defined in the XPath 2.0
11
<i>Functions and Operators</i> specification, as well as the additional functions
12
defined for use in XSLT. The package also includes Saxon extension functions. Most
13
of these are in a single class <code>Extensions</code>, but some of the more
14
complex functions are in their own classes, for example <code>Evaluate</code> implements
15
<code>saxon:evaluate()</code>.</p>
16

    
17
<p>There is one class for group of closely-related functions. These all inherit from the class
18
net.sf.saxon.expr.Function. The class <code>StandardFunction</code> is used to map a function
19
name to its implementation; it contains tables of information describing the signature of each
20
function, so that the type-checking code is completely generic.</p>
21

    
22
<p>The package also contains machinery for defining user extension functions. A collection
23
of functions is represented by a <code>FunctionLibrary</code> object. There are several
24
standard function libraries available, covering core functions, Saxon extension functions
25
constructor functions, and user extension functions: each category is covered by a subclass
26
of <code>FunctionLibrary</code>, and there is also a <code>FunctionLibraryList</code> that
27
represents the total collection of functions in these individual libraries. The
28
<code>JavaExtensionLibrary</code> contains the logic for binding Java extension functions
29
given their name and arity and the types of their arguments. The class <code>ExtensionFunctionCall</code>
30
contains the run-time logic for converting XPath values to the required Java types, and for converting
31
the result back to an XPath value.</p>
32

    
33
<p>These classes, although public, will not normally be used directly by user-written
34
 Java applications.</p>
35

    
36

    
37
<hr>
38

    
39
<p align="center"><i>Michael H. Kay<br/>
40
Saxonica Limited<br/>
41
9 February 2005</i></p>
42
</body>
43
</html>
(102-102/102)