xml_attrfirst
,
xml_attrnext
, xml_attrname
and xml_attrvalue
. The unfortunate similarity to xml_attrval
is, well, unfortunate, but I've written too much code that works with xml_attrval
to go back and change it now. Them's the
breaks when you design an API on the fly, I guess.
Let's do the iteration functions first; they're interesting. The other two are boring.
XMLAPI XML_ATTR * xml_attrfirst (XML * element) { if (!element) return NULL; return element->attrs; } XMLAPI XML_ATTR * xml_attrnext (XML_ATTR * attr) { if (!attr) return NULL; return attr->next; } |
const char *xml_attrname (XML_ATTR * attr) { return (attr->name); } const char *xml_attrvalue (XML_ATTR * attr) { return (attr->value); } |
This code and documentation are released under the terms of the GNU license. They are additionally copyright (c) 2000, Vivtek. All rights reserved except those explicitly granted under the terms of the GNU license. This presentation was created using LPML. |