protected function takeAttributeFromDOM($attribute) { switch ($attribute->localName) { case 'etag': // ETags are special, since they can be conveyed by either the // HTTP ETag header or as an XML attribute. $etag = $attribute->nodeValue; if (is_null($this->_etag)) { $this->_etag = $etag; } elseif ($this->_etag != $etag) { require_once 'Zend/Gdata/App/IOException.php'; throw new Zend_Gdata_App_IOException("ETag mismatch"); } break; default: parent::takeAttributeFromDOM($attribute); break; } }