123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- #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 */
- #ifdef LIBXML_READER_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;
- #endif
- #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 */
- #ifdef LIBXML_READER_ENABLED
- PyObject * libxml_xmlTextReaderPtrWrap(xmlTextReaderPtr reader);
- PyObject * libxml_xmlTextReaderLocatorPtrWrap(xmlTextReaderLocatorPtr locator);
- #endif
- 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);
|