/* $Id: ruby_xml_xpath.h,v 1.6 2002/10/22 07:56:53 sean Exp $ */

/* Please see the LICENSE file for copyright and distribution information */

#ifndef __RUBY_XML_XPATH__
#define __RUBY_XML_XPATH__

extern VALUE cXMLXPath;
extern VALUE eXMLXPathInvalidPath;

typedef struct ruby_xml_xpath {
  VALUE xd;
  VALUE ctxt;
  xmlXPathObjectPtr xpop;
} ruby_xml_xpath;

void ruby_xml_xpath_free(ruby_xml_xpath *rxxp);
VALUE ruby_xml_xpath_find(VALUE class, VALUE node, VALUE xpath_string);
VALUE ruby_xml_xpath_find2(VALUE node, VALUE xpath_string);
VALUE ruby_xml_xpath_new(VALUE class, VALUE xd, VALUE xxpc,
			 xmlXPathObjectPtr xpop);
void ruby_init_xml_xpath(void);

#endif
