RE: MS-FO-LC1-037: String functions should treat () as "" (as in XPath 1.0)

> -----Original Message-----
> From: Michael Rys [mailto:mrys@microsoft.com] 
> Sent: 01 July 2003 02:42
> To: public-qt-comments@w3.org
> Subject: MS-FO-LC1-037: String functions should treat () as 
> "" (as in XPath 1.0)
> 
> 
> 
> Class: Technical
> 				
> start-with and most other string functions have an XPath 1.0
> incompatibilty: () maps to "" in XPath 1.0 string functions. 
> No good reason to be incompatible. Treat () as zero-length 
> string and return xs:boolean instead of xs:boolean?.
> 
> Add this change to all other string functions as well.
> 

We came to this same conclusion in XSL WG's review of the backwards
compatibility appendix. We felt that all the functions that accept strings
should treat () as "", but that this should be a property of the function
itself rather than a feature of the function call mechanism - in other
words, user functions don't have to follow this example.

An example that particularly concerned us was [string-length(@a)=0], which
when @a is absent returns true in XPath 1.0, and in 2.0 in backwards
compatibility mode, but returns false in 2.0 in non-BC mode.

Michael Kay

Received on Tuesday, 1 July 2003 13:50:59 UTC