RE: comments on bug 6014

>  > 4.2.2 Assembling a schema <include> clause 1
> 
>  >     "It is not an error for the .actual value. of the  
> schemaLocation
>  >     [attribute] to fail to resolve at all, in which case the
>  >     corresponding inclusion must not be performed."
> 
>  > why maintain this unpleasant dark corner, if redefine and 
> override  > etc all want to mandate resolution?
> 
> The original motivation was quite simple.  As Andrew Layman, 
> then the Microsoft rep, argued, you really don't want to say 
> that your document is valid now (at 11:39 a.m.) because the 
> network is up, but becomes invalid (without having changed) 
> at 11:46 because the router goes down and the schema for one 
> of the imported namespaces can't be dereferenced.

But the current rule has precisely that effect. If I have a wildcard with
processContents="strict", or even more dramatically one with
notQName="defined", then the validity of the instance document varies
depending on whether the include succeeds or fails, even if none of the
included components are ever referenced. By contrast, if failure to resolve
an include were an error, then validation might fail to complete if the
network were down, but you would never get a false positive or a false
negative because of transient conditions.

> 
> XSD 1.1 seems to me (speaking solely for myself here) very 
> unlikely to change in this area, for three reasons:
> 
> 
>    (4) The idea of changing this behavior may well have some support
>        in the WG.  But counting noses, I don't see the idea generating
>        consensus.  And if there is no consensus to change the status
>        quo, then the status quo remains.
> 

I agree with you on this count. Some people in the WG have very entrenched
positions. However, that's an excuse, not a reason.

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

Received on Tuesday, 14 April 2009 19:31:26 UTC