docs: def hasattr(self, attr, ns=None):
          """attr -- attribute 
             ns -- optional namespace, None means unprefixed attribute.
          """
          if not self.__attributes:
              self.setAttributeDictionary()
          if ns:
              return self.__attributes.get(ns,{}).has_key(attr)
          return self.__attributes.has_key(attr)