00001
00002
00003
00004
00005
00006
00007 #ifndef _XML_H_
00008 #define _XML_H_
00009
00010 typedef struct xmlAttribute {
00011 char *name;
00012 char *value;
00013 struct xmlAttribute *next;
00014 } txmlAttribute;
00015
00016 typedef struct xmlElement {
00017 char *name;
00018 char *pcdata;
00019 struct xmlAttribute *attr;
00020 int level;
00021 struct xmlElement *next;
00022 struct xmlElement *sub;
00023 struct xmlElement *up;
00024 } txmlElement;
00025
00026 extern txmlElement *xmlInsertElt(txmlElement *curElt, const char *name, const char **atts);
00027 extern txmlElement *xmlReadFile(const char *file);
00028 extern int xmlWriteFile(const char *file, txmlElement *startElt, char *dtd);
00029 extern char *xmlGetAttr(txmlElement *curElt, char *attrname);
00030 extern txmlElement *xmlNextElt(txmlElement *startElt);
00031 extern txmlElement *xmlSubElt(txmlElement *startElt);
00032 extern txmlElement *xmlWalkElt(txmlElement *startElt);
00033 extern txmlElement *xmlWalkSubElt(txmlElement *startElt, txmlElement *topElt);
00034 extern txmlElement *xmlFindNextElt(txmlElement *startElt, char *name);
00035 extern txmlElement *xmlFindEltAttr(txmlElement *startElt, char *name, char *attrname, char *attrvalue);
00036
00037 #endif
00038
00039
00040