This package provides interfaces for accessing actual value information through PSVI for XML Schema 1.0 data types.
The table below gives the data type to applicable interface mapping:

XML Schema Data Type | Interface/Class
string | java.lang.String
boolean | java.lang.Boolean
decimal | XSDecimal
float | XSFloat
double | XSDouble
duration | XSDateTime
dateTime | XSDateTime
date | XSDateTime
time | XSDateTime
gYear | XSDateTime
gMonth | XSDateTime
gDay | XSDateTime
gYearMonth | XSDateTime
gMonthDay | XSDateTime
hexBinary | ByteList
base64Binary | ByteList
anyURI | java.lang.String
QName | XSQName
NOTATION | XSQName
normalizedString | java.lang.String
token | java.lang.String
language | java.lang.String
NMTOKEN | java.lang.String
NMTOKENS | ObjectList
Name | java.lang.String
NCName | java.lang.String
ID | java.lang.String
IDREF | java.lang.String
IDREFS | ObjectList
ENTITY | java.lang.String
ENTITIES | ObjectList
list | ObjectList
integer | XSDecimal
positiveInteger | XSDecimal
negativeInteger | XSDecimal
nonPositiveInteger | XSDecimal
nonNegativeInteger | XSDecimal
unsignedShort | XSDecimal
unsignedLong | XSDecimal
unsignedByte | XSDecimal
unsignedInt | XSDecimal
long | XSDecimal
int | XSDecimal
short | XSDecimal
byte | XSDecimal

As shown above, the XSDateTime interface provides mapping to a number of decimal/integer data types. The application needs to ensure that appropriate methods for each of these types is invoked. The mapping of these types to defined methods is shown in the table below. Accessing methods that are undefined for a type will give unexpected results.

XML Schema Data Type | Applicable method in XSDateTime*
integer | getBigInteger()
positiveInteger | getBigInteger()
negativeInteger | getBigInteger()
nonPositiveInteger | getBigInteger()
nonNegativeInteger | getBigInteger()
unsignedShort | getInt()
unsignedLong | getBigInteger()
unsignedByte | getShort()
unsignedInt | getLong()
long | getLong()
int | getInt()
short | getShort()
byte | getByte()

* This shows the base method that can be called. That is, users can call this method and all methods returning bigger types than the base method according to the order: byte < short < int < long < BigInteger < BigDecimal. For example, in the case of unsignedShort, users can call getInt(), getLong(), getBigInteger() and getBigDecimal() but NOT getShort() or getByte().