    /*
     * call-seq:
     *   attribute_with_ns(name, namespace)
     *
     * Get the attribute node with +name+ and +namespace+
     */
    static VALUE attribute_with_ns(VALUE self, VALUE name, VALUE namespace)
    {
      xmlNodePtr node;
      xmlAttrPtr prop;
      Data_Get_Struct(self, xmlNode, node);
      prop = xmlHasNsProp(node, (xmlChar *)StringValuePtr(name),
          Qnil == namespace ? NULL : (xmlChar *)StringValuePtr(namespace));

      if(! prop) return Qnil;
      return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)prop);
    }