summaryrefslogtreecommitdiff
path: root/plugins/variables/libxml/DOCBparser.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/variables/libxml/DOCBparser.h')
-rw-r--r--plugins/variables/libxml/DOCBparser.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/plugins/variables/libxml/DOCBparser.h b/plugins/variables/libxml/DOCBparser.h
new file mode 100644
index 0000000000..4b7230f17d
--- /dev/null
+++ b/plugins/variables/libxml/DOCBparser.h
@@ -0,0 +1,73 @@
+/*
+ * DOCBparser.h : interface for a DocBook SGML non-verifying parser
+ *
+ * See Copyright for the status of this software.
+ *
+ * daniel@veillard.com
+ */
+
+#ifndef __DOCB_PARSER_H__
+#define __DOCB_PARSER_H__
+#include <libxml/parser.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Most of the back-end structures from XML and SGML are shared.
+ */
+typedef xmlParserCtxt docbParserCtxt;
+typedef xmlParserCtxtPtr docbParserCtxtPtr;
+typedef xmlParserNodeInfo docbParserNodeInfo;
+typedef xmlSAXHandler docbSAXHandler;
+typedef xmlSAXHandlerPtr docbSAXHandlerPtr;
+typedef xmlParserInput docbParserInput;
+typedef xmlParserInputPtr docbParserInputPtr;
+typedef xmlDocPtr docbDocPtr;
+typedef xmlNodePtr docbNodePtr;
+
+/*
+ * There is only few public functions.
+ */
+int docbEncodeEntities(unsigned char *out,
+ int *outlen,
+ const unsigned char *in,
+ int *inlen, int quoteChar);
+
+docbDocPtr docbSAXParseDoc (xmlChar *cur,
+ const char *encoding,
+ docbSAXHandlerPtr sax,
+ void *userData);
+docbDocPtr docbParseDoc (xmlChar *cur,
+ const char *encoding);
+docbDocPtr docbSAXParseFile(const char *filename,
+ const char *encoding,
+ docbSAXHandlerPtr sax,
+ void *userData);
+docbDocPtr docbParseFile (const char *filename,
+ const char *encoding);
+
+/**
+ * Interfaces for the Push mode.
+ */
+void docbFreeParserCtxt (docbParserCtxtPtr ctxt);
+docbParserCtxtPtr docbCreatePushParserCtxt(docbSAXHandlerPtr sax,
+ void *user_data,
+ const char *chunk,
+ int size,
+ const char *filename,
+ xmlCharEncoding enc);
+int docbParseChunk (docbParserCtxtPtr ctxt,
+ const char *chunk,
+ int size,
+ int terminate);
+docbParserCtxtPtr docbCreateFileParserCtxt(const char *filename,
+ const char *encoding);
+int docbParseDocument (docbParserCtxtPtr ctxt);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __DOCB_PARSER_H__ */