summaryrefslogtreecommitdiff
path: root/include/samus/xml.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/samus/xml.h')
-rw-r--r--include/samus/xml.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/samus/xml.h b/include/samus/xml.h
new file mode 100644
index 00000000..04308b66
--- /dev/null
+++ b/include/samus/xml.h
@@ -0,0 +1,22 @@
+/*
+ * XML mini-dom based on Inferno's XML parser API.
+ * This one uses expat and in-memory objects though... :(
+ */
+
+typedef struct sa_xmlnode_s sa_xmlnode;
+
+fz_error *sa_parsexml(sa_xmlnode **nodep, fz_file *file, int ns);
+void sa_debugxml(sa_xmlnode *node, int level);
+void sa_dropxml(sa_xmlnode *node);
+
+sa_xmlnode *sa_xmlup(sa_xmlnode *node);
+sa_xmlnode *sa_xmlnext(sa_xmlnode *node);
+sa_xmlnode *sa_xmldown(sa_xmlnode *node);
+
+int sa_isxmltext(sa_xmlnode *node);
+int sa_isxmltag(sa_xmlnode *node);
+
+char *sa_getxmlname(sa_xmlnode *node);
+char *sa_getxmlatt(sa_xmlnode *node, char *att);
+char *sa_getxmltext(sa_xmlnode *node);
+