-#include <Python.h>\r
-#include <libxml/tree.h>\r
-#include <libxml/parser.h>\r
-#include <libxml/parserInternals.h>\r
-#include <libxml/catalog.h>\r
-#include <libxml/threads.h>\r
-#include <libxml/nanoftp.h>\r
-#include <libxml/nanohttp.h>\r
-#include <libxml/uri.h>\r
-#include <libxml/xpath.h>\r
-#include <libxml/xpathInternals.h>\r
-#include <libxml/debugXML.h>\r
-#include <libxml/HTMLparser.h>\r
-#include <libxml/HTMLtree.h>\r
-#include <libxml/xinclude.h>\r
-#include <libxml/xpointer.h>\r
-#include <libxml/xmlunicode.h>\r
-#include <libxml/xmlregexp.h>\r
-#include <libxml/xmlautomata.h>\r
-#include <libxml/xmlreader.h>\r
-#ifdef LIBXML_SCHEMAS_ENABLED\r
-#include <libxml/relaxng.h>\r
-#include <libxml/xmlschemas.h>\r
-#endif\r
-\r
-/**\r
- * ATTRIBUTE_UNUSED:\r
- *\r
- * Macro used to signal to GCC unused function parameters\r
- * Repeated here since the definition is not available when\r
- * compiled outside the libxml2 build tree.\r
- */\r
-#ifdef __GNUC__\r
-#ifdef ATTRIBUTE_UNUSED\r
-#undef ATTRIBUTE_UNUSED\r
-#endif\r
-#ifndef ATTRIBUTE_UNUSED\r
-#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))\r
-#endif /* ATTRIBUTE_UNUSED */\r
-#else\r
-#define ATTRIBUTE_UNUSED\r
-#endif\r
-\r
-#define PyxmlNode_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyxmlNode_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlNodePtr obj;\r
-} PyxmlNode_Object;\r
-\r
-#define PyxmlXPathContext_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyxmlXPathContext_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlXPathContextPtr obj;\r
-} PyxmlXPathContext_Object;\r
-\r
-#define PyxmlXPathParserContext_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyxmlXPathParserContext_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlXPathParserContextPtr obj;\r
-} PyxmlXPathParserContext_Object;\r
-\r
-#define PyparserCtxt_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyparserCtxt_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlParserCtxtPtr obj;\r
-} PyparserCtxt_Object;\r
-\r
-#define PyValidCtxt_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyValidCtxt_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlValidCtxtPtr obj;\r
-} PyValidCtxt_Object;\r
-\r
-#define Pycatalog_Get(v) (((v) == Py_None) ? NULL : \\r
- (((Pycatalog_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlCatalogPtr obj;\r
-} Pycatalog_Object;\r
-\r
-#ifdef LIBXML_REGEXP_ENABLED\r
-#define PyxmlReg_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyxmlReg_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlRegexpPtr obj;\r
-} PyxmlReg_Object;\r
-#endif /* LIBXML_REGEXP_ENABLED */\r
-\r
-#define PyxmlTextReader_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyxmlTextReader_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlTextReaderPtr obj;\r
-} PyxmlTextReader_Object;\r
-\r
-#define PyxmlTextReaderLocator_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyxmlTextReaderLocator_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlTextReaderLocatorPtr obj;\r
-} PyxmlTextReaderLocator_Object;\r
-\r
-#define PyURI_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyURI_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlErrorPtr obj;\r
-} PyError_Object;\r
-\r
-#define PyError_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyError_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlOutputBufferPtr obj;\r
-} PyoutputBuffer_Object;\r
-\r
-#define PyoutputBuffer_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyoutputBuffer_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlParserInputBufferPtr obj;\r
-} PyinputBuffer_Object;\r
-\r
-#define PyinputBuffer_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyinputBuffer_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlURIPtr obj;\r
-} PyURI_Object;\r
-\r
-/* FILE * have their own internal representation */\r
-#define PyFile_Get(v) (((v) == Py_None) ? NULL : \\r
- (PyFile_Check(v) ? (PyFile_AsFile(v)) : stdout))\r
-\r
-#ifdef LIBXML_SCHEMAS_ENABLED\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlRelaxNGPtr obj;\r
-} PyrelaxNgSchema_Object;\r
-\r
-#define PyrelaxNgSchema_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyrelaxNgSchema_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlRelaxNGParserCtxtPtr obj;\r
-} PyrelaxNgParserCtxt_Object;\r
-\r
-#define PyrelaxNgParserCtxt_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyrelaxNgParserCtxt_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlRelaxNGValidCtxtPtr obj;\r
-} PyrelaxNgValidCtxt_Object;\r
-\r
-#define PyrelaxNgValidCtxt_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PyrelaxNgValidCtxt_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlSchemaPtr obj;\r
-} PySchema_Object;\r
-\r
-#define PySchema_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PySchema_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlSchemaParserCtxtPtr obj;\r
-} PySchemaParserCtxt_Object;\r
-\r
-#define PySchemaParserCtxt_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PySchemaParserCtxt_Object *)(v))->obj))\r
-\r
-typedef struct {\r
- PyObject_HEAD\r
- xmlSchemaValidCtxtPtr obj;\r
-} PySchemaValidCtxt_Object;\r
-\r
-#define PySchemaValidCtxt_Get(v) (((v) == Py_None) ? NULL : \\r
- (((PySchemaValidCtxt_Object *)(v))->obj))\r
-\r
-#endif /* LIBXML_SCHEMAS_ENABLED */\r
-\r
-PyObject * libxml_intWrap(int val);\r
-PyObject * libxml_longWrap(long val);\r
-PyObject * libxml_xmlCharPtrWrap(xmlChar *str);\r
-PyObject * libxml_constxmlCharPtrWrap(const xmlChar *str);\r
-PyObject * libxml_charPtrWrap(char *str);\r
-PyObject * libxml_constcharPtrWrap(const char *str);\r
-PyObject * libxml_charPtrConstWrap(const char *str);\r
-PyObject * libxml_xmlCharPtrConstWrap(const xmlChar *str);\r
-PyObject * libxml_xmlDocPtrWrap(xmlDocPtr doc);\r
-PyObject * libxml_xmlNodePtrWrap(xmlNodePtr node);\r
-PyObject * libxml_xmlAttrPtrWrap(xmlAttrPtr attr);\r
-PyObject * libxml_xmlNsPtrWrap(xmlNsPtr ns);\r
-PyObject * libxml_xmlAttributePtrWrap(xmlAttributePtr ns);\r
-PyObject * libxml_xmlElementPtrWrap(xmlElementPtr ns);\r
-PyObject * libxml_doubleWrap(double val);\r
-PyObject * libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt);\r
-PyObject * libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt);\r
-PyObject * libxml_xmlXPathParserContextPtrWrap(xmlXPathParserContextPtr ctxt);\r
-PyObject * libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj);\r
-PyObject * libxml_xmlValidCtxtPtrWrap(xmlValidCtxtPtr valid);\r
-PyObject * libxml_xmlCatalogPtrWrap(xmlCatalogPtr obj);\r
-PyObject * libxml_xmlURIPtrWrap(xmlURIPtr uri);\r
-PyObject * libxml_xmlOutputBufferPtrWrap(xmlOutputBufferPtr buffer);\r
-PyObject * libxml_xmlParserInputBufferPtrWrap(xmlParserInputBufferPtr buffer);\r
-#ifdef LIBXML_REGEXP_ENABLED\r
-PyObject * libxml_xmlRegexpPtrWrap(xmlRegexpPtr regexp);\r
-#endif /* LIBXML_REGEXP_ENABLED */\r
-PyObject * libxml_xmlTextReaderPtrWrap(xmlTextReaderPtr reader);\r
-PyObject * libxml_xmlTextReaderLocatorPtrWrap(xmlTextReaderLocatorPtr locator);\r
-\r
-xmlXPathObjectPtr libxml_xmlXPathObjectPtrConvert(PyObject * obj);\r
-#ifdef LIBXML_SCHEMAS_ENABLED\r
-PyObject * libxml_xmlRelaxNGPtrWrap(xmlRelaxNGPtr ctxt);\r
-PyObject * libxml_xmlRelaxNGParserCtxtPtrWrap(xmlRelaxNGParserCtxtPtr ctxt);\r
-PyObject * libxml_xmlRelaxNGValidCtxtPtrWrap(xmlRelaxNGValidCtxtPtr valid);\r
-PyObject * libxml_xmlSchemaPtrWrap(xmlSchemaPtr ctxt);\r
-PyObject * libxml_xmlSchemaParserCtxtPtrWrap(xmlSchemaParserCtxtPtr ctxt);\r
-PyObject * libxml_xmlSchemaValidCtxtPtrWrap(xmlSchemaValidCtxtPtr valid);\r
-#endif /* LIBXML_SCHEMAS_ENABLED */\r
-PyObject * libxml_xmlErrorPtrWrap(xmlErrorPtr error);\r
-PyObject * libxml_xmlSchemaSetValidErrors(PyObject * self, PyObject * args);\r
+#include <Python.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <libxml/parserInternals.h>
+#include <libxml/catalog.h>
+#include <libxml/threads.h>
+#include <libxml/nanoftp.h>
+#include <libxml/nanohttp.h>
+#include <libxml/uri.h>
+#include <libxml/xpath.h>
+#include <libxml/xpathInternals.h>
+#include <libxml/debugXML.h>
+#include <libxml/HTMLparser.h>
+#include <libxml/HTMLtree.h>
+#include <libxml/xinclude.h>
+#include <libxml/xpointer.h>
+#include <libxml/xmlunicode.h>
+#include <libxml/xmlregexp.h>
+#include <libxml/xmlautomata.h>
+#include <libxml/xmlreader.h>
+#ifdef LIBXML_SCHEMAS_ENABLED
+#include <libxml/relaxng.h>
+#include <libxml/xmlschemas.h>
+#endif
+
+/**
+ * ATTRIBUTE_UNUSED:
+ *
+ * Macro used to signal to GCC unused function parameters
+ * Repeated here since the definition is not available when
+ * compiled outside the libxml2 build tree.
+ */
+#ifdef __GNUC__
+#ifdef ATTRIBUTE_UNUSED
+#undef ATTRIBUTE_UNUSED
+#endif
+#ifndef ATTRIBUTE_UNUSED
+#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#endif /* ATTRIBUTE_UNUSED */
+#else
+#define ATTRIBUTE_UNUSED
+#endif
+
+#define PyxmlNode_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyxmlNode_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlNodePtr obj;
+} PyxmlNode_Object;
+
+#define PyxmlXPathContext_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyxmlXPathContext_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlXPathContextPtr obj;
+} PyxmlXPathContext_Object;
+
+#define PyxmlXPathParserContext_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyxmlXPathParserContext_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlXPathParserContextPtr obj;
+} PyxmlXPathParserContext_Object;
+
+#define PyparserCtxt_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyparserCtxt_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlParserCtxtPtr obj;
+} PyparserCtxt_Object;
+
+#define PyValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyValidCtxt_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlValidCtxtPtr obj;
+} PyValidCtxt_Object;
+
+#define Pycatalog_Get(v) (((v) == Py_None) ? NULL : \
+ (((Pycatalog_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlCatalogPtr obj;
+} Pycatalog_Object;
+
+#ifdef LIBXML_REGEXP_ENABLED
+#define PyxmlReg_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyxmlReg_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlRegexpPtr obj;
+} PyxmlReg_Object;
+#endif /* LIBXML_REGEXP_ENABLED */
+
+#define PyxmlTextReader_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyxmlTextReader_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlTextReaderPtr obj;
+} PyxmlTextReader_Object;
+
+#define PyxmlTextReaderLocator_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyxmlTextReaderLocator_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlTextReaderLocatorPtr obj;
+} PyxmlTextReaderLocator_Object;
+
+#define PyURI_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyURI_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlErrorPtr obj;
+} PyError_Object;
+
+#define PyError_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyError_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlOutputBufferPtr obj;
+} PyoutputBuffer_Object;
+
+#define PyoutputBuffer_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyoutputBuffer_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlParserInputBufferPtr obj;
+} PyinputBuffer_Object;
+
+#define PyinputBuffer_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyinputBuffer_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlURIPtr obj;
+} PyURI_Object;
+
+/* FILE * have their own internal representation */
+#define PyFile_Get(v) (((v) == Py_None) ? NULL : \
+ (PyFile_Check(v) ? (PyFile_AsFile(v)) : stdout))
+
+#ifdef LIBXML_SCHEMAS_ENABLED
+typedef struct {
+ PyObject_HEAD
+ xmlRelaxNGPtr obj;
+} PyrelaxNgSchema_Object;
+
+#define PyrelaxNgSchema_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyrelaxNgSchema_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlRelaxNGParserCtxtPtr obj;
+} PyrelaxNgParserCtxt_Object;
+
+#define PyrelaxNgParserCtxt_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyrelaxNgParserCtxt_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlRelaxNGValidCtxtPtr obj;
+} PyrelaxNgValidCtxt_Object;
+
+#define PyrelaxNgValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyrelaxNgValidCtxt_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlSchemaPtr obj;
+} PySchema_Object;
+
+#define PySchema_Get(v) (((v) == Py_None) ? NULL : \
+ (((PySchema_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlSchemaParserCtxtPtr obj;
+} PySchemaParserCtxt_Object;
+
+#define PySchemaParserCtxt_Get(v) (((v) == Py_None) ? NULL : \
+ (((PySchemaParserCtxt_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ xmlSchemaValidCtxtPtr obj;
+} PySchemaValidCtxt_Object;
+
+#define PySchemaValidCtxt_Get(v) (((v) == Py_None) ? NULL : \
+ (((PySchemaValidCtxt_Object *)(v))->obj))
+
+#endif /* LIBXML_SCHEMAS_ENABLED */
+
+PyObject * libxml_intWrap(int val);
+PyObject * libxml_longWrap(long val);
+PyObject * libxml_xmlCharPtrWrap(xmlChar *str);
+PyObject * libxml_constxmlCharPtrWrap(const xmlChar *str);
+PyObject * libxml_charPtrWrap(char *str);
+PyObject * libxml_constcharPtrWrap(const char *str);
+PyObject * libxml_charPtrConstWrap(const char *str);
+PyObject * libxml_xmlCharPtrConstWrap(const xmlChar *str);
+PyObject * libxml_xmlDocPtrWrap(xmlDocPtr doc);
+PyObject * libxml_xmlNodePtrWrap(xmlNodePtr node);
+PyObject * libxml_xmlAttrPtrWrap(xmlAttrPtr attr);
+PyObject * libxml_xmlNsPtrWrap(xmlNsPtr ns);
+PyObject * libxml_xmlAttributePtrWrap(xmlAttributePtr ns);
+PyObject * libxml_xmlElementPtrWrap(xmlElementPtr ns);
+PyObject * libxml_doubleWrap(double val);
+PyObject * libxml_xmlXPathContextPtrWrap(xmlXPathContextPtr ctxt);
+PyObject * libxml_xmlParserCtxtPtrWrap(xmlParserCtxtPtr ctxt);
+PyObject * libxml_xmlXPathParserContextPtrWrap(xmlXPathParserContextPtr ctxt);
+PyObject * libxml_xmlXPathObjectPtrWrap(xmlXPathObjectPtr obj);
+PyObject * libxml_xmlValidCtxtPtrWrap(xmlValidCtxtPtr valid);
+PyObject * libxml_xmlCatalogPtrWrap(xmlCatalogPtr obj);
+PyObject * libxml_xmlURIPtrWrap(xmlURIPtr uri);
+PyObject * libxml_xmlOutputBufferPtrWrap(xmlOutputBufferPtr buffer);
+PyObject * libxml_xmlParserInputBufferPtrWrap(xmlParserInputBufferPtr buffer);
+#ifdef LIBXML_REGEXP_ENABLED
+PyObject * libxml_xmlRegexpPtrWrap(xmlRegexpPtr regexp);
+#endif /* LIBXML_REGEXP_ENABLED */
+PyObject * libxml_xmlTextReaderPtrWrap(xmlTextReaderPtr reader);
+PyObject * libxml_xmlTextReaderLocatorPtrWrap(xmlTextReaderLocatorPtr locator);
+
+xmlXPathObjectPtr libxml_xmlXPathObjectPtrConvert(PyObject * obj);
+#ifdef LIBXML_SCHEMAS_ENABLED
+PyObject * libxml_xmlRelaxNGPtrWrap(xmlRelaxNGPtr ctxt);
+PyObject * libxml_xmlRelaxNGParserCtxtPtrWrap(xmlRelaxNGParserCtxtPtr ctxt);
+PyObject * libxml_xmlRelaxNGValidCtxtPtrWrap(xmlRelaxNGValidCtxtPtr valid);
+PyObject * libxml_xmlSchemaPtrWrap(xmlSchemaPtr ctxt);
+PyObject * libxml_xmlSchemaParserCtxtPtrWrap(xmlSchemaParserCtxtPtr ctxt);
+PyObject * libxml_xmlSchemaValidCtxtPtrWrap(xmlSchemaValidCtxtPtr valid);
+#endif /* LIBXML_SCHEMAS_ENABLED */
+PyObject * libxml_xmlErrorPtrWrap(xmlErrorPtr error);
+PyObject * libxml_xmlSchemaSetValidErrors(PyObject * self, PyObject * args);