Project

Profile

Help

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

he / latest10 / hej / net / sf / saxon / type / package.html @ c74fd4aa

1
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
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.type</title>
12
</head>
13

    
14
<body>
15

    
16
<p>This package contains classes that implement the XPath 2.0 and 3.1 type system.
17
    It contains that part of the functionality relevant to a non-schema-aware
18
    implementation: that is, the overall structure of the type system, together
19
    with representations of the built-in types.</p>
20

    
21
<p>The hierarchy of schema types is represented by the interfaces
22
    <code>SchemaType</code>, <code>ComplexType</code>, <code>SimpleType</code>,
23
    <code>ListType</code>, and <code>AtomicType</code>. (Union types never arise
24
    in non-schema-aware processing). There are concrete classes representing
25
    built-in types such as <code>AnyType</code>, <code>BuiltInAtomicType</code>,
26
    and <code>BuiltInListType</code>: the corresponding classes for user-defined
27
    types are in the <code>com.saxonica.schema</code> package.</p>
28

    
29
<p>The class <code>SequenceType</code> ought logically to be in this package
30
    but is actually in <code>net.sf.saxon.value</code>. A sequence type contains
31
    an <code>ItemType</code> which may be an <code>AtomicType</code> or a
32
    <code>NodeTest</code>: NodeTests are found in the package <code>net.sf.saxon.pattern</code>.</p>
33

    
34
<p>The logic for performing type checking is partly in the singleton class
35
    <code>Type</code> (which also contains many useful constants), and partly in
36
    the class <code>TypeChecker</code> found in package <code>net.sf.saxon.expr</code>.</p>
37

    
38

    
39
</body>
40
</html>
(44-44/44)