SML Data Types and their Java Equivalents

Section - TM Language Reference

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.