Project

Profile

Help

Download (2.57 KB) Statistics
| Branch: | Tag: | Revision:

he / latest9.9 / hej / net / sf / saxon / om / package.html @ 063bf4dc

1 9eaff9ee O'Neil Delpratt
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
2
<!-- Copyright (c) 2014 Saxonica Limited. -->
3
<!-- This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. -->
4
<!-- If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
5
<!-- This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. -->
6
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
7
8
<html>
9
10
<head>
11
    <title>Package overview for net.sf.saxon.om</title>
12
</head>
13
14
<body>
15
16
<p>This package defines the interface to the Saxon tree structure. This
17
    structure is used to represent both the source document and the stylesheet.
18
    Essentially, this class represents Saxon's realization of the XPath data model.</p>
19
20
<p>The classes in the package are rather a miscellany. What they have in common is that
21
    they describe the way the Saxon tree structure is accessed, in a way that it independent
22
    of the two tree implementations (in packages <code>net.sf.saxon.tree</code> and
23
    <code>net.sf.saxon.tinytree</code>).</p>
24
25
<p>Broadly speaking, the classes fall into four categories:</p>
26
27
<ul>
28
    <li>Interface classes: DocumentInfo, NodeInfo, Item, ValueRepresentation. These describe the interface
29
        offered by the object model to the rest of the system, including the application.
30
    </li>
31
32
    <li>Iterator classes: SequenceIterator, AxisIterator, ArrayIterator, EmptyIterator, SingletonIterator, and others.
33
        These classes provide mechanisms for iterating over sequences. The most general, and the one which
34
        applications are most likely to use, is the SequenceIterator interface itself. AxisIterator is a
35
        specialization of this interface whose main difference is that it cannot throw exceptions. The other
36
        classes are implementations of SequenceIterator for use in particular circumstances.
37
    </li>
38
39
    <liul>Shared implementation classes: DocumentPool, NamePool, Navigator, XMLChar.
40
        These contain functionality that is shared between the various tree implementations. (However, there is
41
        also some shared functionality in the <code>net.sf.saxon.tree</code> package). These classes are
42
        not generally needed by applications, with the exception of NamePool, which complex applications may
43
        need to manipulate.</li>
44
45
        <li>Information classes: Axis, NamespaceConstant. These contain constants.</li>
46
</ul>
47
48
</body>
49
</html>