24 struct _xmlAttr *attr;
27 for (cp = fmt; *cp; cp++)
32 const char ***ar =
xmalloc(
sizeof(*ar) * no);
34 for (i = 0; i < no; i++)
36 const char **s = va_arg(ap,
const char **);
40 for (attr = n->properties; attr; attr = attr->next)
42 const char *cp1 = fmt;
43 for (i = 0; *cp1; i++)
45 const char *cp2 = cp1;
47 while (*cp2 !=
'\0' && *cp2 !=
'%')
55 if (l > 0 && strlen((
const char *) attr->name) == l &&
56 !memcmp((
const char *) attr->name, cp1, l))
66 return (
const char *) attr->name;
68 *ar[i] = (
const char *) attr->children->content;
75 for (attr = n->properties; attr; attr = attr->next)
77 if (!strcmp((
const char *) attr->name, fmt))
78 return (
const char *) attr->children->content;
Header for memory handling functions.
#define xfree(x)
utility macro which calls xfree_f
#define xmalloc(x)
utility macro which calls malloc_f
const char * yaz_xml_get_prop(const xmlNode *n, const char *fmt,...)
XML node getter/creation utilities.