Package com.sun.msv.datatype.xsd

W3C XML Schema Datatypes implementation.

Interface Summary

Comparator Comparable datatype.
XSDatatype Publicly accesible interface of W3C XML Schema datatype (simple type).

Class Summary

AnyURIType "anyURI" type.
Base64BinaryType "base64Binary" type.
BooleanType "boolean" type.
BuiltinAtomicType base class for atomic built-in types; those types which can be used by itself (int,uriReference,string, etc) .
ByteType "byte" type.
ConcreteType base class for types that union/list/atomic.
DatatypeFactory Datatype object factory.
DataTypeWithFacet Base implementation of facet-restricted datatype
DateTimeType "dateTime" type.
DateType "date" type.
DoubleType "double" type.
DurationType "duration" type.
EntityType "ENTITY" type.
EnumerationFacet "enumeration" facets validator.
ErrorType A dummy datatype that can be used to recover from errors.
FinalComponent "final" component.
FloatType "float" type.
FractionDigitsFacet 'fractionDigits' facet.
GDayType "gDay" type.
GMonthDayType "gMonthDay" type.
GMonthType "gMonth" type.
GYearMonthType "gYearMonth" type.
GYearType "gYear" type.
HexBinaryType "hexBinary" type.
IDREFType very limited 'IDREF' type of XML Schema Part 2.
IDType very limited 'ID' type of XML Schema Part 2.
IntegerType "integer" type.
IntegerValueType Value object of "integer" type.
IntType "int" type.
LanguageType "language" type.
LengthFacet "length", "minLength", and "maxLength" facet validator.
ListType List type.
ListValueType value object of ListType.
LongType "long" type.
MaxExclusiveFacet 'maxExclusive' facet
MaxInclusiveFacet 'maxInclusive' facet
MaxLengthFacet 'maxLength' facet
MinExclusiveFacet 'minExclusive' facet
MinInclusiveFacet 'minInclusive' facet
MinLengthFacet 'minLength' facet
NameType "Name" type.
NcnameType "NCName" type.
NegativeIntegerType "negativeInteger" type.
NmtokenType "NMTOKEN" type.
NonNegativeIntegerType "nonNegativeInteger" type.
NonPositiveIntegerType "nonPositiveInteger" type.
NormalizedStringType "normalizedString" type.
NumberType "decimal" type.
PatternFacet "pattern" facet validator "pattern" is a constraint facet which is applied against lexical space.
PositiveIntegerType "positiveInteger" type.
Proxy Delegates all methods to the base type.
QnameType "QName" type.
QnameValueTypevalue object of QName.
RangeFacet Base class of "(max|min)(In|Ex)clusive" facet validator
ShortType "short" type.
SimpleURType simple "ur-type" type.
StringType "string" type.
TimeType "time" type.
TokenType "token" type.
TotalDigitsFacet 'totalDigits' facet.
TypeIncubator derives a new type by adding facets.
UnicodeUtil Unicode-related utility functions.
UnionType union type.
UnsignedByteType "unsignedByte" type.
UnsignedIntType "unsignedInt" type.
UnsignedLongType "unsignedLong" type.
UnsignedShortType "unsignedShort" type.
WhiteSpaceFacet whiteSpace facet validator
WhiteSpaceProcessor processes white space normalization
XmlNames This class contains static methods used to determine whether identifiers may appear in certain roles in XML documents.
XSDatatypeImpl base implementaion for XSDatatype interface.
W3C XML Schema Datatypes implementation.

This package implements the recommendation version of W3C XML Schema Part 2 datatypes. The latest version of the spec is here.

Application developers should understand the usage of the following classes: com.sun.msv.datatype.xsd.DatatypeFactory, com.sun.msv.datatype.xsd.XSDatatype, org.relaxng.datatype.Datatype, and org.relaxng.datatype.ValidationContext. Other classes are implementations of those types and therefore not important in most cases.

The current release has several limitations. See readme.txt for details.

Object types returned by the createJavaObject method

The following W3C XML Schema types return java.lang.String, with no loss of accuracy.

The "language" type also returns java.lang.String, but it always returns a string in all lower-case. The "anyURI" type returns java.lang.String too. It doesn't perform any escaping. So "%20" as a value of the "anyURI" type results in "%20", not " ".

For other types:

XSD typeJava type
stringjava.lang.String(*5)
ENTITY
normalizedString
token
NMTOKEN
Name
NCName
NOTATION
anyURI (*3)
language (*4)
booleanjava.lang.Boolean
numberjava.math.BigDecimal
floatjava.lang.Float
doublejava.lang.Double
integer a derived class of
java.lang.Number
negativeInteger
positiveInteger
nonNegativeInteger
nonPositiveInteger
unsignedLong
unsignedInt
unsignedShort
unsignedByte
long
int
short
byte
QNamejava.lang.String[2](*1)
base64Binarybyte[]
hexBinary
dateTimejava.util.Calendar(*2)
date
time
gYear
gYearMonth
gMonth
gMonthDay
gDay

For types derived by list, the createJavaObject method returns java.lang.Object[] that contains Java values of the item type. For types derived by restriction, the method returns the same type as the base type. For types derived by union, the method returns Java values of one of the member types.

The createJavaObject method currently returns meaningless types for "duration" datatype.

MILLISECOND