On Jun 3, 2011, at 1:38 PM, Matt Pelmear wrote:

> Hello,
> 
> I discovered today that the DOMNode::getAttribute() function (which is
> undocumented on the php site) returns an empty string if the requested
> attribute doesn't exist in the node.
> 
> From the source:
>       if (value == NULL) {
>               RETURN_EMPTY_STRING();
>       } else {
>               RETVAL_STRING((char *)value, 1);
>               xmlFree(value);
>       }
> 
> Seems to me that it should return NULL. (That's what libxml does, apparently.)
> 
> Does anyone know of a particular reason it returns an empty string instead?
> Does anyone know of a particular reason it is not documented?
> (I'd be happy to document and provide the ridiculously simple patch of
> returning NULL...)

We match the behaviour the w3c defines for the DOM.

DOMString
The Attr value as a string, or the empty string if that attribute does not have 
a specified or default value.

Consider using  hasAttribute() if you care about the existence.

- Scott
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to