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

[no subject]

manbert california
Thanks again!
Allison

-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx] 
Sent: Saturday, April 22, 2006 2:14 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  Is there a way to tell if a node is an integer?



To add to my previous response, if you aren't using schema-aware processing,
then in 2.0 you can test

if test="$x castable as xs:integer"

Note the distinction: we're not testing whether $x *is* an integer, we're
testing whether it can be converted to an integer.

In 1.0 there's no such thing as an integer, but you can test whether a value
is numeric using

string(number($x)) = 'NaN'

and you can test whether it's a whole number using

number($x) = round(number($x))

or if you prefer (this one disallows 3.0)

not(contains($x, '.'))

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Allison Bloodworth [mailto:abloodworth@xxxxxxxxxxxx] 
> Sent: 22 April 2006 02:31
> 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:xs
> d: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

Cast Your Vote

We need your help – Vote for DataDirect XML Products!

  • Best SOA or XML site

Winners and finalists announced at SOA World Conference in November.

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-2007 All Rights Reserved.