Subject: RE: [xsl] testing for string and number in XSLT 2.0 was Re: [xsl] Test For Numeric Values? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 8 Apr 2005 12:55:05 +0100 |
> 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] testing for string and nu, Michael Kay | Thread | Re: [xsl] testing for string and nu, Dimitre Novatchev |
RE: [xsl] adding namespaces to resu, omprakash . v | Date | RE: [xsl] viewing as a html, Michael Kay |
Month |