Base level implementation of datatype from which real implementations
can inherit.
author: Dave Reynolds version: $Revision: 1.16 $ on $Date: 2008/01/02 12:10:24 $
cannonicalise(Object value) Cannonicalise a java Object value to a normal form.
Primarily used in cases such as xsd:integer to reduce
the Java object representation to the narrowest of the Number
subclasses to ensure that indexing of typed literals works.
Cannonicalise a java Object value to a normal form.
Primarily used in cases such as xsd:integer to reduce
the Java object representation to the narrowest of the Number
subclasses to ensure that indexing of typed literals works.
Returns an object giving more details on the datatype.
This is type system dependent. In the case of XSD types
this will be an instance of
org.apache.xerces.impl.xs.psvi.XSTypeDefinition.
Test whether the given LiteralLabel is a valid instance
of this datatype. This takes into accound typing information
as well as lexical form - for example an xsd:string is
never considered valid as an xsd:integer (even if it is
lexically legal like "1").
isValidValue
public boolean isValidValue(Object valueForm)(Code)
Test whether the given object is a legal value form
of this datatype.
Normalization. If the value is narrower than the current data type
(e.g. value is xsd:date but the time is xsd:datetime) returns
the narrower type for the literal.
If the type is narrower than the value then it may normalize
the value (e.g. set the mask of an XSDDateTime)
Currently only used to narrow gener XSDDateTime objects
to the minimal XSD date/time type.
Parameters: value - the current object value Parameters: dt - the currently set data type a narrower version of the datatype based on the actual value range