Package com.sun.msv.datatype.xsd
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 type | Java type |
string | java.lang.String(*5) |
ENTITY | |
normalizedString | |
token | |
NMTOKEN | |
Name | |
NCName | |
NOTATION | |
anyURI (*3) | |
language (*4) | |
boolean | java.lang.Boolean |
number | java.math.BigDecimal |
float | java.lang.Float |
double | java.lang.Double |
integer |
a derived class of java.lang.Number |
negativeInteger | |
positiveInteger | |
nonNegativeInteger | |
nonPositiveInteger | |
unsignedLong | |
unsignedInt | |
unsignedShort | |
unsignedByte | |
long | |
int | |
short | |
byte | |
QName | java.lang.String[2](*1) |
base64Binary | byte[] |
hexBinary | |
dateTime | java.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.
- *1
- The first item in the array is the namespace URI. The second (the last) item in the array is the local name.
- *2
-
Missing fields are not set. For example, "gYearMonth" type returns
a Calendar object whose DAY_OF_MONTH, HOUR_OF_DAY, MINUTE,SECOND, and
MILLISECOND fields are not set.
If the XML representation does not contain the millisecond part,
then
MILLISECOND
field of the returned Calendar object is not set. This field is set only when the XML representation contains fractional seconds (e.g., "01:02:03.5"). - *3
- The anyURI type does not perform URI escaping. So it returns "%20" for the lexical value "%20".
- *4
- The language type always return a string in the lower case. That is, it returns "en_us" for "EN_US".
- *5
- Strings are white-space normalized according to the value of the whiteSpace facet. For example, " abc " as a Name yields "abc"; " abc " as a string yields " abc ".
-
Interface Summary Interface Description Comparator Comparable datatype.XSDatatype Publicly accesible interface of W3C XML Schema datatype (simple type). -
Class Summary Class Description 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 datatypeDateTimeType "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' facetMaxInclusiveFacet 'maxInclusive' facetMaxLengthFacet 'maxLength' facetMinExclusiveFacet 'minExclusive' facetMinInclusiveFacet 'minInclusive' facetMinLengthFacet 'minLength' facetNameType "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.QnameValueType value object of QName.RangeFacet Base class of "(max|min)(In|Ex)clusive" facet validatorShortType "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 validatorWhiteSpaceProcessor processes white space normalizationXmlNames This class contains static methods used to determine whether identifiers may appear in certain roles in XML documents.XSDatatypeImpl base implementaion for XSDatatype interface.