Re: p:namespaces proposals

Norm,

On 22 Jul 2008, at 02:15, Norman Walsh wrote:
> Currently, we say it's a static error (err:XS0051) if the value of the
> exclude-prefixes attribute is wrong. I've changed that into a dynamic
> error because you can't check the prefixes until runtime.

Huh? I assume you're talking about this:

"Irrespective of how the set of namespaces are determined, the except- 
prefixes attribute can be used to exclude one or more namespaces. The  
value of the except-prefixes attribute must be a sequence of tokens,  
each of which must be a prefix bound to a namespace in the in-scope  
namespaces of thep:namespaces element. All bindings of prefixes to  
each of the namespaces thus identified are excluded. It is a static  
error (err:XS0051) if the except-prefixes attribute on p:namespaces  
does not contain a list of tokens or if any of those tokens is not a  
prefix bound to a namespace in the in-scope namespaces of the  
p:namespaces element."

I think the point of exclude-prefixes here is to handle the situation  
where you want most of the namespace bindings from the pipeline  
document, but want to exclude a few (perhaps to avoid the possibility  
of clashes with namespace bindings from an option or an element). You  
wouldn't want to exclude prefixes if they came from an option or an  
element, because there's no way of knowing which of those prefixes  
might actually be used in the value of the 'select' attribute.

So it only excludes prefixes from the in-scope namespaces on the  
<p:namespaces> element (as it says above). And all *those* namespaces  
bindings *are* known statically.

> We also say:
>
>  It is a dynamic error (err:XD0013) if the specified
>  namespace bindings are inconsistent; that is, if the same prefix is
>  bound to two different namespace names.
>
> Do we really want that? Does it make more sense to construct the
> mapping in the order in which the p:namespace elements are specified
> and just say that if the same prefix is defined multiple times, the
> last binding wins?

I'd be OK with that as long as there's wording to imply that the  
processor should give the user a warning in that case.

Jeni
-- 
Jeni Tennison
http://www.jenitennison.com

Received on Tuesday, 22 July 2008 12:25:17 UTC