javax.xml.xquery
Interface XQItemType

All Superinterfaces:
XQSequenceType
All Known Implementing Classes:
SaxonXQItemType

public interface XQItemType
extends XQSequenceType

The XQItemType interface represents an item type as defined in XQuery 1.0: An XML Query language.
The XQItemType extends the XQSequenceType but restricts the occurrance indicator to be exactly one. This derivation allows passing an item type wherever a sequence type is expected, but not the other way. The XQItemType interface contains methods to represent information about the following aspects of an item type:

An instance of the XQItemType is a standalone object that is independant of the XQConnection and any XQuery static or dynamic context.


Field Summary
static int XQBASETYPE_ANYATOMICTYPE
          Represents the schema type xs:anyAtomicType
static int XQBASETYPE_ANYSIMPLETYPE
          Represents the schema type xs:anySimpleType
static int XQBASETYPE_ANYTYPE
          Represents the schema type xs:anyType
static int XQBASETYPE_ANYURI
          Represents the schema type xs:anyURI
static int XQBASETYPE_BASE64BINARY
          Represents the schema type xs:base64Binary
static int XQBASETYPE_BOOLEAN
          Represents the schema type xs:boolean
static int XQBASETYPE_BYTE
          Represents the schema type xs:byte
static int XQBASETYPE_DATE
          Represents the schema type xs:date
static int XQBASETYPE_DATETIME
          Represents the schema type xs:dateTime
static int XQBASETYPE_DAYTIMEDURATION
          Represents the schema type xs:dayTimeDuration
static int XQBASETYPE_DECIMAL
          Represents the schema type xs:decimal
static int XQBASETYPE_DOUBLE
          Represents the schema type xs:double
static int XQBASETYPE_DURATION
          Represents the schema type xs:duration
static int XQBASETYPE_ENTITIES
          Represents the schema type xs:ENTITIES
static int XQBASETYPE_ENTITY
          Represents the schema type xs:ENTITY
static int XQBASETYPE_FLOAT
          Represents the schema type xs:float
static int XQBASETYPE_GDAY
          Represents the schema type xs:gDay
static int XQBASETYPE_GMONTH
          Represents the schema type xs:gMonth
static int XQBASETYPE_GMONTHDAY
          Represents the schema type xs:gMonthDay
static int XQBASETYPE_GYEAR
          Represents the schema type xs:gYear
static int XQBASETYPE_GYEARMONTH
          Represents the schema type xs:gYearMonth
static int XQBASETYPE_HEXBINARY
          Represents the schema type xs:hexBinary
static int XQBASETYPE_ID
          Represents the schema type xs:ID
static int XQBASETYPE_IDREF
          Represents the schema type xs:IDREF
static int XQBASETYPE_IDREFS
          Represents the schema type xs:IDREFS.
static int XQBASETYPE_INT
          Represents the schema type xs:int
static int XQBASETYPE_INTEGER
          Represents the schema type xs:integer
static int XQBASETYPE_LANGUAGE
          Represents the schema type xs:language
static int XQBASETYPE_LONG
          Represents the schema type xs:long
static int XQBASETYPE_NAME
          Represents the schema type xs:Name
static int XQBASETYPE_NCNAME
          Represents the schema type xs:NCName
static int XQBASETYPE_NEGATIVE_INTEGER
          Represents the schema type xs:negativeInteger
static int XQBASETYPE_NMTOKEN
          Represents the schema type xs:NMToken
static int XQBASETYPE_NMTOKENS
          Represents the schema type xs:NMTOKENS
static int XQBASETYPE_NONNEGATIVE_INTEGER
          Represents the schema type xs:nonNegativeInteger
static int XQBASETYPE_NONPOSITIVE_INTEGER
          Represents the schema type xs:nonPositiveInteger
static int XQBASETYPE_NORMALIZED_STRING
          Represents the schema type xs:normalizedString
static int XQBASETYPE_NOTATION
          Represents the schema type xs:NOTATION
static int XQBASETYPE_POSITIVE_INTEGER
          Represents the schema type xs:positiveInteger
static int XQBASETYPE_QNAME
          Represents the schema type xs:QName
static int XQBASETYPE_SHORT
          Represents the schema type xs:short
static int XQBASETYPE_STRING
          Represents the schema type xs:string
static int XQBASETYPE_TIME
          Represents the schema type xs:time
static int XQBASETYPE_TOKEN
          Represents the schema type xs:token
static int XQBASETYPE_UNSIGNED_BYTE
          Represents the schema type xs:unsignedByte
static int XQBASETYPE_UNSIGNED_INT
          Represents the schema type xs:unsignedInt
static int XQBASETYPE_UNSIGNED_LONG
          Represents the schema type xs:unsignedLong
static int XQBASETYPE_UNSIGNED_SHORT
          Represents the schema type xs:unsignedShort
static int XQBASETYPE_UNTYPED
          Represents the schema type xs:untyped
static int XQBASETYPE_UNTYPEDATOMIC
          Represents the schema type xs:untypedAtomic
static int XQBASETYPE_YEARMONTHDURATION
          Represents the schema type xs:yearMonthDuration
static int XQITEMKIND_ATOMIC
          Some atomic type.
static int XQITEMKIND_ATTRIBUTE
          Attribute node
static int XQITEMKIND_COMMENT
          Comment node
static int XQITEMKIND_DOCUMENT
          Document type (the type information represents the type of the document element)
static int XQITEMKIND_DOCUMENT_ELEMENT
          Document node containing a single element node as its child (type information represents type of the element child)
static int XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
          Document node containing a single schema element node as its child (type information represents type of the schema element child)
static int XQITEMKIND_ELEMENT
          Element node
static int XQITEMKIND_ITEM
          Any kind of item
static int XQITEMKIND_NODE
          Some node type
static int XQITEMKIND_PI
          Processing instruction node
static int XQITEMKIND_SCHEMA_ATTRIBUTE
          Schema attribute node
static int XQITEMKIND_SCHEMA_ELEMENT
          Schema element node
static int XQITEMKIND_TEXT
          Text node
 
Fields inherited from interface javax.xml.xquery.XQSequenceType
OCC_EMPTY, OCC_EXACTLY_ONE, OCC_ONE_OR_MORE, OCC_ZERO_OR_MORE, OCC_ZERO_OR_ONE
 
Method Summary
 boolean equals(Object o)
          Compares the specified object with this item type for equality.
 int getBaseType()
          Returns the base type of the item.
 int getItemKind()
          Returns the kind of the item.
 int getItemOccurrence()
          Returns the occurrence indicator for the item type.
 QName getNodeName()
          Returns the name of the node in case the item kind is an XQITEMKIND_DOCUMENT_ELEMENT, XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT, XQITEMKIND_ELEMENT, XQITEMKIND_SCHEMA_ELEMENT, XQITEMKIND_ATTRIBUTE, or XQITEMKIND_SCHEMA_ATTRIBUTE.
 String getPIName()
          Returns the name of the processing instruction type.
 URI getSchemaURI()
          Returns the schema location URI of the schema that contains the item's element or type definition.
 QName getTypeName()
          Represents a type name (global or local).
 int hashCode()
          Returns a hash code consistent with the definition of the equals method.
 boolean isAnonymousType()
          Represents whether the item type is an anonymous type in the schema.
 boolean isElementNillable()
          Returns whether the element type is nillable or not.
 String toString()
          Returns a human-readable implementation-defined string representation of the item type.
 
Methods inherited from interface javax.xml.xquery.XQSequenceType
getItemType
 

Field Detail

XQITEMKIND_ATOMIC

static final int XQITEMKIND_ATOMIC
Some atomic type.

See Also:
Constant Field Values

XQITEMKIND_ATTRIBUTE

static final int XQITEMKIND_ATTRIBUTE
Attribute node

See Also:
Constant Field Values

XQITEMKIND_COMMENT

static final int XQITEMKIND_COMMENT
Comment node

See Also:
Constant Field Values

XQITEMKIND_DOCUMENT

static final int XQITEMKIND_DOCUMENT
Document type (the type information represents the type of the document element)

See Also:
Constant Field Values

XQITEMKIND_DOCUMENT_ELEMENT

static final int XQITEMKIND_DOCUMENT_ELEMENT
Document node containing a single element node as its child (type information represents type of the element child)

See Also:
Constant Field Values

XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT

static final int XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT
Document node containing a single schema element node as its child (type information represents type of the schema element child)

See Also:
Constant Field Values

XQITEMKIND_ELEMENT

static final int XQITEMKIND_ELEMENT
Element node

See Also:
Constant Field Values

XQITEMKIND_ITEM

static final int XQITEMKIND_ITEM
Any kind of item

See Also:
Constant Field Values

XQITEMKIND_NODE

static final int XQITEMKIND_NODE
Some node type

See Also:
Constant Field Values

XQITEMKIND_PI

static final int XQITEMKIND_PI
Processing instruction node

See Also:
Constant Field Values

XQITEMKIND_TEXT

static final int XQITEMKIND_TEXT
Text node

See Also:
Constant Field Values

XQITEMKIND_SCHEMA_ELEMENT

static final int XQITEMKIND_SCHEMA_ELEMENT
Schema element node

See Also:
Constant Field Values

XQITEMKIND_SCHEMA_ATTRIBUTE

static final int XQITEMKIND_SCHEMA_ATTRIBUTE
Schema attribute node

See Also:
Constant Field Values

XQBASETYPE_UNTYPED

static final int XQBASETYPE_UNTYPED
Represents the schema type xs:untyped

See Also:
Constant Field Values

XQBASETYPE_ANYTYPE

static final int XQBASETYPE_ANYTYPE
Represents the schema type xs:anyType

See Also:
Constant Field Values

XQBASETYPE_ANYSIMPLETYPE

static final int XQBASETYPE_ANYSIMPLETYPE
Represents the schema type xs:anySimpleType

See Also:
Constant Field Values

XQBASETYPE_ANYATOMICTYPE

static final int XQBASETYPE_ANYATOMICTYPE
Represents the schema type xs:anyAtomicType

See Also:
Constant Field Values

XQBASETYPE_UNTYPEDATOMIC

static final int XQBASETYPE_UNTYPEDATOMIC
Represents the schema type xs:untypedAtomic

See Also:
Constant Field Values

XQBASETYPE_DAYTIMEDURATION

static final int XQBASETYPE_DAYTIMEDURATION
Represents the schema type xs:dayTimeDuration

See Also:
Constant Field Values

XQBASETYPE_YEARMONTHDURATION

static final int XQBASETYPE_YEARMONTHDURATION
Represents the schema type xs:yearMonthDuration

See Also:
Constant Field Values

XQBASETYPE_ANYURI

static final int XQBASETYPE_ANYURI
Represents the schema type xs:anyURI

See Also:
Constant Field Values

XQBASETYPE_BASE64BINARY

static final int XQBASETYPE_BASE64BINARY
Represents the schema type xs:base64Binary

See Also:
Constant Field Values

XQBASETYPE_BOOLEAN

static final int XQBASETYPE_BOOLEAN
Represents the schema type xs:boolean

See Also:
Constant Field Values

XQBASETYPE_DATE

static final int XQBASETYPE_DATE
Represents the schema type xs:date

See Also:
Constant Field Values

XQBASETYPE_INT

static final int XQBASETYPE_INT
Represents the schema type xs:int

See Also:
Constant Field Values

XQBASETYPE_INTEGER

static final int XQBASETYPE_INTEGER
Represents the schema type xs:integer

See Also:
Constant Field Values

XQBASETYPE_SHORT

static final int XQBASETYPE_SHORT
Represents the schema type xs:short

See Also:
Constant Field Values

XQBASETYPE_LONG

static final int XQBASETYPE_LONG
Represents the schema type xs:long

See Also:
Constant Field Values

XQBASETYPE_DATETIME

static final int XQBASETYPE_DATETIME
Represents the schema type xs:dateTime

See Also:
Constant Field Values

XQBASETYPE_DECIMAL

static final int XQBASETYPE_DECIMAL
Represents the schema type xs:decimal

See Also:
Constant Field Values

XQBASETYPE_DOUBLE

static final int XQBASETYPE_DOUBLE
Represents the schema type xs:double

See Also:
Constant Field Values

XQBASETYPE_DURATION

static final int XQBASETYPE_DURATION
Represents the schema type xs:duration

See Also:
Constant Field Values

XQBASETYPE_FLOAT

static final int XQBASETYPE_FLOAT
Represents the schema type xs:float

See Also:
Constant Field Values

XQBASETYPE_GDAY

static final int XQBASETYPE_GDAY
Represents the schema type xs:gDay

See Also:
Constant Field Values

XQBASETYPE_GMONTH

static final int XQBASETYPE_GMONTH
Represents the schema type xs:gMonth

See Also:
Constant Field Values

XQBASETYPE_GMONTHDAY

static final int XQBASETYPE_GMONTHDAY
Represents the schema type xs:gMonthDay

See Also:
Constant Field Values

XQBASETYPE_GYEAR

static final int XQBASETYPE_GYEAR
Represents the schema type xs:gYear

See Also:
Constant Field Values

XQBASETYPE_GYEARMONTH

static final int XQBASETYPE_GYEARMONTH
Represents the schema type xs:gYearMonth

See Also:
Constant Field Values

XQBASETYPE_HEXBINARY

static final int XQBASETYPE_HEXBINARY
Represents the schema type xs:hexBinary

See Also:
Constant Field Values

XQBASETYPE_NOTATION

static final int XQBASETYPE_NOTATION
Represents the schema type xs:NOTATION

See Also:
Constant Field Values

XQBASETYPE_QNAME

static final int XQBASETYPE_QNAME
Represents the schema type xs:QName

See Also:
Constant Field Values

XQBASETYPE_STRING

static final int XQBASETYPE_STRING
Represents the schema type xs:string

See Also:
Constant Field Values

XQBASETYPE_TIME

static final int XQBASETYPE_TIME
Represents the schema type xs:time

See Also:
Constant Field Values

XQBASETYPE_BYTE

static final int XQBASETYPE_BYTE
Represents the schema type xs:byte

See Also:
Constant Field Values

XQBASETYPE_NONPOSITIVE_INTEGER

static final int XQBASETYPE_NONPOSITIVE_INTEGER
Represents the schema type xs:nonPositiveInteger

See Also:
Constant Field Values

XQBASETYPE_NONNEGATIVE_INTEGER

static final int XQBASETYPE_NONNEGATIVE_INTEGER
Represents the schema type xs:nonNegativeInteger

See Also:
Constant Field Values

XQBASETYPE_NEGATIVE_INTEGER

static final int XQBASETYPE_NEGATIVE_INTEGER
Represents the schema type xs:negativeInteger

See Also:
Constant Field Values

XQBASETYPE_POSITIVE_INTEGER

static final int XQBASETYPE_POSITIVE_INTEGER
Represents the schema type xs:positiveInteger

See Also:
Constant Field Values

XQBASETYPE_UNSIGNED_LONG

static final int XQBASETYPE_UNSIGNED_LONG
Represents the schema type xs:unsignedLong

See Also:
Constant Field Values

XQBASETYPE_UNSIGNED_INT

static final int XQBASETYPE_UNSIGNED_INT
Represents the schema type xs:unsignedInt

See Also:
Constant Field Values

XQBASETYPE_UNSIGNED_SHORT

static final int XQBASETYPE_UNSIGNED_SHORT
Represents the schema type xs:unsignedShort

See Also:
Constant Field Values

XQBASETYPE_UNSIGNED_BYTE

static final int XQBASETYPE_UNSIGNED_BYTE
Represents the schema type xs:unsignedByte

See Also:
Constant Field Values

XQBASETYPE_NORMALIZED_STRING

static final int XQBASETYPE_NORMALIZED_STRING
Represents the schema type xs:normalizedString

See Also:
Constant Field Values

XQBASETYPE_TOKEN

static final int XQBASETYPE_TOKEN
Represents the schema type xs:token

See Also:
Constant Field Values

XQBASETYPE_LANGUAGE

static final int XQBASETYPE_LANGUAGE
Represents the schema type xs:language

See Also:
Constant Field Values

XQBASETYPE_NAME

static final int XQBASETYPE_NAME
Represents the schema type xs:Name

See Also:
Constant Field Values

XQBASETYPE_NCNAME

static final int XQBASETYPE_NCNAME
Represents the schema type xs:NCName

See Also:
Constant Field Values

XQBASETYPE_NMTOKEN

static final int XQBASETYPE_NMTOKEN
Represents the schema type xs:NMToken

See Also:
Constant Field Values

XQBASETYPE_ID

static final int XQBASETYPE_ID
Represents the schema type xs:ID

See Also:
Constant Field Values

XQBASETYPE_IDREF

static final int XQBASETYPE_IDREF
Represents the schema type xs:IDREF

See Also:
Constant Field Values

XQBASETYPE_ENTITY

static final int XQBASETYPE_ENTITY
Represents the schema type xs:ENTITY

See Also:
Constant Field Values

XQBASETYPE_IDREFS

static final int XQBASETYPE_IDREFS
Represents the schema type xs:IDREFS. Valid only if the item kind is XQITEMKIND_ELEMENT, XQITEMKIND_DOCUMENT_ELEMENT, or XQITEMKIND_ATTRIBUTE

See Also:
Constant Field Values

XQBASETYPE_ENTITIES

static final int XQBASETYPE_ENTITIES
Represents the schema type xs:ENTITIES

See Also:
Constant Field Values

XQBASETYPE_NMTOKENS

static final int XQBASETYPE_NMTOKENS
Represents the schema type xs:NMTOKENS

See Also:
Constant Field Values
Method Detail

getBaseType

int getBaseType()
                throws XQException
Returns the base type of the item. One of the XQBASETYPE_* constants.

XQJ defines a constant for each of the built-in schema types defined in XML Schema. For atomic types this is the closest matching built-in XML Schema type, for element and attributes the closest matching built-in XML Schema type this node is based on.

Returns:
int one of the XQBASETYPE_* constants indicating the basic type of the item
Throws:
XQException - if the item kind is not one of: XQITEMKIND_DOCUMENT_ELEMENT, XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT, XQITEMKIND_ELEMENT, XQITEMKIND_SCHEMA_ELEMENT, XQITEMKIND_ATTRIBUTE, XQITEMKIND_SCHEMA_ATTRIBUTE, or XQITEMKIND_ATOMIC

getItemKind

int getItemKind()
Returns the kind of the item. One of the XQITEMKIND_* constants.

Returns:
int one of the XQITEMKIND_* constants indicating the basic kind of the item

getItemOccurrence

int getItemOccurrence()
Returns the occurrence indicator for the item type. This method will always return the value XQSequenceType.OCC_EXACTLY_ONE.

Specified by:
getItemOccurrence in interface XQSequenceType
Returns:
int indicating the occurrence indicator

toString

String toString()
Returns a human-readable implementation-defined string representation of the item type.

Specified by:
toString in interface XQSequenceType
Overrides:
toString in class Object
Returns:
String a string representation of the item type

getNodeName

QName getNodeName()
                  throws XQException
Returns the name of the node in case the item kind is an XQITEMKIND_DOCUMENT_ELEMENT, XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT, XQITEMKIND_ELEMENT, XQITEMKIND_SCHEMA_ELEMENT, XQITEMKIND_ATTRIBUTE, or XQITEMKIND_SCHEMA_ATTRIBUTE. For example, in the case of a type for element "foo" this will return the QName foo. For wildcard entries a null value will be returned.

Returns:
QName for the name of the element, attribute, or document element node. null if it is a wildcard
Throws:
XQException - if the item kind is not one of: XQITEMKIND_DOCUMENT_ELEMENT, XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT, XQITEMKIND_ELEMENT, XQITEMKIND_SCHEMA_ELEMENT, XQITEMKIND_ATTRIBUTE, or XQITEMKIND_SCHEMA_ATTRIBUTE

getSchemaURI

URI getSchemaURI()
Returns the schema location URI of the schema that contains the item's element or type definition. This method is implementation-definied and an implementation will return a null value if it does not support retrieving the schema location URI. If the item corresponds to a validated global element in a schema, the result will be the schema location URI to the XMLSchema containing the element definition. Otherwise if the item is a schema validated node, the result will be the schema location URI of the XMLSchema containing the type definition of that node. If the item is not schema validated, the result is null

Returns:
URI representing the schema location URI of the XMLSchema containing the global element definition or the type definition of the current item. null in case the item is not schema validated or if the implementation does not support retrieving the schema URI.

getTypeName

QName getTypeName()
                  throws XQException
Represents a type name (global or local). This can be used to represent specific type name such as, element foo of type hatsize. The schema type name is represented as a single QName. If the return type is an anonymous type, the actual QName value returned is implementation defined.

Returns:
the QName of the schema type in case of a user defined or anonoymous types. For a built-in type, returns a predefined type name as QName (e.g.xs:anyType, xs:decimal, etc). Cannot be null
Throws:
XQException - if the item kind is not one of: XQITEMKIND_DOCUMENT_ELEMENT, XQITEMKIND_DOCUMENT_SCHEMA_ELEMENT, XQITEMKIND_ATOMIC, XQITEMKIND_ELEMENT, XQITEMKIND_SCHEMA_ELEMENT, XQITEMKIND_ATTRIBUTE, or XQITEMKIND_SCHEMA_ATTRIBUTE

isAnonymousType

boolean isAnonymousType()
Represents whether the item type is an anonymous type in the schema.

Returns:
true if the item type is an anonymous type in the schema, false otherwise

isElementNillable

boolean isElementNillable()
Returns whether the element type is nillable or not.

Returns:
true if the element type is nillable, false otherwise

getPIName

String getPIName()
                 throws XQException
Returns the name of the processing instruction type. As such the item kind of this XQItemType must be XQITEMKIND_PI.

Returns:
the name of the processing instruction type. null if it is a wildcard
Throws:
XQException - if the item kind is not XQITEMKIND_PI

equals

boolean equals(Object o)
Compares the specified object with this item type for equality. The result is true only if the argument is an item type object which represents the same XQuery item type.

In order to comply with the general contract of equals and hashCode across different implementations the following algorithm must be used. Return true if and only if both objects are XQItemType and:

Specified by:
equals in interface XQSequenceType
Overrides:
equals in class Object
Parameters:
o - an XQItemType object representing an XQuery item type
Returns:
true if the input item type object represents the same XQuery item type, false otherwise

hashCode

int hashCode()
Returns a hash code consistent with the definition of the equals method.

In order to comply with the general contract of equals and hashCode across different implementations the following algorithm must be used:
  hashCode = this.getItemKind();
  if this.getSchemaURI != null
    hashCode = 31*hashCode + this.getSchemaURI().hashCode();
  if this.getBaseType() is supported for the item kind
    hashCode = 31*hashCode + this.getbaseType();
  if this.getNodeName () is supported for the item kind and
    this.getNodeName() != null
    hashCode = 31*hashCode + this.getNodeName().hashCode()
  if this.getTypeName () is supported for the item kind
    hashCode = 31*hashCode + this.getTypeName().hashCode();
  if this.getPIName () is supported for the item kind and
    this.getPIName () != null
    hashCode = 31*hashCode + this.getPIName().hashCode();
 

Specified by:
hashCode in interface XQSequenceType
Overrides:
hashCode in class Object
Returns:
hash code for this item type


Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.