Oracle
Cuando se crea una base de datos Oracle a partir de un esquema XML, los tipos de datos XML Schema se convierten en tipos de datos Oracle tal y como muestra la tabla que aparece a continuación:
Tipo de datos XML Schema | Tipo de datos Oracle |
xs:ID | ROWID |
xs:string | If no facets |
| if UNICODE then NVARCHAR2 (255) |
| else VARCHAR2 (255) |
| else if UNICODE |
| (Size = either length or maxLength) |
| If Size <= 2000 then NCHAR |
| if Size <= 4000 then NVARHCAR2 |
| if Size <= 4 Gigabytes then NCLOB |
| else if NON-UNICODE |
| (Size = either length or maxLength) |
| If Size <= 2000 then CHAR |
| if Size <= 4000 then VARCHAR2 |
| if Size <= 4 Gigabytes then CLOB |
xs:normalizedString | Igual que xs:string |
xs:token | Igual que xs:string |
xs:Name | Igual que xs:string |
xs:NCName | Igual que xs:string |
xs:anyURI | Igual que xs:string |
xs:QName | Igual que xs:string |
xs:NOTATION | Igual que xs:string |
xs:boolean | NUMBER with constraint Boolean |
xs:float | FLOAT |
xs:double | FLOAT |
xs:decimal | NUMBER |
xs:duration | TIMESTAMP |
xs:dateTime | TIMESTAMP |
xs:time | DATE |
xs:date | DATE |
xs:gYearMonth | INTERVAL YEAR TO MONTH |
xs:gYear | DATE |
xs:gMonthDay | DATE |
xs:gDay | DATE |
xs:gMonth | DATE |
xs:hexBinary | if no facets then RAW (255) |
| (Size = either length or maxLength) |
| If Size <= 2000 then RAW (X) |
| else Size <= 2 Gigabytes then LONG RAW (X) |
| if Size <= 4 Gigabytes then BLOB (X) |
xs:base64Binary | BLOB |
xs:integer | NUMBER |
xs:int | NUMBER |
xs:negativeInteger | NUMBER (limitado a {...,-2,-1}) |
xs:positiveInteger | NUMBER (limitado a {1,2,...}) |
xs:nonNegativeInteger | NUMBER (limitado a {0,1,2,...}) |
xs:nonPositiveInteger | NUMBER (limitado a {...,-2,-1,0}) |
xs:unsignedInt | NUMBER (restricciones adicionales) |
xs:short | NUMBER |
xs:unsignedShort | NUMBER (restricciones adicionales) |
xs:long | NUMBER |
xs:unsignedLong | NUMBER (restricciones adicionales) |
xs:byte | BLOB |
xs:unsignedByte | BLOB (restricciones adicionales) |