Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Instance of element()

File: Data.xml <?xml version="1.0"?> <addressbook>   <address>     <street>1234 Main Street</street>     <city>Z</city>     <state>WI</state>     <zip>48392</zip>   </address> </addressbook> File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet version="2.0"    xmlns:xs="http://www.w3.org/2001/XMLSchema"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   <xsl:output method="text"/>   <xsl:template match="/">     <xsl:variable name="cities" as="item()*">       <xsl:sequence select="addressbook/address/city"/>       <xsl:sequence select="('A', 'B', 'C')"/>       <xsl:sequence select="('D', 'E', 'F')"/>     </xsl:variable>     <xsl:text>Our customers live in these cities:&#xA;&#xA;</xsl:text>     <xsl:for-each select="$cities">       <xsl:choose>         <xsl:when test=". instance of element()">           <xsl:text>        Node: </xsl:text>         </xsl:when>         <xsl:otherwise>           <xsl:text>Atomic value: </xsl:text>         </xsl:otherwise>       </xsl:choose>       <xsl:value-of select="."/>       <xsl:text>&#xA;</xsl:text>     </xsl:for-each>   </xsl:template> </xsl:stylesheet> Output: Our customers live in these cities:         Node: Z Atomic value: A Atomic value: B Atomic value: C Atomic value: D Atomic value: E Atomic value: F