# Package com.marklogic.xcc.types

XCC Type Definitions.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ArrayNode | Interface for JSON array node.
  BooleanNode | Interface for JSON boolean node.
  CtsBox | A cts:box value.
  CtsCircle | A cts:circle value.
  CtsPoint | A cts:point value.
  CtsPolygon | A cts:polygon value.
  JSArray | JSON Array
  JSNull | JSON Null This class is only used to bind a null external variable.
  JSObject | JSON Object
  JsonItem | Interface for JSON item values.
  NullNode | Interface for JSON null node.
  NumberNode | Interface for JSON number node.
  ObjectNode | Interface for JSON object node.
  VecVector | A vec:vector value.
  XdmAtomic | Marker interface for all `XdmItem` value objects which are atomic (not nodes).
  XdmAttribute | An XQuery value which is an attribute().
  XdmBinary | An XDM-like binary() value (binary() is a MarkLogic extension).
  XdmComment | An XQuery value which is an comment().
  XdmDocument | An XDM value which is a document().
  XdmDuration | A Java representation of xs:duration.
  XdmElement | An XQuery value which is an element().
  XdmItem | Interface for item values (values that may be a member of a sequence).
  XdmNode | An XDM value which is a node().
  XdmProcessingInstruction | An XQuery value which is a processing-instruction().
  XdmSequence<I extends XdmItem> | A `XdmValue` which is a sequence of Items.
  XdmText | An XQuery text() value.
  XdmValue | Base interface for XML Data Model (XDM) values represented as Java objects.
  XdmVariable | A named XDM variable (an XName / XdmValue pair).
  XSAnyURI | XDM type: xs:anyURI.
  XSBase64Binary | XDM type: xs:base64Binary.
  XSBoolean | XDM type: xs:boolean.
  XSDate | XDM type: xs:date.
  XSDateTime | XDM type: xs:dateTime.
  XSDayTimeDuration | XDM type: xs:dayTimeDuration.
  XSDecimal | XDM type: xs:decimal.
  XSDouble | XDM type: xs:double.
  XSDuration | XDM type: xs:duration.
  XSFloat | XDM type: xs:float.
  XSGDay | XDM type: xs:gDay.
  XSGMonth | XDM type: xs:gMonth.
  XSGMonthDay | XDM type: xs:gMonthDay.
  XSGYear | XDM type: xs:gYear.
  XSGYearMonth | XDM type: xs:gYearMonth.
  XSHexBinary | XDM type: xs:hexBinary.
  XSInteger | XDM type: xs:integer.
  XSQName | XDM type: xs:QName.
  XSString | XDM type: xs:string.
  XSTime | XDM type: xs:time.
  XSUntypedAtomic | XDM type: xdt:untypedAtomic.
  XSYearMonthDuration | XDM type: xs:yearMonthDuration.

- Class Summary
  Class | Description
  --- | ---
  AtomicType | Base class for type-safe enumeration instances that represent atomic types.
  Duration | The Duration class is a mutable class which implements the XdmDuration interface.
  ItemType | Each instance of this class corresponds to an XQuery schema type.
  NodeType | Base type for enumerators that represent node types.
  SequenceType | Type indicator class for values that are sequences.
  ValueType | Base class for the typesafe enumeration objects that represent XML Schema types.
  XName | An Expanded Name, consisting of a (optional) namespace name and a local name.

## Package com.marklogic.xcc.types Description

### XCC Type Definitions.

This package contains classes that map XML Data Model (XDM) data types to Java types. There are two roughly parallel class hierachies in this package: those which correspond to an XDM value instance (for example: `XSDecimal`) and those which describe an XQuery type (for example `AtomicType`).

The descriptive types, those whose name ends in "Type", constitute a type-safe enumeration. These classes may not be instantiated by user code. The class `ValueType` defines the public, immutable instances of all the available type descriptive classes. And the static class method `ItemType.forType(String)` provides a convenience mapping from XQuery type names to the corresponding descriptive class.

The class hierarchies of the type classes are shown in these UML diagrams. Click on the images to see them full-size:

### UML Diagram of XQuery Data Model Interfaces

### UML Diagram of XQuery Type Labels

Copyright © 2025 MarkLogic Corporation. All Rights Reserved.

Complete online documentation for MarkLogic Server, XQuery and related components may be found at developer.marklogic.com