Cast as, Treat as
The expression E cast as T
converts the value of expression E
to
type T
. Whether T
is a built-in type or a user-defined type, the
effect is exactly the same as using the constructor function T (E)
.
The expression E treat as T
is designed for environments that perform static
type checking. Saxon doesn't do static type checking, so this expression has very little
use, except to document an assertion that the expression E
is of a particular
type. A run-time failure will be reported if the value of E
is not of type
T
; no attempt is made to convert the value to this type.