RE: Resolution of "ref" attribute in case of <override>

> 
> How will the prefix in the ref attribute in the 
> attributeGroup element be handled?  If D2' is the result of 
> applying the xs:override transform, and D2' contains an 
> element information item that is identical to the one for the 
> <attributeGroup>, I expect it will have [in-scope namespaces] 
> based on what we see above; namely, the qrs prefix will 
> necessarily resolve to "uri:example.com".  Is that correct?

Yes. In fact, this doesn't even depend on the stylesheet being schema-aware
and on @ref being known to be a QName. The element is copied using
<xsl:copy-of>, which copies all the in-scope namespaces of an element,
including therefore the namespace binding for "qrs".
> 
> Also, a second question.  I don't speak XSLT, but the 
> stylesheet given for the transformation for xs:override 
> includes a comment that says :
> 
>   <!--* change xs:override elements:  children which match 
>       * children of $overrideElement are replaced, others are
>       * kept, and at the end all children of $overrideElement
>       * not already inserted are added.
>       *-->
> 
> The "at the end all children..." clause doesn't appear to be 
> consistent with the description that precedes the stylesheet. 
>  Specifically, I don't see where a child of O1 that does not 
> correspond to a child of D2 
> would be put into D2'.   Perhaps I misunderstand the comment, 
> or perhaps 
> it isn't consistent with the XSLT that is there (again, I 
> don't speak XSLT).  Is there an inconsistency here?

I think Michael Sperberg McQueen has explained this part. It is complex and
my brain aches a little every time I look at it, but I think I have
convinced myself that it works. It would benefit, however, from some serious
testing: there is an assumption that we will produce tests before exiting
CR.

Regards,

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

Received on Thursday, 22 October 2009 08:08:58 UTC