xs:hexBinary
The primitive type xs:hexBinary represents binary data as a sequence of binary octets. The type xs:hexBinary uses hexadecimal encoding, where each binary octet is a two-character hexadecimal number. Digits 0 through 9 and lowercase and uppercase letters A through F are permitted. For example, 0CD7 and 0cd7 are two equal xs:hexBinary representations consisting of two octets.
Table B-16 lists some values of the xs:hexBinary type.
Table B-16. Values of the xs:hexBinary type
|
Values |
Explanation |
|---|---|
|
Valid | |
0CD7 | |
0cd7 |
The equivalent of |
|
An empty value is allowed | |
|
Invalid | |
CD7 |
An odd number of characters is not allowed; characters appear in pairs |
Casting and Comparing xs:hexBinary Values
Values of type xs:hexBinary can be cast to and from xs:base64Binary, xs:string, and xs:untypedAtomic. When cast to xs:string, xs:hexBinary values are converted to their canonical representation, which uses only uppercase letters.
Two xs:hexBinary values can be compared using the value comparison operators = and !=. Two xs:hexBinary values are considered equal if their canonical representations are equal. This means that the case of the letters is not taken into account in the comparison. An xs:hexBinary value is never equal to an xs:base64Binary value, nor is it equal to an xs:string containing the same characters.
Because the type is not ordered, two xs:hexBinary values cannot be compared using the <, <=, >, or >= operators.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access