#include <config.h>
#include <glib.h>
-#include <parser.h>
-#include <parserInternals.h>
+#include <libxml/parser.h>
+#include <libxml/parserInternals.h>
#include "minidom.h"
mDOMDocRef
mdom_load(const char* file_name, gboolean subst, mDOMEntityResolver entity_resolver)
{
- xmlSAXHandler sax;
xmlParserCtxtPtr ctxt;
mDOMDocRef doc;
xmlSubstituteEntitiesDefault(subst);
- sax = xmlDefaultSAXHandler;
- sax.getEntity = entity_resolver;
-
ctxt = xmlCreateFileParserCtxt(file_name);
if (ctxt == NULL) return NULL;
-
- ctxt->sax = &sax;
+ g_assert(ctxt->sax != NULL);
+ ctxt->sax->getEntity = entity_resolver;
xmlParseDocument(ctxt);
doc = ctxt->myDoc;
- ctxt->sax = NULL;
xmlFreeParserCtxt(ctxt);
return doc;
#endif /* HAVE_LIBXML2 */
}
+gboolean
+mdom_node_has_attribute_ns(mDOMNodeRef node, mDOMConstStringRef name, mDOMConstStringRef uri)
+{
+ g_return_val_if_fail(node != NULL, FALSE);
+ g_return_val_if_fail(name != NULL, FALSE);
+ g_return_val_if_fail(uri != NULL, FALSE);
+#ifdef HAVE_LIBXML2
+ return (xmlHasNsProp(node, name, uri) != NULL) ? TRUE : FALSE;
+#else
+ return FALSE;
+#endif /* HAVE_LIBXML2 */
+}
+
mDOMStringRef
mdom_node_get_content(mDOMNodeRef node)
{