SML data types encompass the simple data types defined by XSD part 2, together with two data types defined by ETL. The following table lists all of the data types currently supported by SML, together with the corresponding Java data types. Because the data types supported by SML are largely those defined in the XSD specification published by the W3C, they are subject to change if that specification changes.
In the following list each of the SML data types is shown. When a project is built, each of the SML types is converted to a corresponding Java Type, as shown in the Java Type column.
Note The SML data types listed below are also used when defining Global and Local variables. The SML data types are again converted into a corresponding Java Type. However the conversion between the Type and Java Type is not necessarily as described below.
|
SML Type |
ETL Data Type |
Java Type |
Additional Details |
anyURI |
java.lang.String |
||
base64Binary |
java.lang.Object |
||
boolean |
java.lang.Boolean |
defaults to false |
|
byte |
java.lang.Byte |
||
date |
java.sql.Date |
eg 1997-05-22 | |
dateTime |
java.sql.Timestamp |
||
decimal |
java.math.BigDecimal |
defaults to 0 | |
double |
java.lang.Double |
defaults to 0 | |
duration |
java.lang.String |
||
ENTITIES |
java.lang.String |
||
ENTITY |
java.lang.String |
||
float |
java.lang.Float |
defaults to 0 | |
gDay |
java.lang.Object |
||
gMonth |
java.lang.Object |
||
gMonthDay |
java.lang.Object |
||
gYear |
java.lang.Object |
||
gYearMonth |
java.sql.Timestamp |
||
hexBinary |
byte[ ] |
||
ID |
java.lang.String |
||
IDREF |
java.lang.String |
||
IDREFS |
java.lang.String |
||
int |
java.lang.Integer |
defaults to 0 | |
integer |
java.math.BigDecimal |
defaults to 0 | |
instance |
Y | TM internal DHClass |
|
jObject |
Y | java.lang.Object |
|
language |
java.lang.String |
||
long |
java.lang.Long |
defaults to 0 | |
Name |
java.lang.String |
||
NCName |
java.lang.String |
||
negativeInteger |
java.math.BigDecimal |
defaults to 0 | |
NMTOKEN |
java.lang.String |
||
NMTOKENS |
java.lang.String |
||
nonNegativeInteger |
java.math.BigDecimal |
defaults to 0 | |
nonPositiveInteger |
java.math.BigDecimal |
defaults to 0 | |
normalizedString |
java.lang.String |
||
NOTATION |
java.lang.String |
||
positiveInteger |
java.math.BigDecimal |
defaults to 0 | |
QName |
java.lang.String |
||
short |
java.lang.Short |
defaults to 0 | |
string |
java.lang.String |
defaults to empty string | |
time |
java.sql.Time |
13:20:00-05:00 | |
token |
java.lang.String |
||
unsignedByte |
java.lang.Short |
||
unsignedInt |
java.lang.Long |
defaults to 0 | |
unsignedLong |
java.lang.Integer |
defaults to 0 | |
unsignedShort |
java.lang.Integer |
defaults to 0 |
Note:
Users should not rely on number wrapping in SML. If wrapping is required the built-in function modulo should be used.