X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2Fminidom%2Fminidom.c;fp=helm%2Fminidom%2Fminidom.c;h=0000000000000000000000000000000000000000;hp=93cae440dcddbcc67d396fe29c99a587332524ed;hb=3ef089a4c58fbe429dd539af6215991ecbe11ee2;hpb=1c7fb836e2af4f2f3d18afd0396701f2094265ff diff --git a/helm/minidom/minidom.c b/helm/minidom/minidom.c deleted file mode 100644 index 93cae440d..000000000 --- a/helm/minidom/minidom.c +++ /dev/null @@ -1,393 +0,0 @@ -/* - * Copyright (C) 2000, Luca Padovani . - * - * This file is part of miniDOM, a minimal implementation of the - * Document Object Model - * - * miniDOM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * miniDOM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with miniDOM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * For details, send a mail to - */ - -#include -#include -#include -#include - -#include "minidom.h" - -gboolean -mdom_string_eq(mDOMConstStringRef s1, mDOMConstStringRef s2) -{ - g_return_val_if_fail(s1 != NULL, FALSE); - g_return_val_if_fail(s2 != NULL, FALSE); - - return strcmp(C_CONST_STRING(s1), C_CONST_STRING(s2)) ? FALSE : TRUE; -} - -mDOMStringRef -mdom_string_dup(mDOMConstStringRef s) -{ - g_return_val_if_fail(s != NULL, NULL); - return xmlStrdup(s); -} - -void -mdom_string_free(mDOMStringRef s) -{ - g_free(s); -} - -mDOMDocRef -mdom_load(const char* file_name, gboolean subst, mDOMEntityResolver entity_resolver) -{ - xmlParserCtxtPtr ctxt; - mDOMDocRef doc; - - g_return_val_if_fail(file_name != NULL, NULL); - - xmlSubstituteEntitiesDefault(subst); - - ctxt = xmlCreateFileParserCtxt(file_name); - if (ctxt == NULL) return NULL; - g_assert(ctxt->sax != NULL); - ctxt->sax->getEntity = entity_resolver; - - xmlParseDocument(ctxt); - - doc = ctxt->myDoc; - xmlFreeParserCtxt(ctxt); - - return doc; -} - -void -mdom_unload(mDOMDocRef doc) -{ - g_return_if_fail(doc != NULL); - xmlFreeDoc(doc); -} - -mDOMDocRef -mdom_doc_new(mDOMConstStringRef version) -{ - mDOMDocRef doc; - - g_return_val_if_fail(version != NULL, NULL); - doc = xmlNewDoc(version); - g_return_val_if_fail(doc != NULL, NULL); - - doc->extSubset = xmlNewDtd(doc, DOM_CONST_STRING("Entities"), NULL, NULL); - - return doc; -} - -void -mdom_doc_free(mDOMDocRef doc) -{ - g_return_if_fail(doc != NULL); - xmlFreeDoc(doc); -} - -mDOMEntityRef -mdom_doc_add_entity(mDOMDocRef doc, mDOMConstStringRef name, mDOMConstStringRef content) -{ - g_return_val_if_fail(doc != NULL, NULL); - g_return_val_if_fail(name != NULL, NULL); - g_return_val_if_fail(content != NULL, NULL); -#ifdef HAVE_LIBXML2 - return xmlAddDtdEntity(doc, name, XML_INTERNAL_GENERAL_ENTITY, NULL, NULL, content); -#else - xmlAddDtdEntity(doc, name, XML_INTERNAL_GENERAL_ENTITY, NULL, NULL, content); - return NULL; -#endif -} - -mDOMEntityRef -mdom_doc_get_entity(mDOMDocRef doc, mDOMConstStringRef name) -{ - g_return_val_if_fail(doc != NULL, NULL); - g_return_val_if_fail(name != NULL, NULL); - return xmlGetDtdEntity(doc, name); -} - -mDOMEntityRef -mdom_get_predefined_entity(mDOMConstStringRef name) -{ - g_return_val_if_fail(name != NULL, NULL); - return xmlGetPredefinedEntity(name); -} - -mDOMConstStringRef -mdom_entity_get_content(mDOMEntityRef entity) -{ - g_return_val_if_fail(entity != NULL, NULL); - return entity->content; -} - -mDOMNodeRef -mdom_doc_get_root_node(mDOMDocRef doc) -{ - g_return_val_if_fail(doc != NULL, NULL); - return xmlDocGetRootElement(doc); -} - -void -mdom_node_set_user_data(mDOMNodeRef node, gpointer user_data) -{ - g_return_if_fail(node != NULL); -#ifndef XML_WITHOUT_CORBA - node->_private = user_data; -#else - g_assert_not_reached(); -#endif -} - -gpointer -mdom_node_get_user_data(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); -#ifndef XML_WITHOUT_CORBA - return node->_private; -#else - g_assert_not_reached(); -#endif -} - -gboolean -mdom_node_is_text(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return xmlNodeIsText(node) ? TRUE : FALSE; -} - -gboolean -mdom_node_is_element(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return node->type == XML_ELEMENT_NODE; -} - -gboolean -mdom_node_is_blank(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); -#ifdef HAVE_LIBXML2 - return xmlIsBlankNode(node) ? TRUE : FALSE; -#else - return FALSE; -#endif -} - -gboolean -mdom_node_is_entity_ref(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return node->type == XML_ENTITY_REF_NODE; -} - -guint -mdom_node_get_type(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, 0); - return node->type; -} - -mDOMConstStringRef -mdom_node_get_name(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->name; -} - -mDOMConstStringRef -mdom_node_get_ns_uri(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - if (node->ns == NULL) return NULL; - return node->ns->href; -} - -mDOMStringRef -mdom_node_get_attribute(mDOMNodeRef node, mDOMConstStringRef name) -{ - g_return_val_if_fail(node != NULL, NULL); - g_return_val_if_fail(name != NULL, NULL); - return xmlGetProp(node, name); -} - -mDOMStringRef -mdom_node_get_attribute_ns(mDOMNodeRef node, mDOMConstStringRef name, mDOMConstStringRef uri) -{ - g_return_val_if_fail(node != NULL, NULL); - g_return_val_if_fail(uri != NULL, NULL); - g_return_val_if_fail(name != NULL, NULL); - g_return_val_if_fail(mdom_node_is_element(node), NULL); - return xmlGetNsProp(node, name, uri); -} - -gboolean -mdom_node_has_attribute(mDOMNodeRef node, mDOMConstStringRef name) -{ -#ifndef HAVE_LIBXML2 - mDOMStringRef s = NULL; -#endif /* HAVE_LIBXML2 */ - g_return_val_if_fail(node != NULL, FALSE); - g_return_val_if_fail(name != NULL, FALSE); -#ifdef HAVE_LIBXML2 - return (xmlHasProp(node, name) != NULL) ? TRUE : FALSE; -#else - s = xmlGetProp(node, name); - if (s != NULL) { - mdom_string_free(s); - return TRUE; - } - return FALSE; -#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) -{ - g_return_val_if_fail(node != NULL, NULL); - return xmlNodeGetContent(node); -} - -mDOMNodeRef -mdom_node_get_parent(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->parent; -} - -mDOMNodeRef -mdom_node_get_prev_sibling(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->prev; -} - -mDOMNodeRef -mdom_node_get_next_sibling(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->next; -} - -mDOMNodeRef -mdom_node_get_first_child(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); -#ifdef HAVE_LIBXML2 - return node->children; -#else - return node->childs; -#endif -} - -mDOMAttrRef -mdom_node_get_first_attribute(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, NULL); - return node->properties; -} - -gboolean -mdom_node_is_first(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return node->prev == NULL; -} - -gboolean -mdom_node_is_last(mDOMNodeRef node) -{ - g_return_val_if_fail(node != NULL, FALSE); - return node->next == NULL; -} - -mDOMConstStringRef -mdom_attr_get_name(mDOMAttrRef attr) -{ - g_return_val_if_fail(attr != NULL, NULL); - return attr->name; -} - -mDOMConstStringRef -mdom_attr_get_ns_uri(mDOMAttrRef attr) -{ - g_return_val_if_fail(attr != NULL, NULL); - if (attr->ns == NULL) return NULL; - return attr->ns->href; -} - -mDOMStringRef -mdom_attr_get_value(mDOMAttrRef attr) -{ -#ifdef HAVE_LIBXML2 - g_return_val_if_fail(attr != NULL, NULL); - return xmlNodeListGetString(attr->doc, attr->children, 1); -#else - mDOMNodeRef child; - g_return_val_if_fail(attr != NULL, NULL); - - child = attr->val; - if (child == NULL) return NULL; - else return xmlNodeListGetString(child->doc, attr->val, 1); -#endif -} - -mDOMAttrRef -mdom_attr_get_prev_sibling(mDOMAttrRef attr) -{ -#ifdef HAVE_LIBXML2 - g_return_val_if_fail(attr != NULL, NULL); - return attr->prev; -#else - /* in libxml 1.x there is no prev link in attributes */ - return NULL; -#endif -} - -mDOMAttrRef -mdom_attr_get_next_sibling(mDOMAttrRef attr) -{ - g_return_val_if_fail(attr != NULL, NULL); - return attr->next; -} - -mDOMNodeRef -mdom_attr_get_parent(mDOMAttrRef attr) -{ - g_return_val_if_fail(attr != NULL, NULL); -#ifdef HAVE_LIBXML2 - return attr->parent; -#else - return attr->node; -#endif -}