[jdom-interest] getText() and getAttributeValue()
james todd
james.todd at Sun.COM
Wed Feb 13 11:53:48 PST 2002
> What you'd really want is getAttributeValue(String name, String
> fallback). It's even more powerful since "" doesn't have to be the
> fallback. We had that before but it was removed since people didn't
> like its ability to "mask errors". I personally would rather have it.
+1
- james
Jason Hunter wrote:
>
> > For Element, if no textual content exists, getText() returns an empty
> > string. However, if getAttributeValue() is called for an attribute that does
> > not exist, null is returned. Why the inconsistency?
>
> What is the text of
>
> <foo></foo>
>
> It's "".
>
> What is the text of
>
> <foo/>
>
> It's "" also because it's semantically identical to <foo></foo>.
>
> Now, what is the text of this attrib value?
>
> <foo attrib="">
>
> It's clearly "".
>
> What is the text of this attrib value?
>
> <foo/>
>
> There is none, so it's null.
>
> > Under what circumstances would client code care to differentiate between an
> > attribute existing with empty string and the attibute not existing at all?
>
> I'm sure there are many cases.
>
> > getAttributeValue() should return empty string if the attribute does not
> > exist because:
> > 1) It makes it more consistent with getText()
> > 2) One won't have to check for null on the return value.
> >
> > Right now, my code is littered with:
> > String name = Parse.assure(elem.getAttributeValue("name"));
> > String id = Parse.assure(elem.getAttributeValue("id"));
> > // etc.
> >
> > ...where Parse.assure(String str) returns empty string if str is null; or
> > str unchanged if it is non-null. It sure would be nice to get rid of all
> > those checks.
>
> What you'd really want is getAttributeValue(String name, String
> fallback). It's even more powerful since "" doesn't have to be the
> fallback. We had that before but it was removed since people didn't
> like its ability to "mask errors". I personally would rather have it.
>
> -jh-
> _______________________________________________
> To control your jdom-interest membership:
> http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhost.com
More information about the jdom-interest
mailing list