MySQL
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) |