/*
 * call-seq:
 *  add_namespace(prefix, href)
 *
 * Add a namespace with +prefix+ using +href+
 */
static VALUE add_namespace(VALUE self, VALUE prefix, VALUE href)
{
  xmlNodePtr node;
  Data_Get_Struct(self, xmlNode, node);

  xmlNsPtr ns = xmlNewNs(
      node,
      (const xmlChar *)StringValuePtr(href),
      (const xmlChar *)StringValuePtr(prefix)
  );

  if(NULL == ns) return self;

  xmlNewNsProp(
      node,
      ns,
      (const xmlChar *)StringValuePtr(href),
      (const xmlChar *)StringValuePtr(prefix)
  );

  return self;
}