X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fminidom%2Fminidom.c;h=93cae440dcddbcc67d396fe29c99a587332524ed;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=5d380cce9c91beecd54862e96e6cad4422f9b13e;hpb=6dcc4f53577df5a519e673ed6bc4dce9ab861e42;p=helm.git diff --git a/helm/minidom/minidom.c b/helm/minidom/minidom.c index 5d380cce9..93cae440d 100644 --- a/helm/minidom/minidom.c +++ b/helm/minidom/minidom.c @@ -23,8 +23,8 @@ #include #include -#include -#include +#include +#include #include "minidom.h" @@ -53,7 +53,6 @@ mdom_string_free(mDOMStringRef s) mDOMDocRef mdom_load(const char* file_name, gboolean subst, mDOMEntityResolver entity_resolver) { - xmlSAXHandler sax; xmlParserCtxtPtr ctxt; mDOMDocRef doc; @@ -61,18 +60,14 @@ mdom_load(const char* file_name, gboolean subst, mDOMEntityResolver entity_resol 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; @@ -263,6 +258,19 @@ mdom_node_has_attribute(mDOMNodeRef node, mDOMConstStringRef name) #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) {