Re: [xsl] testing for string and number in XSLT 2.0 was Re: [xsl] Test For Numeric Values?

Subject: Re: [xsl] testing for string and number in XSLT 2.0 was Re: [xsl] Test For Numeric Values?
From: James Fuller <jim.fuller@xxxxxxxxxxxxxx>
Date: Fri, 08 Apr 2005 22:02:01 +0200
Michael Kay wrote:

>>Until now I was under the impression that the "instance of" operator
>>is usable only if the value has been type-annotated as result of
>>validation against a specific xml schema (as described on page 287 of
>>the XPath 2.0 book), (which may not be the case with a significant
>>part of all transformations written and used in the real world).
>>
>>Is my understanding of the applicability of the "instance of" 
>>operator wrong ?
>>    
>>
>
>It's incomplete... For atomic values, you can simply do things like
>
>123 instance of xs:boolean  => false
>"123" instance of xs:string => true
>
>Also for nodes, you can do
>
>$node instance of comment()
>$node instance of element(para)
>  
>

agreed, the missing *thing* here is something like instance of
number()....instance of text() or string().........and all this is
perhaps linked to XPath data model.

I guess what doesnt 'sit' right with me is that there are plenty of
inconsistencies in both XSLT 1.0 and 2.0 that still identify a value as
a number, in the atomic sense w/o resorting to any dependency on 'datatypes'

take for example xsl:sort

<xsl:sort select="." data-type="number"/>

what does 'number' mean here?

and if we are comfortable with this type of ambiguity of identifying
something purely as a 'number'....then why not have some fairly useful
functions such as is-number() and is-string() that exist in this no mans
land.

cheers, Jim Fuller

Current Thread