the text value.
This means that FOREACH_Attr will iterate over the text value.
Compare with TEXT_ATTRIBUTE_NAME if you explicitly don't want
that.
This is simpler; an XNode branches out in two places--attributes
and children--instead of three.
It also means that nodes without any text data actually don't
have any text data--the attribute simply doesn't exist. The
*TextValue functions are also no longer needed, though some
are left in now for compatibility (and maybe convenience).