Re: ACTION A-641-13

I don't think it's always the case that (E castable as L) is false. For example I think

> xs:NMTOKENS("a") castable as XS:NMTOKENS

is true. Perhaps replace "is false" by "is not generally true".

Michael Kay
Saxonica



> On 5 May 2016, at 11:20, Tim Mills <tim@cbcl.co.uk> wrote:
> 
> ACTION A-641-13 (bug 29571) on Jonathan and Tim to agree a Note to
> add to the spec to make it clear to readers that when T is a list type, T(x)
> cast as T will typically fail.
> 
> 
> I suggest the following text
> 
> 
> 
> NOTE: 
> 
> As a consequence of the rules for casting (Section 19 Casting FO31), for an expression E and type T, where
>   
> 1. T is a list type, or T is a union type of which a list type is in its transitive membership, and
> 
> 2. (E instance of L) eq true
> 
> then 
> 
> E castable as L
> 
> is false.  For example xs:NMTOKENS("a b c") castable as XS:NMTOKENS is false.  
> 
> Furthermore, if L is a list type with a minimum length facet of zero, () castable as L is false.
> 
> 
> Perhaps a similar note should be added to cover E cast as L.

Received on Thursday, 5 May 2016 10:46:47 UTC