- From: Don Park <donpark@quake.net>
- Date: Mon, 12 Oct 1998 17:40:49 -0700
- To: <www-dom@w3.org>
Joe,
>You remember almost correctly... Apologies if I was unclear; let's try it
>again.
Heck, this is one gray area that requires a lot of words to clarify. We
were standing practically next to each other <g>
>Just so folks know how I'm biased: In my implementation, a newly-created
>Attr has no children, and Attr.setValue("") replaces the previous contents
>(if any) with an empty text node. Both cases return "" as their getValue()
>response. For now, setValue(null) happens to reset the Attr back to its
>no-children case ... that's a behavior definitely not covered by the REC,
>but I hate the thought of throwing an exception when there's a reasonable
>interpretation of the request.
In my implementation,
1. a newly-created Attr has no children (hit!)
2. an Attr with no children is a legitimate object. It should have a
getLength() value of 0, and return false when asked hasChildNodes (hit!)
3. an Attr with one child, that being an empty Text node, is also a
legitimate
object. It should have a getLength() value of 1, and return true when asked
hasChildNodes (hit!)
4. getValue() returns "" for both no-children and any number of empty text
node childrens (hit!)
5. Attr.setValue("") reset the Attr back to its no-children case (miss!)
6. Attr.setValue(null) throws NullPointerException (miss!).
Your use of the word 'legitimate' was critical, I think, in enhancing
clarity here. As far as setValue is concerned, I just couldn't see any
value of having setValue("") resulting in a single text node with empty
string.
Best,
Don Park
Docuverse
Received on Monday, 12 October 1998 20:41:24 UTC