Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.type
Class Type

    java.lang.Object
      net.sf.saxon.type.Type

All Implemented Interfaces:
  java.io.Serializable

public abstract class Type
extends java.lang.Object
implements java.io.Serializable

This class contains static information about types and methods for constructing type codes. The class is never instantiated.

See Also:
  Serialized Form

Field Summary
`static int` | `ANY_ATOMIC` Constant denoting any atomic type (the union of all primitive types and types derived from primitive types by restriction or by union)
`static BuiltInAtomicType` | `ANY_ATOMIC_TYPE`
`static int` | `ANY_SIMPLE_TYPE`
`static int` | `ANY_URI` Item type representing the type xs:anyURI
`static BuiltInAtomicType` | `ANY_URI_TYPE`
`static short` | `ATTRIBUTE` Item type representing an attribute node - attribute()
`static int` | `BASE64_BINARY` Item type representing the type xs:base64Binary
`static BuiltInAtomicType` | `BASE64_BINARY_TYPE`
`static int` | `BOOLEAN` Item type representing the type xs:boolean
`static BuiltInAtomicType` | `BOOLEAN_TYPE`
`static int` | `BYTE` Item type representing the type xs:byte
`static short` | `COMMENT` Item type representing a comment node
`static int` | `DATE` Item type representing the type xs:date
`static int` | `DATE_TIME` Item type representing the type xs:dateTime
`static BuiltInAtomicType` | `DATE_TIME_TYPE`
`static BuiltInAtomicType` | `DATE_TYPE`
`static int` | `DAY_TIME_DURATION` Item type representing the type xdt:dayTimeDuration
`static BuiltInAtomicType` | `DAY_TIME_DURATION_TYPE`
`static int` | `DECIMAL` Item type representing the type xs:decimal
`static BuiltInAtomicType` | `DECIMAL_TYPE`
`static short` | `DOCUMENT` Item type representing a document node
`static int` | `DOUBLE` Item type representing the type xs:double
`static BuiltInAtomicType` | `DOUBLE_TYPE`
`static int` | `DURATION` Item type representing the type xs:duration
`static BuiltInAtomicType` | `DURATION_TYPE`
`static short` | `ELEMENT` Type representing an element node - element()
`static short` | `EMPTY` Item type that matches no items (corresponds to SequenceType empty())
`static int` | `ENTITY` Item type representing the type xs:ENTITY
`static int` | `FLOAT` Item type representing the type xs:float
`static BuiltInAtomicType` | `FLOAT_TYPE`
`static int` | `G_DAY` Item type representing the type xs:gDay
`static BuiltInAtomicType` | `G_DAY_TYPE`
`static int` | `G_MONTH` Item type representing the type xs:gMonth
`static int` | `G_MONTH_DAY` Item type representing the type xs:monthDay
`static BuiltInAtomicType` | `G_MONTH_DAY_TYPE`
`static BuiltInAtomicType` | `G_MONTH_TYPE`
`static int` | `G_YEAR` Item type representing the type xs:gYear
`static int` | `G_YEAR_MONTH` Item type representing the type xs:gYearMonth
`static BuiltInAtomicType` | `G_YEAR_MONTH_TYPE`
`static BuiltInAtomicType` | `G_YEAR_TYPE`
`static int` | `HEX_BINARY` Item type representing the type xs:hexBinary
`static BuiltInAtomicType` | `HEX_BINARY_TYPE`
`static int` | `ID` Item type representing the type xs:ID
`static BuiltInAtomicType` | `ID_TYPE`
`static int` | `IDREF` Item type representing the type xs:IDREF
`static int` | `IDREFS` Content type representing the complex type xs:IDREFS
`static int` | `INT` Item type representing the type xs:int
`static int` | `INTEGER` Item type representing the type xs:integer
`static BuiltInAtomicType` | `INTEGER_TYPE`
`static short` | `ITEM` An item type that matches any item
`static ItemType` | `ITEM_TYPE`
`static int` | `LANGUAGE` Item type representing the type xs:language
`static int` | `LONG` Item type representing the type xs:long
`static short` | `MAX_NODE_TYPE`
`static int` | `NAME` Item type representing the type xs:NAME
`static short` | `NAMESPACE` Item type representing a namespace node
`static int` | `NCNAME` Item type representing the type xs:NCNAME
`static BuiltInAtomicType` | `NCNAME_TYPE`
`static int` | `NEGATIVE_INTEGER` Item type representing the type xs:negativeInteger
`static int` | `NMTOKEN` Item type representing the type xs:NMTOKEN
`static int` | `NMTOKENS` Content type representing the complex type xs:NMTOKENS
`static short` | `NODE` An item type that matches any node
`static ItemType` | `NODE_TYPE`
`static int` | `NON_NEGATIVE_INTEGER` Item type representing the type xs:nonNegativeInteger
`static int` | `NON_POSITIVE_INTEGER` Item type representing the type xs:nonPositiveInteger
`static int` | `NORMALIZED_STRING` Item type representing the type xs:normalizedString
`static int` | `NOTATION` Item type representing the type xs:NOTATION
`static BuiltInAtomicType` | `NOTATION_TYPE`
`static int` | `NUMBER` Constant denoting any numeric type (the union of float, double, and decimal)
`static BuiltInAtomicType` | `NUMBER_TYPE`
`static int` | `OBJECT` Constant representing the type of an external object (for use by extension functions)
`static short` | `PARENT_POINTER` Dummy node kind used in the tiny tree to contain a parent pointer
`static int` | `POSITIVE_INTEGER` Item type representing the type xs:positiveInteger
`static short` | `PROCESSING_INSTRUCTION` Item type representing a processing-instruction node
`static int` | `QNAME` Item type representing the type xs:QName
`static BuiltInAtomicType` | `QNAME_TYPE`
`static int` | `SHORT` Item type representing the type xs:short
`static short` | `STOPPER` Dummy node kind used in the tiny tree to mark the end of the tree
`static int` | `STRING` Constants representing primitive data types defined in Schema Part 2
`static BuiltInAtomicType` | `STRING_TYPE`
`static short` | `TEXT` Item type representing a text node - text()
`static int` | `TIME` Item type representing the type xs:time
`static BuiltInAtomicType` | `TIME_TYPE`
`static int` | `TOKEN` Item type representing the type xs:token
`static int` | `UNSIGNED_BYTE` Item type representing the type xs:unsignedByte
`static int` | `UNSIGNED_INT` Item type representing the type xs:unsignedInt
`static int` | `UNSIGNED_LONG` Item type representing the type xs:unsignedLong
`static int` | `UNSIGNED_SHORT` Item type representing the type xs:unsignedShort
`static int` | `UNTYPED_ATOMIC` Item type representing the type xdt:untypedAtomic (the type of the content of a schema-less node)
`static BuiltInAtomicType` | `UNTYPED_ATOMIC_TYPE`
`static short` | `WHITESPACE_TEXT` Item type representing a text node stored in the tiny tree as compressed whitespace
`static int` | `YEAR_MONTH_DURATION` Item type representing the type xdt:yearMonthDuration
`static BuiltInAtomicType` | `YEAR_MONTH_DURATION_TYPE`

Method Summary
`static java.lang.String` | `displayTypeName(Item item)` Output (for diagnostics) a representation of the type of an item.
`static ItemType` | `getBuiltInItemType(java.lang.String namespace, java.lang.String localName)` Get the SimpleType object for a built-in simple type code
`static ItemType` | `getCommonSuperType(ItemType t1, ItemType t2, TypeHierarchy th)` Get a type that is a common supertype of two given types
`static ItemType` | `getItemType(Item item)` Get the ItemType of an Item
`static boolean` | `isComparable(int t1, int t2, boolean ordered)` Determine whether two primitive atomic types are comparable
`static boolean` | `isNodeType(ItemType type)` Test whether a given type is (some subtype of) node()
`static boolean` | `isNumericPrimitiveType(ItemType t)` Test whether the supplied type, which must be a primitive type, is one of the numeric primitive types
`static boolean` | `isOrdered(int type)` Determine whether a primitive type is ordered.
`static boolean` | `isPrimitiveType(int code)` Determine whether this type is a primitive type.
`static int` | `schemaTypeRelationship(SchemaType s1, SchemaType s2)` Get the relationship of two schema types to each other

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ELEMENT

    public static final short ELEMENT

  Type representing an element node - element()

  See Also:
    Constant Field Values

### ATTRIBUTE

    public static final short ATTRIBUTE

  Item type representing an attribute node - attribute()

  See Also:
    Constant Field Values

### TEXT

    public static final short TEXT

  Item type representing a text node - text()

  See Also:
    Constant Field Values

### WHITESPACE_TEXT

    public static final short WHITESPACE_TEXT

  Item type representing a text node stored in the tiny tree as compressed whitespace

  See Also:
    Constant Field Values

### PROCESSING_INSTRUCTION

    public static final short PROCESSING_INSTRUCTION

  Item type representing a processing-instruction node

  See Also:
    Constant Field Values

### COMMENT

    public static final short COMMENT

  Item type representing a comment node

  See Also:
    Constant Field Values

### DOCUMENT

    public static final short DOCUMENT

  Item type representing a document node

  See Also:
    Constant Field Values

### NAMESPACE

    public static final short NAMESPACE

  Item type representing a namespace node

  See Also:
    Constant Field Values

### STOPPER

    public static final short STOPPER

  Dummy node kind used in the tiny tree to mark the end of the tree

  See Also:
    Constant Field Values

### PARENT_POINTER

    public static final short PARENT_POINTER

  Dummy node kind used in the tiny tree to contain a parent pointer

  See Also:
    Constant Field Values

### NODE

    public static final short NODE

  An item type that matches any node

  See Also:
    Constant Field Values

### NODE_TYPE

    public static final ItemType NODE_TYPE

### ITEM

    public static final short ITEM

  An item type that matches any item

  See Also:
    Constant Field Values

### ITEM_TYPE

    public static final ItemType ITEM_TYPE

### MAX_NODE_TYPE

    public static final short MAX_NODE_TYPE

See Also:
  Constant Field Values

### EMPTY

    public static final short EMPTY

  Item type that matches no items (corresponds to SequenceType empty())

  See Also:
    Constant Field Values

### ANY_ATOMIC

    public static final int ANY_ATOMIC

  Constant denoting any atomic type (the union of all primitive types and types derived from primitive types by restriction or by union)

  See Also:
    Constant Field Values

### NUMBER

    public static final int NUMBER

  Constant denoting any numeric type (the union of float, double, and decimal)

  See Also:
    Constant Field Values

### STRING

    public static final int STRING

  Constants representing primitive data types defined in Schema Part 2

  See Also:
    Constant Field Values

### BOOLEAN

    public static final int BOOLEAN

  Item type representing the type xs:boolean

  See Also:
    Constant Field Values

### DECIMAL

    public static final int DECIMAL

  Item type representing the type xs:decimal

  See Also:
    Constant Field Values

### FLOAT

    public static final int FLOAT

  Item type representing the type xs:float

  See Also:
    Constant Field Values

### DOUBLE

    public static final int DOUBLE

  Item type representing the type xs:double

  See Also:
    Constant Field Values

### DURATION

    public static final int DURATION

  Item type representing the type xs:duration

  See Also:
    Constant Field Values

### DATE_TIME

    public static final int DATE_TIME

  Item type representing the type xs:dateTime

  See Also:
    Constant Field Values

### TIME

    public static final int TIME

  Item type representing the type xs:time

  See Also:
    Constant Field Values

### DATE

    public static final int DATE

  Item type representing the type xs:date

  See Also:
    Constant Field Values

### G_YEAR_MONTH

    public static final int G_YEAR_MONTH

  Item type representing the type xs:gYearMonth

  See Also:
    Constant Field Values

### G_YEAR

    public static final int G_YEAR

  Item type representing the type xs:gYear

  See Also:
    Constant Field Values

### G_MONTH_DAY

    public static final int G_MONTH_DAY

  Item type representing the type xs:monthDay

  See Also:
    Constant Field Values

### G_DAY

    public static final int G_DAY

  Item type representing the type xs:gDay

  See Also:
    Constant Field Values

### G_MONTH

    public static final int G_MONTH

  Item type representing the type xs:gMonth

  See Also:
    Constant Field Values

### HEX_BINARY

    public static final int HEX_BINARY

  Item type representing the type xs:hexBinary

  See Also:
    Constant Field Values

### BASE64_BINARY

    public static final int BASE64_BINARY

  Item type representing the type xs:base64Binary

  See Also:
    Constant Field Values

### ANY_URI

    public static final int ANY_URI

  Item type representing the type xs:anyURI

  See Also:
    Constant Field Values

### QNAME

    public static final int QNAME

  Item type representing the type xs:QName

  See Also:
    Constant Field Values

### NOTATION

    public static final int NOTATION

  Item type representing the type xs:NOTATION

  See Also:
    Constant Field Values

### UNTYPED_ATOMIC

    public static final int UNTYPED_ATOMIC

  Item type representing the type xdt:untypedAtomic (the type of the content of a schema-less node)

  See Also:
    Constant Field Values

### ANY_SIMPLE_TYPE

    public static final int ANY_SIMPLE_TYPE

See Also:
  Constant Field Values

### OBJECT

    public static final int OBJECT

  Constant representing the type of an external object (for use by extension functions)

  See Also:
    Constant Field Values

### INTEGER

    public static final int INTEGER

  Item type representing the type xs:integer

  See Also:
    Constant Field Values

### NON_POSITIVE_INTEGER

    public static final int NON_POSITIVE_INTEGER

  Item type representing the type xs:nonPositiveInteger

  See Also:
    Constant Field Values

### NEGATIVE_INTEGER

    public static final int NEGATIVE_INTEGER

  Item type representing the type xs:negativeInteger

  See Also:
    Constant Field Values

### LONG

    public static final int LONG

  Item type representing the type xs:long

  See Also:
    Constant Field Values

### INT

    public static final int INT

  Item type representing the type xs:int

  See Also:
    Constant Field Values

### SHORT

    public static final int SHORT

  Item type representing the type xs:short

  See Also:
    Constant Field Values

### BYTE

    public static final int BYTE

  Item type representing the type xs:byte

  See Also:
    Constant Field Values

### NON_NEGATIVE_INTEGER

    public static final int NON_NEGATIVE_INTEGER

  Item type representing the type xs:nonNegativeInteger

  See Also:
    Constant Field Values

### POSITIVE_INTEGER

    public static final int POSITIVE_INTEGER

  Item type representing the type xs:positiveInteger

  See Also:
    Constant Field Values

### UNSIGNED_LONG

    public static final int UNSIGNED_LONG

  Item type representing the type xs:unsignedLong

  See Also:
    Constant Field Values

### UNSIGNED_INT

    public static final int UNSIGNED_INT

  Item type representing the type xs:unsignedInt

  See Also:
    Constant Field Values

### UNSIGNED_SHORT

    public static final int UNSIGNED_SHORT

  Item type representing the type xs:unsignedShort

  See Also:
    Constant Field Values

### UNSIGNED_BYTE

    public static final int UNSIGNED_BYTE

  Item type representing the type xs:unsignedByte

  See Also:
    Constant Field Values

### NORMALIZED_STRING

    public static final int NORMALIZED_STRING

  Item type representing the type xs:normalizedString

  See Also:
    Constant Field Values

### TOKEN

    public static final int TOKEN

  Item type representing the type xs:token

  See Also:
    Constant Field Values

### LANGUAGE

    public static final int LANGUAGE

  Item type representing the type xs:language

  See Also:
    Constant Field Values

### NMTOKEN

    public static final int NMTOKEN

  Item type representing the type xs:NMTOKEN

  See Also:
    Constant Field Values

### NMTOKENS

    public static final int NMTOKENS

  Content type representing the complex type xs:NMTOKENS

  See Also:
    Constant Field Values

### NAME

    public static final int NAME

  Item type representing the type xs:NAME

  See Also:
    Constant Field Values

### NCNAME

    public static final int NCNAME

  Item type representing the type xs:NCNAME

  See Also:
    Constant Field Values

### ID

    public static final int ID

  Item type representing the type xs:ID

  See Also:
    Constant Field Values

### IDREF

    public static final int IDREF

  Item type representing the type xs:IDREF

  See Also:
    Constant Field Values

### IDREFS

    public static final int IDREFS

  Content type representing the complex type xs:IDREFS

  See Also:
    Constant Field Values

### ENTITY

    public static final int ENTITY

  Item type representing the type xs:ENTITY

  See Also:
    Constant Field Values

### YEAR_MONTH_DURATION

    public static final int YEAR_MONTH_DURATION

  Item type representing the type xdt:yearMonthDuration

  See Also:
    Constant Field Values

### DAY_TIME_DURATION

    public static final int DAY_TIME_DURATION

  Item type representing the type xdt:dayTimeDuration

  See Also:
    Constant Field Values

### UNTYPED_ATOMIC_TYPE

    public static final BuiltInAtomicType UNTYPED_ATOMIC_TYPE

### ANY_ATOMIC_TYPE

    public static final BuiltInAtomicType ANY_ATOMIC_TYPE

### YEAR_MONTH_DURATION_TYPE

    public static final BuiltInAtomicType YEAR_MONTH_DURATION_TYPE

### DAY_TIME_DURATION_TYPE

    public static final BuiltInAtomicType DAY_TIME_DURATION_TYPE

### STRING_TYPE

    public static final BuiltInAtomicType STRING_TYPE

### BOOLEAN_TYPE

    public static final BuiltInAtomicType BOOLEAN_TYPE

### DECIMAL_TYPE

    public static final BuiltInAtomicType DECIMAL_TYPE

### FLOAT_TYPE

    public static final BuiltInAtomicType FLOAT_TYPE

### DOUBLE_TYPE

    public static final BuiltInAtomicType DOUBLE_TYPE

### DURATION_TYPE

    public static final BuiltInAtomicType DURATION_TYPE

### DATE_TIME_TYPE

    public static final BuiltInAtomicType DATE_TIME_TYPE

### TIME_TYPE

    public static final BuiltInAtomicType TIME_TYPE

### DATE_TYPE

    public static final BuiltInAtomicType DATE_TYPE

### G_YEAR_MONTH_TYPE

    public static final BuiltInAtomicType G_YEAR_MONTH_TYPE

### G_YEAR_TYPE

    public static final BuiltInAtomicType G_YEAR_TYPE

### G_MONTH_DAY_TYPE

    public static final BuiltInAtomicType G_MONTH_DAY_TYPE

### G_DAY_TYPE

    public static final BuiltInAtomicType G_DAY_TYPE

### G_MONTH_TYPE

    public static final BuiltInAtomicType G_MONTH_TYPE

### HEX_BINARY_TYPE

    public static final BuiltInAtomicType HEX_BINARY_TYPE

### BASE64_BINARY_TYPE

    public static final BuiltInAtomicType BASE64_BINARY_TYPE

### ANY_URI_TYPE

    public static final BuiltInAtomicType ANY_URI_TYPE

### QNAME_TYPE

    public static final BuiltInAtomicType QNAME_TYPE

### NOTATION_TYPE

    public static final BuiltInAtomicType NOTATION_TYPE

### INTEGER_TYPE

    public static final BuiltInAtomicType INTEGER_TYPE

### ID_TYPE

    public static final BuiltInAtomicType ID_TYPE

### NCNAME_TYPE

    public static final BuiltInAtomicType NCNAME_TYPE

### NUMBER_TYPE

    public static final BuiltInAtomicType NUMBER_TYPE

Method Detail

### isNodeType

    public static boolean isNodeType(ItemType type)

  Test whether a given type is (some subtype of) node()

  Parameters:
    `type` - The type to be tested
  Returns:
    true if the item type is node() or a subtype of node()

### getItemType

    public static ItemType getItemType(Item item)

  Get the ItemType of an Item

### displayTypeName

    public static final java.lang.String displayTypeName(Item item)

  Output (for diagnostics) a representation of the type of an item. This does not have to be the most specific type

### getBuiltInItemType

    public static ItemType getBuiltInItemType(java.lang.String namespace,
                                              java.lang.String localName)

  Get the SimpleType object for a built-in simple type code

  Returns:
    the SimpleType, or null if not found

### schemaTypeRelationship

    public static int schemaTypeRelationship(SchemaType s1,
                                             SchemaType s2)

  Get the relationship of two schema types to each other

### getCommonSuperType

    public static final ItemType getCommonSuperType(ItemType t1,
                                                    ItemType t2,
                                                    TypeHierarchy th)

  Get a type that is a common supertype of two given types

  Parameters:
    `t1` - the first item type
    `t2` - the second item type
    `th` -
  Returns:
    the item type that is a supertype of both the supplied item types

### isPrimitiveType

    public static boolean isPrimitiveType(int code)

  Determine whether this type is a primitive type. The primitive types are the 19 primitive types of XML Schema, plus xs:integer, xdt:dayTimeDuration and xdt:yearMonthDuration; xdt:untypedAtomic; the 7 node kinds; and all supertypes of these (item(), node(), xdt:anyAtomicType, xdt:number, ...)

  Parameters:
    `code` - the item type code to be tested
  Returns:
    true if the type is considered primitive under the above rules

### isComparable

    public static boolean isComparable(int t1,
                                       int t2,
                                       boolean ordered)

  Determine whether two primitive atomic types are comparable

  Parameters:
    `t1` - the first type to compared. This must be a primitive atomic type as defined by `ItemType.getPrimitiveType()`
    `t2` - the second type to compared. This must be a primitive atomic type as defined by `ItemType.getPrimitiveType()`
    `ordered` - true if testing for an ordering comparison (lt, gt, le, ge). False if testing for an equality comparison (eq, ne)
  Returns:
    true if the types are comparable, as defined by the rules of the "eq" operator

### isOrdered

    public static boolean isOrdered(int type)

  Determine whether a primitive type is ordered. Note that the rules for this differ between XPath and XML Schema: these are the XPath rules.

  Parameters:
    `type` - the primitive item type being tested
  Returns:
    true if the types are potentially comparable. For abstract types (type=ATOMIC) we give the benefit of the doubt and return true.

### isNumericPrimitiveType

    public static boolean isNumericPrimitiveType(ItemType t)

  Test whether the supplied type, which must be a primitive type, is one of the numeric primitive types

  Parameters:
    `t` - the type being tested
  Returns:
    true if the type is integer, double, float, decimal, or the abstract type "numeric"

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD