[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Is there a way to tell if a node is an integer?

Subject: RE: Is there a way to tell if a node is an integer?
From: cknell@xxxxxxxxxx
Date: Sat, 22 Apr 2006 01:06:17 -0400
languageid
It's real code, allright. The problem you are experiencing is very likely the result of your using an XSLT 1.0 transformer. XSLT 2.0 opens the door to schema-aware processing. The "xs:" namespace is from XML Schema (http://www.w3.org/2001/XMLSchema). XML Schema makes possible the definition of elements as being of particular data types. If you were using an XSLT 2.0 schema-aware processor and you defined your stylesheet as being an XSLT 2.0 stylesheet, the test would work.

See these links:
http://www.xml.com/pub/a/2000/11/29/schemas/part1.html - A tutorial on XML Schema
http://www.w3.org/XML/Schema - Official site of XML Schema at w3.org
http://www.saxonica.com/ - Web site of the first (and arguably the best) XSLT 2.0 processor, available in schema-aware (paid license) and non-schema-aware (no-cost license)
-- 
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     Allison Bloodworth <abloodworth@xxxxxxxxxxxx>
Sent:     Fri, 21 Apr 2006 18:31:05 -0700
To:       <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Subject:   Is there a way to tell if a node is an integer?

Hi, 

Is there a way to tell if a node is an integer? I found this message:
http://www.xslt.com/html/xsl-list/2004-10/msg00364.html where it appears to
say you can use a statement like this:

<xsl:if test="data($a) instance of xs:integer">

But this looks kind of strange, and maybe it is pseudo-code because it
breaks my transform. 
					<xsl:if
test="./Locations/Location/Address/cbc:Room instance of xs:integer">Room is
an integer</xsl:if>

I want to be able to tell if the cbc:Room node here is an integer:

        <Address>
          <cbc:Postbox languageID="en-us"
languageLocaleID="normalizedString">2105</cbc:Postbox>
          <cbc:Room languageID="en-us"
languageLocaleID="normalizedString">2nd floor</cbc:Room>

          <cbc:StreetName languageID="en-us"
languageLocaleID="normalizedString">Bancroft Way</cbc:StreetName>
          <cbc:CityName languageID="en-us"
languageLocaleID="normalizedString">Berkeley</cbc:CityName>
          <cbc:PostalZone languageID="en-us"
languageLocaleID="normalizedString">94710</cbc:PostalZone>
          <cbc:CountrySubentity languageID="en-us"
languageLocaleID="normalizedString">California</cbc:CountrySubentity>
          <cac:Country>
            <cac:IdentificationCode languageID="en" codeListID="ISO3166-1"
codeListVersionID="0.3"
codeListSchemeURI="urn:oasis:names:specification:ubl:schema:xsd:CountryIdent
ificationCode-1.0" codeListAgencyName="United Nations Economic Commission
for Europe" codeListName="Country"
codeListAgencyID="6">US</cac:IdentificationCode>

          </cac:Country>
        </Address>

Thanks for any help you can give me!

Allison Bloodworth
Principal Administrative Analyst
Technology Program Office
University of California, Berkeley
(415) 377-8243
abloodworth@xxxxxxxxxxxx

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.