Mapping dei tipi di dati XSD ai tipi di dati XPath (SQLXML 4.0)

Quando viene eseguita una query XPath su uno schema XSD e il tipo XSD è specificato nell'attributo xsd:type, XPath utilizza il tipo di dati specificato durante l'elaborazione della query.

Il tipo di dati XPath di un nodo viene derivato dal tipo di dati XSD nello schema, come illustrato nella tabella seguente. A scopo illustrativo, viene utilizzato il nodo EmployeeID.

Tipo di dati XSD

Tipo di dati XDR

Tipo di dati XPath

equivalente

Conversione di SQL Server

utilizzata

Base64Binary

HexBinary

None

bin.base64bin.hex

Not applicable

Nessuno

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

N/D (in XPath non è disponibile alcun tipo di dati equivalente al tipo di dati 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)