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

RE: testing for string and number in XSLT 2.0 was Re:

Subject: RE: testing for string and number in XSLT 2.0 was Re: Test For Numeric Values?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 8 Apr 2005 12:55:05 +0100
RE:  testing for string and number in XSLT 2.0 was Re:
> What will really be useful is a function with an argument of item(),
> that returns the real type of the argument.
> 
> This would be trivial to achieve if same-arity function 
> overloading was allowed.
> 
> Does anybody know of another way?

You can write

<xsl:choose>
<xsl:when test="$arg instanceof xs:boolean">boolean</xsl:when>
<xsl:when test="$arg instanceof xs:string">string</xsl:when>
etc.

> 
> Or shall we propose an exslt:type-of()  ?
>

The WGs decided not to provide such a function mainly because it inhibits
substitutability. For example, a function that is declared to return an
xs:decimal might actually (on some or all occasions) return an xs:integer,
or perhaps an oracle:binary-coded-decimal-integer. The result of an
xx:type-of() function would therefore differ from one implementation to
another. People would tend to write

if (exslt:type-of($x) = 'decimal')

which would fail on some implementations and succeed on others. By contrast,
writing "$x instance of xs:decimal" is portable, because it also matches
subtypes.

(Saxon does provide such a function, but I advise its use only for
diagnostics.)

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

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.