cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kay Michael <Michael....@icl.com>
Subject RE: xsl:version
Date Tue, 07 Mar 2000 12:12:53 GMT
> 1) <foo:stylesheet version="1.0" xmlns:foo="xslt"/>
> 2) <stylesheet version="1.0" foo:whatever="" xmlns="xslt"
> xmlns:foo="whatever"/>
> 3) <xsl:stylesheet xsl:version="1.0" whatever="" xmlns:xsl="xslt"
> xmlns="whatever"/>
> 4) <xsl:stylesheet xsl:version="1.0" foo:whatever="" xmlns:xsl="xslt"
> xmlns:foo="whatever"/>
> 
> 1) is legal, we all agree on that.
> 2) is legal, because it contains an attribute which 
> expanded-name has a
> non-null namespace URI
> 3) is legal, because it contains an attribute (whatever) that has a
> non-null namespace URI ("whatever:whatever" is the full name)

No, attribute names are not qualified by the default namespace URI.

> 4) is legal, because the above quote doesn't say anything 
> about this. Of
> course, this is the normal namespace behavior. It talks about 
> attributes
> from "other" namespaces. It is implied that the attributes of the
> current namespaces _MUST_ be considered valid.
> 
I think the spec is unclear on (4). It says attribute xyz:abc is legal if
xyz is not the XSL namespace. A lawyer would interpret that as "if and only
if", because otherwise the clause would be meaningless. A computer scientist
has a right to be more pedantic. Unfortunately there is nothing in the spec
that says "everything is illegal unless it is explicitly permitted" or the
converse. Saxon doesn't report an error, but I think it would be perfectly
reasonable to do so. 

Certainly, though, if the attribute is allowed it must be ignored.

Does anyone care?

Mike Kay

Mime
View raw message