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:stringThe
xs:stringdatatype 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:booleanAs in XSLT 1.0, the string values
trueandfalsedon’t ...
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