## net.sf.saxon.s9api
Class ItemType

    java.lang.Object
      net.sf.saxon.s9api.ItemType

    public class ItemType

extends java.lang.Object

An item type, as defined in the XPath/XQuery specifications.

This class contains a number of static properties to obtain instances representing simple item types, such as `item()`, `node()`, and `xs:anyAtomicType`.

More complicated item types, especially those that are dependent on information in a schema, are available using factory methods on the `ItemTypeFactory` object.

Field Summary
`static ItemType` `ANY_ATOMIC_VALUE` ItemType representing the type xs:anyAtomicType, that is, any atomic value
`static ItemType` `ANY_ITEM` ItemType representing the type item(), that is, any item at all
`static ItemType` `ANY_NODE` ItemType representing the type node(), that is, any node

Constructor Summary
`protected` `ItemType(ItemType underlyingType, Processor processor)`

Method Summary
`protected Processor` `getProcessor()` Get the underlying Processor
`ItemType` `getUnderlyingItemType()` Method to get the underlying Saxon implementation object
`boolean` `matches(XdmItem item)` Determine whether this item type matches a given item.
`boolean` `subsumes(ItemType other)` Determine whether this ItemType subsumes another ItemType.

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

Field Detail

### ANY_ITEM

    public static ItemType ANY_ITEM

  ItemType representing the type item(), that is, any item at all

### ANY_NODE

    public static ItemType ANY_NODE

  ItemType representing the type node(), that is, any node

### ANY_ATOMIC_VALUE

    public static ItemType ANY_ATOMIC_VALUE

  ItemType representing the type xs:anyAtomicType, that is, any atomic value

Constructor Detail

### ItemType

    protected ItemType(ItemType underlyingType,
                       Processor processor)

Method Detail

### matches

    public boolean matches(XdmItem item)

  Determine whether this item type matches a given item.

  Parameters:
    `item` - the item to be tested against this item type
  Returns:
    true if the item matches this item type, false if it does not match.

### subsumes

    public boolean subsumes(ItemType other)

  Determine whether this ItemType subsumes another ItemType. Specifically, `A.subsumes(B) is true if every value that matches the ItemType B also matches the ItemType A.

  `
  Parameters:
    `other` - the other ItemType
  Returns:
    true if this ItemType subsumes the other ItemType. This includes the case where A and B represent the same ItemType.
  Since:
    9.1

### getUnderlyingItemType

    public ItemType getUnderlyingItemType()

  Method to get the underlying Saxon implementation object

  This gives access to Saxon methods that may change from one release to another.

  Returns:
    the underlying Saxon implementation object

### getProcessor

    protected Processor getProcessor()

  Get the underlying Processor

  Returns:
    the processor used to create this ItemType, if any

Copyright (c) Saxonica Limited. All rights reserved.