XSLT 2.0 xsl:attribute vs xmlns

Hello again,

In XSLT 2.0 (15 November 2002 WD), ERR086 states the following
for xsl:attribute's evaluated 'name' attribute value template:

  It is a dynamic error if the effective value is not a QName 
  or is the string xmlns. The processor must either signal the 
  error, or must recover by not adding the attribute to the
  result tree.

This is the same as in XSLT 1.0.

That section goes on to say that in the case where the namespace is not null 
and 'xmlns' is the preferred prefix (as indicated in the xsl:attribute 'name' 
attr), that a generated prefix must be used instead.

It seems like the spec is confusing serialization issues (concern for
prefixes) with XPath data model issues (whether it's OK to have an attribute
with a certain expanded-name).

I suggest moving the serialization concerns to the section on XML output,
or at least mention them there.

Also, I'm not entirely convinced that there should be an outright ban on
the creation of an attribute with local-name 'xmlns' in no namespace; the
XPath data model does not explicitly forbid it, and if I'm producing non-XML 
output from the result tree, it might be allowable. Even if it is supposed
to be forbidden, there might be a case for performing the same kind of 
substitution with a generated name as is done for the prefix case, at the 
processor's option. Maybe I'm crazy.

Mike

-- 
  Mike J. Brown   |  http://skew.org/~mike/resume/
  Denver, CO, USA |  http://skew.org/xml/

Received on Tuesday, 21 January 2003 04:55:03 UTC