Datatypes in XPath 2.0
The XPath 2.0 data model is perhaps the most significant
change to writing XSLT version 2.0 stylesheets. We’ll cover the
datatypes supported by XPath 2.0. XPath 2.0 supports all of the basic
datatypes defined in XML Schema, and a schema-aware XSLT 2.0 processor
lets you create your own datatypes. We’ll start with the basic
datatypes; these are the only datatypes supported by a basic
XSLT processor. To support other datatypes, including
datatypes we define (po:purchaseOrder
, for example) and derived
types defined in XML Schema (such as xs:nonNegativeInteger
), you need a
schema-aware XSLT processor.
We’ve already looked at using <xsl:variable name="sample" select="'3'"
as="xs:integer"/>
as a way of creating an xs:integer
value. XPath 2.0 also provides
constructor functions, described in the following
list. For example, <xsl:variable
name="sample"
select="xs:integer(3)"/>
creates a
new xs:integer
value, whereas
<xsl:variable
name="birthday"
select="xs:date('1995-04-21')"/>
creates a new xs:date
value:
xs:string
The
xs:string
datatype represents a string. Every datatype supported by XPath 2.0 has a string representation. If you want to see how a datatype looks as a string, the XSLT<xsl:value-of>
element will do the trick. You can convert anything to a string by using the constructor functionxs:string()
. The constructor is the equivalent of the JavatoString()
method that’s inherited by every class.xs:boolean
As in XSLT 1.0, the string values
true
andfalse
don’t ...
Get XSLT, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.