When an XML Schema is generated from a MySQL database (DB), the MySQL DB datatypes are converted to XML Schema datatypes as listed in the table below.
XML Schema Datatype |
MySQL Datatype |
xs:ID |
varchar(255) |
xs:string |
If no facets then varchar (255) |
|
else if facet length is set and <= 255 |
|
else if facet maxLength set and <= 255 |
|
else if maxLength is set and <= 65545 then text |
|
else if maxlength is set and <= 16777215 |
|
else if maxlength is set and <= 429496295 |
xs:normalizedString |
Same as xs:string |
xs:token |
Same as xs:string |
xs:Name |
Same as xs:string |
xs:NCName |
Same as xs:string |
xs:anyURI |
Same as xs:string |
xs:QName |
Same as xs:string |
xs:NOTATION |
Same as xs:string |
xs:boolean |
tinyint(1) |
xs:float |
float |
xs:double |
double |
xs:decimal |
decimal |
xs:duration |
timestamp |
xs:dateTime |
datetime |
xs:time |
time |
xs:date |
date |
xs:gYearMonth |
timestamp(4) |
xs:gYear |
year(4) |
xs:gMonthDay |
timestamp(8); constraints to check month, day |
xs:gDay |
timestamp(8); constraints to check day |
xs:gMonth |
timestamp(8); constraints to check month |
xs:hexBinary |
If no facets then blob (255) |
|
else if facet length is set and <= 255 |
|
else if facet maxLength is set and <= 255 |
|
else if maxlength is set and <= 65545 |
|
else if maxlength is set and <= 16777215 |
|
else if maxlength is set and <= 429496295 |
xs:base64Binary |
Same as xs:hexBinary |
xs:integer |
Integer |
xs:int |
int |
xs:negativeInteger |
Integer (constrained to {...,-2,-1}) |
xs:positiveInteger |
Integer (constrained to {1,2,...}) |
xs:nonNegativeInteger |
Integer (constrained to {0,1,2,...}) |
xs:nonPositiveInteger |
Integer (constrained to {...,-2,-1,0}) |
xs:unsignedInt |
Int (additional constraints) |
xs:short |
Smallint |
xs:unsignedShort |
Smallint (additional constraints) |
xs:long |
Bigint |
xs:unsignedLong |
Bigint (additional constraints) |
xs:byte |
Tinyint |
xs:unsignedByte |
Tinyint (additional constraints) |