XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition (463 page)

BOOK: XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition
11.56Mb size Format: txt, pdf, ePub

Converting from gYearMonth

Destination Type
Rules
gYearMonth
The value is returned unchanged.
string
The output will be in the form
YYYY-MM
, followed by a timezone if the value includes one, formatted as for
xs:date
. Negative years are preceded by
-
.
untypedAtomic
Returns the same result as converting to a string, but the result is labeled as
untypedAtomic
.

Converting from hexBinary

Destination Type
Rules
base64Binary
A
base64Binary
value is constructed containing the same octets (bytes) as the original
hexBinary
value.
hexBinary
The value is returned unchanged.
string
The canonical lexical representation of the
hexBinary
value is returned, as a string. This representation uses two hexadecimal digits to represent each octet in the value. The digits used are 0–9 and A–F (uppercase).
untypedAtomic
Returns the same result as converting to a string, but the result is labeled as
untypedAtomic
.

Converting from NOTATION

Destination Type
Rules
NOTATION
Casting to
xs:NOTATION
itself is not permitted, because
xs:NOTATION
is an abstract type. When casting to a type derived from
xs:NOTATION
, the value is returned unchanged, provided that it meets the rules for the subtype.
string
If the value contains a prefix, the result is in the form
prefix:localName
; otherwise, the result is the local name.
untypedAtomic
Returns the same result as converting to a string, but the result is labeled as
untypedAtomic
.

Converting from QName

Destination Type
Rules
QName
The value is returned unchanged.
string
If the value contains a prefix, the result is in the form
prefix:localName
; otherwise, the result is the local name.
untypedAtomic
Returns the same result as converting to a string, but the result is labeled as
untypedAtomic
.

Converting from string

Destination Type
Rules
anyURI
base64Binary
boolean
date
dateTime
decimal
double
duration
float
gDay
gMonth
gMonthDay
gYear
gYearMonth
hexBinary
string
time
The string is converted to the destination type using the same rules as are applied during schema validation of an element or attribute declared with this type.
Firstly, whitespace is normalized or collapsed as determined by the
whiteSpace
facet of the target type. (Except for the trivial conversion from string to string, this means that leading and trailing whitespace is removed). Then the resulting value is tested to check that it is a valid lexical representation for the specified atomic type, and the corresponding value of that type is returned.
The rules are refined in the case of the date and time types to allow the timezone information to be retained (in XML Schema, these are lost during the process of validation).
NOTATION
Conversion to
xs:NOTATION
itself is not allowed, because
xs:NOTATION
is an abstract type. Conversion to a type derived from
xs:NOTATION
follows the same rules as conversion to a QName—the value must be supplied as a string literal.
QName
Casting from a string to a QName is allowed only if the value is supplied as a string literal. The namespace context is taken from the static context of the XPath expression. If the
QName
contains no prefix, then the default namespace for elements and types is used (in XSLT, this is the namespace declared using the
xpath-default-namespace
attribute).
untypedAtomic
The returned value contains the same characters as the original string, but the result is labeled as
untypedAtomic
.

Converting from time

Destination Type
Rules
string
Returns the canonical lexical representation of the time, retaining the original timezone. For example, the value might be output as
13:20:05.012+01:00
. The timezone is represented as
±hh:mm
, except for UTC, which is represented by the single letter
Z
.
time
The value is returned unchanged.
untypedAtomic
Returns the same result as converting to a string, but the result is labeled as
untypedAtomic
.

Other books

The Bad Wolf by Michelle Clay
Anarchist Book 3 by Jordan Silver
Severe Clear by Stuart Woods
Guarding January by Sean Michael
Legio XVII: Battle of Zama by Thomas A. Timmes
Control by M. S. Willis
Someone to Watch Over Me by Madeleine Reiss