summaryrefslogtreecommitdiffstats
path: root/libcsoap/soap-xml.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcsoap/soap-xml.c')
-rw-r--r--libcsoap/soap-xml.c162
1 files changed, 88 insertions, 74 deletions
diff --git a/libcsoap/soap-xml.c b/libcsoap/soap-xml.c
index f973036..288e5ff 100644
--- a/libcsoap/soap-xml.c
+++ b/libcsoap/soap-xml.c
@@ -1,5 +1,5 @@
/******************************************************************
-* $Id: soap-xml.c,v 1.6 2004/10/15 13:34:02 snowdrop Exp $
+* $Id: soap-xml.c,v 1.7 2006/01/10 11:21:55 snowdrop Exp $
*
* CSOAP Project: A SOAP client/server library in C
* Copyright (C) 2003 Ferhat Ayaz
@@ -23,111 +23,125 @@
******************************************************************/
#include <libcsoap/soap-xml.h>
-static const char* soap_env_ns = "http://schemas.xmlsoap.org/soap/envelope/";
+static const char *soap_env_ns = "http://schemas.xmlsoap.org/soap/envelope/";
-xmlNodePtr soap_xml_get_children(xmlNodePtr param)
+xmlNodePtr
+soap_xml_get_children (xmlNodePtr param)
{
- xmlNodePtr children;
-
- if (param == NULL) {
- log_error1("Invalid parameter 'param' (null)");
- return NULL;
- }
-
- children = param->xmlChildrenNode;
- while (children != NULL) {
- if (children->type != XML_ELEMENT_NODE)
- children = children->next;
- else break;
- }
-
- return children;
+ xmlNodePtr children;
+
+ if (param == NULL)
+ {
+ log_error1 ("Invalid parameter 'param' (null)");
+ return NULL;
+ }
+
+ children = param->xmlChildrenNode;
+ while (children != NULL)
+ {
+ if (children->type != XML_ELEMENT_NODE)
+ children = children->next;
+ else
+ break;
+ }
+
+ return children;
}
-xmlNodePtr soap_xml_get_next(xmlNodePtr param)
+xmlNodePtr
+soap_xml_get_next (xmlNodePtr param)
{
- xmlNodePtr node = param->next;
+ xmlNodePtr node = param->next;
- while (node != NULL) {
- if (node->type != XML_ELEMENT_NODE)
- node = node->next;
- else break;
- }
+ while (node != NULL)
+ {
+ if (node->type != XML_ELEMENT_NODE)
+ node = node->next;
+ else
+ break;
+ }
- return node;
+ return node;
}
-xmlXPathObjectPtr
-soap_xpath_eval(xmlDocPtr doc, const char *xpath)
+xmlXPathObjectPtr
+soap_xpath_eval (xmlDocPtr doc, const char *xpath)
{
- xmlXPathContextPtr context;
- xmlXPathObjectPtr result;
-
- context = xmlXPathNewContext(doc);
- result = xmlXPathEvalExpression(BAD_CAST xpath, context);
- if(xmlXPathNodeSetIsEmpty(result->nodesetval)){
- /* no result */
- return NULL;
- }
-
- xmlXPathFreeContext(context);
- return result;
+ xmlXPathContextPtr context;
+ xmlXPathObjectPtr result;
+
+ context = xmlXPathNewContext (doc);
+ result = xmlXPathEvalExpression (BAD_CAST xpath, context);
+ if (xmlXPathNodeSetIsEmpty (result->nodesetval))
+ {
+ /* no result */
+ return NULL;
+ }
+
+ xmlXPathFreeContext (context);
+ return result;
}
int
-soap_xpath_foreach(xmlDocPtr doc, const char *xpath,
- soap_xmlnode_callback cb, void *userdata)
+soap_xpath_foreach (xmlDocPtr doc, const char *xpath,
+ soap_xmlnode_callback cb, void *userdata)
{
- int i = 0;
- xmlNodeSetPtr nodeset;
- xmlXPathObjectPtr xpathobj;
+ int i = 0;
+ xmlNodeSetPtr nodeset;
+ xmlXPathObjectPtr xpathobj;
- xpathobj = soap_xpath_eval(doc, xpath);
+ xpathobj = soap_xpath_eval (doc, xpath);
- if (!xpathobj) return 0;
+ if (!xpathobj)
+ return 0;
- nodeset = xpathobj->nodesetval;
- if (!nodeset) return 0;
+ nodeset = xpathobj->nodesetval;
+ if (!nodeset)
+ return 0;
- for (i=0;i < nodeset->nodeNr; i++) {
- if (!cb(nodeset->nodeTab[i], userdata))
- break;
- }
+ for (i = 0; i < nodeset->nodeNr; i++)
+ {
+ if (!cb (nodeset->nodeTab[i], userdata))
+ break;
+ }
- xmlXPathFreeObject((xmlXPathObjectPtr)nodeset);
- return i;
+ xmlXPathFreeObject ((xmlXPathObjectPtr) nodeset);
+ return i;
}
-void soap_xml_doc_print(xmlDocPtr doc)
+void
+soap_xml_doc_print (xmlDocPtr doc)
{
- xmlBufferPtr buffer;
- xmlNodePtr root;
+ xmlBufferPtr buffer;
+ xmlNodePtr root;
- if (doc == NULL) {
- puts("xmlDocPtr is NULL!");
- return;
- }
+ if (doc == NULL)
+ {
+ puts ("xmlDocPtr is NULL!");
+ return;
+ }
- root = xmlDocGetRootElement(doc);
- if (root == NULL) {
- puts("Empty document!");
- return;
- }
+ root = xmlDocGetRootElement (doc);
+ if (root == NULL)
+ {
+ puts ("Empty document!");
+ return;
+ }
- buffer = xmlBufferCreate();
- xmlNodeDump(buffer, doc, root, 1 ,0);
- puts( (const char*)xmlBufferContent(buffer));
- xmlBufferFree(buffer);
+ buffer = xmlBufferCreate ();
+ xmlNodeDump (buffer, doc, root, 1, 0);
+ puts ((const char *) xmlBufferContent (buffer));
+ xmlBufferFree (buffer);
}
-char *soap_xml_get_text(xmlNodePtr node)
+char *
+soap_xml_get_text (xmlNodePtr node)
{
- return (char*)xmlNodeListGetString(node->doc, node->xmlChildrenNode, 1);
+ return (char *) xmlNodeListGetString (node->doc, node->xmlChildrenNode, 1);
}
-