-#include <libxml/parser.h>
-#include <libxml/tree.h>
-
-static int match_element(xmlNode *ptr, const char *elem)
-{
- if (ptr->type == XML_ELEMENT_NODE && !xmlStrcmp(ptr->name, BAD_CAST elem))
- {
- return 1;
- }
- return 0;
-}
-
-static int match_xsd_string_n(xmlNodePtr ptr, const char *elem, NMEM nmem,
- char **val, int *len)
-{
- if (!match_element(ptr, elem))
- return 0;
- ptr = ptr->children;
- if (!ptr || ptr->type != XML_TEXT_NODE)
- {
- *val = "";
- return 1;
- }
- *val = nmem_strdup(nmem, (const char *) ptr->content);
- if (len)
- *len = xmlStrlen(ptr->content);
- return 1;
-}