## net.sf.saxon.type
Class Type

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

All Implemented Interfaces:
  Serializable

    public abstract class Type

extends Object
implements 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 int` `ANY_SIMPLE_TYPE`
`static int` `ANY_URI` Item type representing the type xs:anyURI
`static short` `ATTRIBUTE` Item type representing an attribute node - attribute()
`static int` `BASE64_BINARY` Item type representing the type xs:base64Binary
`static int` `BOOLEAN` Item type representing the type xs:boolean
`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 int` `DAY_TIME_DURATION` Item type representing the type xs:dayTimeDuration
`static int` `DECIMAL` Item type representing the type xs:decimal
`static short` `DOCUMENT` Item type representing a document node
`static int` `DOUBLE` Item type representing the type xs:double
`static int` `DURATION` Item type representing the type xs:duration
`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 int` `G_DAY` Item type representing the type xs:gDay
`static int` `G_MONTH` Item type representing the type xs:gMonth
`static int` `G_MONTH_DAY` Item type representing the type xs:monthDay
`static int` `G_YEAR` Item type representing the type xs:gYear
`static int` `G_YEAR_MONTH` Item type representing the type xs:gYearMonth
`static int` `HEX_BINARY` Item type representing the type xs:hexBinary
`static int` `ID` Item type representing the type xs:ID
`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 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 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 int` `NUMBER` Constant denoting any numeric type (the union of float, double, and decimal)
`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 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 short` `TEXT` Item type representing a text node - text()
`static int` `TIME` Item type representing the type xs:time
`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 xs:untypedAtomic (the type of the content of a schema-less node)
`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 xs:yearMonthDuration

Method Summary
`static String` `displayTypeName(Item item)` Output (for diagnostics) a representation of the type of an item.
`static ItemType` `getBuiltInItemType(String namespace, 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, TypeHierarchy th)` Get the ItemType of an Item
`static boolean` `isComparable(BuiltInAtomicType t1, BuiltInAtomicType 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` `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
`equals, 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 xs: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 xs:yearMonthDuration

  See Also:
    Constant Field Values

### DAY_TIME_DURATION

    public static final int DAY_TIME_DURATION

  Item type representing the type xs:dayTimeDuration

  See Also:
    Constant Field Values

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,
                                       TypeHierarchy th)

  Get the ItemType of an Item

### displayTypeName

    public static final 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(String namespace,
                                              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, xs:dayTimeDuration and xs:yearMonthDuration; xs:untypedAtomic; the 7 node kinds; and all supertypes of these (item(), node(), xs:anyAtomicType, xs:numeric, ...)

  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(BuiltInAtomicType t1,
                                       BuiltInAtomicType 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

Copyright (C) Michael H. Kay. All rights reserved.