[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] Is there a way to tell if a node is an integer?
Subject: RE: [xsl] Is there a way to tell if a node is an integer? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 22 Apr 2006 10:14:20 +0100 |
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: [xsl] 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Is there a way to tell if, Michael Kay | Thread | RE: [xsl] Is there a way to tell if, Allison Bloodworth |
[xsl] Accessing xml node data using, Sanket Pattekar | Date | RE: [xsl] Accessing xml node data u, Michael Kay |
Month |