Re: Reviews of DOM 3 Core and Load&Save

On Wed, 2003-08-06 at 13:35, François Yergeau wrote:
> +++++++++++++++++++++++++++++++++++++++++
> Node interface, nodeName attribute: the description doesn't say that
> this is supposed to be the qualified name of the node.  Nor do the
> descriptions of Element.tagName and Attr.name.  One has to determine
> that from the description of Node.prefix!

Since nodeName refers to Element.tagName and Attr.name, we clarified
those 2 attributes:
[[
If Node.localName is different from null, this attribute is a qualified
name.
]]

> +++++++++++++++++++++++++++++++++++++++++
> Attr interface, "value" attribute: the spec should clearly specify that
> when retrieving the value of an attribute that contains a reference to
> an entity for which no definition is available, the processor
> will treat this entity reference as an empty reference (see the reply to
> C15 in
> http://lists.w3.org/Archives/Member/w3c-dom-wg/2003AprJun/0075.html).
> Same comment for Element.getAttribute() and Element.getAttributeNS().

we clarified the description of EntityReference:
[[
When an EntityReference node represents a reference to an unknown
entity, the node has no children and its replacement value, when used by
Attr.value for example, is empty.
]]

> +++++++++++++++++++++++++++++++++++++++++
> Entity interface: the 4th paragraph starts "XML does not mandate that a
> non-validating XML processor read and process entity declarations made
> in the external subset or declared in external parameter entities."  The
> last occurrence of "external" is superfluous and somewhat misleading,
> since non-validating processors are not obligated to read even
> *internal* parameter entities.  This latter point is pretty obscure and
> under-documented in the XML spec, but see the last sentence in
> http://www.w3.org/TR/2000/REC-xml-20001006#sec-rmd, as well as published
> erratum E8 at http://www.w3.org/XML/xml-V10-2e-errata#E8.

The superfluous occurrence of external has been removed.

> +++++++++++++++++++++++++++++++++++++++++
> Appendix B.1
> 
> void Element.normalizeNamespaces()
> {
>       ...
> 
>       // Fixup element's namespace
>       //
>       if ( Element's namespaceURI != null )
>       {
>         ...
>       }
>       else
>       {
>         // Element has no namespace URI:
>         if ( Element's localName is null )
>         {
>           ...
>         }
>         else
>         {
>           // Element has no namespace URI
>           // Element has no pseudo-prefix
>           if ( default Namespace in scope is "no namespace" )
>           {
>             ==> do nothing, we're fine as we stand
>           }
>           else
>           {
>             if ( there's a conflicting local default namespace declaration
>                  already present )
>             {
>               ==> change its value to use this empty namespace.
> 
>             }
>             else
>             {
>               ==> Set the default namespace to "no namespace" by creating or
>               changing a local declaration attribute: xmlns="".
> 
>             }
> 
> There seems to be useless redundancy in the last "if".  Paraphrasing:
> "If there's a declaration, change it, else create one or change an
> existing one". Either drop the "if" and keep the "else" part or keep the
> "if" and drop "or changing" from the "else" part.

This has been fixed.

> +++++++++++++++++++++++++++++++++++++++++
> In appendix C.2.2, the statement "Element nodes with no namespace URI
> (Node.namespaceURI equals to null) cannot be represented using the
> Infoset." is counterfactual.  The infoset supports these, provided names
> do not contain colons.

The sentence has been removed.

Philippe

Received on Thursday, 28 August 2003 16:51:14 UTC