- From: Fred L. Drake, Jr. <fdrake@acm.org>
- Date: Mon, 25 Feb 2002 19:56:45 -0500
- To: www-dom@w3.org
- Cc: "Fred L.Drake" <fdrake@acm.org>
The use of the DOMBuilderFilter is not specified as fully as an
implementor needs in order to assure an interoperable implementation.
Specific questions which need to be answered include:
1. Is an implementor allowed to change the value of the whatToShow
attribute once parsing has begun (such as within the startNode()
or endNode() implementation? While it is not difficult to support
changes to this attribute, it does have an effect on what sort of
optimizations are available to the parser and which are available
to the filter provider.
2. The constants ACCEPT, REJECT, and SKIP do not appear to be
defined. The corresponding NodeFilter constants have different
names. The constants on the NodeFilter interface should probably
not be re-used here since the load feature is not otherwise
dependent on the traversal feature.
3. The specification states that the endNode() method may remove the
node being examined from the result document, but do not comment
on the interaction of doing so and returning REJECT. If the node
has already been removed and the method returns REJECT, should the
implementation raise NOT_FOUND_ERR or should it simply continue?
4. Similarly, removing or moving the node passed to startNode() and
returning REJECT or SKIP needs to be described in excruciating
detail.
5. It is not explicitly stated that when a filter is set, nodes which
are not passed to the startNode()/endNode() methods are implicitly
accepted. This should be made explicit in the specification.
6. If whitespace-in-element-content is set to false, and a filter
returns SKIP for a mixed-content element in element content
(assume the content of the inner element includes whitespace-only
Text nodes in an unfiltered DOM), should whitespace from the inner
& outer elements be merged, or should only whitespace from the
outer element be removed? If whitespace should be merged and
whitespace-in-element-content is true, what should happen with the
whitespaceInElementContent Text attribute?
I'm sure some of these questions seem to reflect contrived examples,
but these issues can be reasonably expected in the world-as-deployed.
I appreciate the consideration of such concerns by the working group
and look forward to open discussion of these issues.
-Fred
--
Fred L. Drake, Jr. <fdrake at acm.org>
PythonLabs at Zope Corporation
Received on Monday, 25 February 2002 19:58:51 UTC