Mappage des types de données XSD en types de données XPath (SQLXML 4.0)
Lorsqu'une requête XPath est exécutée sur un schéma XSD et que le type XSD est spécifié dans l'attribut xsd:type, XPath utilise le type de données spécifié lors du traitement de la requête.
Le type de données Xpath d'un nœud est dérivé du type de données XSD dans le schéma, comme l'illustre le tableau ci-dessous. (Le nœud EmployeeID est utilisé à des fins d'illustration.)
Type de données XSD |
Type de données XDR |
Équivalent Type de données XPath |
SQL Server conversion utilisée |
---|---|---|---|
Base64Binary HexBinary |
None bin.base64bin.hex |
Not applicable |
Aucune EmployeeID |
Boolean |
boolean |
boolean |
CONVERT(bit, EmployeeID) |
Decimal, integer, float, byte, short, int, long, float, double, unsignedByte, unsignedShort, unsignedInt, unsignedLong |
number, int, float,i1, i2, i4, i8,r4, r8ui1, ui2, ui4, ui8 |
number |
CONVERT(float(53), EmployeeID) |
id, idref, idrefsentity, entities, notation, nmtoken, nmtokens, DateTime, string, AnyURI |
id, idref, idrefsentity, entities, enumeration, notation, nmtoken, nmtokens, char, dateTime, dateTime.tz, string, uri, uuid |
string |
CONVERT(nvarchar(4000), EmployeeID, 126) |
decimal |
fixed14.4 |
Non applicable (aucun type de données dans XPath n'équivaut au type de données XDR fixed14.4). |
CONVERT(money, EmployeeID) |
date |
date |
string |
LEFT(CONVERT(nvarchar(4000), EmployeeID, 126), 10) |
time |
time time.tz |
string |
SUBSTRING(CONVERT(nvarchar(4000), EmployeeID, 126), 1 + CHARINDEX(N'T', CONVERT(nvarchar(4000), EmployeeID, 126)), 24) |