18.2. Data Definitions for libxml2

This section defines global identifiers and their values that are associated with interfaces contained in libxml2. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.

18.2.1. libxml2/libxml/HTMLparser.h


#define htmlElementAllowedHereDesc(parent,elt)	 \
	htmlElementAllowedHere((parent), (elt)->name)
#define htmlRequiredAttrs(elt)	(elt)->attrs_req
#define htmlDefaultSubelement(elt)	elt->defaultsubelt

typedef enum {
    HTML_NA = 0,
    HTML_INVALID = 1,
    HTML_DEPRECATED = 2,
    HTML_VALID = 4,
    HTML_REQUIRED = 12
} htmlStatus;
typedef struct _htmlElemDesc {
    const char *name;
    char startTag;
    char endTag;
    char saveEndTag;
    char empty;
    char depr;
    char dtd;
    char isinline;
    const char *desc;
    const char **subelts;
    const char *defaultsubelt;
    const char **attrs_opt;
    const char **attrs_depr;
    const char **attrs_req;
} htmlElemDesc;
typedef xmlDocPtr htmlDocPtr;
typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
typedef xmlParserCtxtPtr htmlParserCtxtPtr;
typedef struct _htmlEntityDesc {
    unsigned int value;
    const char *name;
    const char *desc;
} htmlEntityDesc;
typedef xmlNodePtr htmlNodePtr;
typedef enum {
    HTML_PARSE_RECOVER = 1 << 0,
    HTML_PARSE_NOERROR = 1 << 5,
    HTML_PARSE_NOWARNING = 1 << 6,
    HTML_PARSE_PEDANTIC = 1 << 7,
    HTML_PARSE_NOBLANKS = 1 << 8,
    HTML_PARSE_NONET = 1 << 11,
    HTML_PARSE_COMPACT = 1 << 16
} htmlParserOption;
typedef xmlParserInputPtr htmlParserInputPtr;
typedef htmlElemDesc *htmlElemDescPtr;
typedef htmlEntityDesc *htmlEntityDescPtr;
typedef xmlParserInput htmlParserInput;
extern htmlStatus htmlElementStatusHere(const htmlElemDesc *,
					const htmlElemDesc *);
extern htmlDocPtr htmlParseDoc(xmlChar *, const char *);
extern htmlDocPtr htmlSAXParseDoc(xmlChar *, const char *,
				  htmlSAXHandlerPtr, void *);
extern htmlDocPtr htmlCtxtReadDoc(htmlParserCtxtPtr, const xmlChar *,
				  const char *, const char *, int);
extern htmlDocPtr htmlReadIO(xmlInputReadCallback, xmlInputCloseCallback,
			     void *, const char *, const char *, int);
extern htmlDocPtr htmlCtxtReadIO(htmlParserCtxtPtr, xmlInputReadCallback,
				 xmlInputCloseCallback, void *,
				 const char *, const char *, int);
extern int htmlHandleOmittedElem(int);
extern htmlDocPtr htmlReadMemory(const char *, int, const char *,
				 const char *, int);
extern htmlDocPtr htmlCtxtReadMemory(htmlParserCtxtPtr, const char *, int,
				     const char *, const char *, int);
extern void htmlParseElement(htmlParserCtxtPtr);
extern const htmlEntityDesc *htmlEntityValueLookup(unsigned int);
extern int htmlEncodeEntities(unsigned char *, int *,
			      const unsigned char *, int *, int);
extern htmlDocPtr htmlParseFile(const char *, const char *);
extern htmlDocPtr htmlSAXParseFile(const char *, const char *,
				   htmlSAXHandlerPtr, void *);
extern int htmlIsAutoClosed(htmlDocPtr, htmlNodePtr);
extern htmlParserCtxtPtr htmlCreatePushParserCtxt(htmlSAXHandlerPtr,
						  void *, const char *,
						  int, const char *,
						  xmlCharEncoding);
extern int htmlIsScriptAttribute(const xmlChar *);
extern int UTF8ToHtml(unsigned char *, int *, const unsigned char *,
		      int *);
extern int htmlElementAllowedHere(const htmlElemDesc *, const xmlChar *);
extern int htmlParseCharRef(htmlParserCtxtPtr);
extern int htmlCtxtUseOptions(htmlParserCtxtPtr, int);
extern int htmlParseChunk(htmlParserCtxtPtr, const char *, int, int);
extern htmlDocPtr htmlReadFd(int, const char *, const char *, int);
extern void htmlCtxtReset(htmlParserCtxtPtr);
extern htmlDocPtr htmlCtxtReadFile(htmlParserCtxtPtr, const char *,
				   const char *, int);
extern const htmlEntityDesc *htmlEntityLookup(const xmlChar *);
extern htmlDocPtr htmlCtxtReadFd(htmlParserCtxtPtr, int, const char *,
				 const char *, int);
extern const htmlElemDesc *htmlTagLookup(const xmlChar *);
extern void htmlFreeParserCtxt(htmlParserCtxtPtr);
extern int htmlAutoCloseTag(htmlDocPtr, const xmlChar *, htmlNodePtr);
extern htmlParserCtxtPtr htmlCreateMemoryParserCtxt(const char *, int);
extern htmlDocPtr htmlReadFile(const char *, const char *, int);
extern htmlDocPtr htmlReadDoc(const xmlChar *, const char *, const char *,
			      int);
extern const htmlEntityDesc *htmlParseEntityRef(htmlParserCtxtPtr,
						const xmlChar * *);
extern int htmlParseDocument(htmlParserCtxtPtr);
extern htmlStatus htmlAttrAllowed(const htmlElemDesc *, const xmlChar *,
				  int);

18.2.2. libxml2/libxml/HTMLtree.h


#define HTML_PRESERVE_NODE	XML_CDATA_SECTION_NODE
#define HTML_COMMENT_NODE	XML_COMMENT_NODE
#define HTML_ENTITY_REF_NODE	XML_ENTITY_REF_NODE
#define HTML_PI_NODE	XML_PI_NODE
#define HTML_TEXT_NODE	XML_TEXT_NODE

extern void htmlNodeDumpOutput(xmlOutputBufferPtr, xmlDocPtr, xmlNodePtr,
			       const char *);
extern int htmlSaveFileFormat(const char *, xmlDocPtr, const char *, int);
extern int htmlSaveFile(const char *, xmlDocPtr);
extern htmlDocPtr htmlNewDoc(const xmlChar *, const xmlChar *);
extern const xmlChar *htmlGetMetaEncoding(htmlDocPtr);
extern void htmlNodeDumpFile(FILE *, xmlDocPtr, xmlNodePtr);
extern int htmlNodeDump(xmlBufferPtr, xmlDocPtr, xmlNodePtr);
extern void htmlDocContentDumpFormatOutput(xmlOutputBufferPtr, xmlDocPtr,
					   const char *, int);
extern int htmlIsBooleanAttr(const xmlChar *);
extern int htmlSaveFileEnc(const char *, xmlDocPtr, const char *);
extern htmlDocPtr htmlNewDocNoDtD(const xmlChar *, const xmlChar *);
extern int htmlSetMetaEncoding(htmlDocPtr, const xmlChar *);
extern void htmlDocContentDumpOutput(xmlOutputBufferPtr, xmlDocPtr,
				     const char *);
extern int htmlNodeDumpFileFormat(FILE *, xmlDocPtr, xmlNodePtr,
				  const char *, int);
extern int htmlDocDump(FILE *, xmlDocPtr);
extern void htmlNodeDumpFormatOutput(xmlOutputBufferPtr, xmlDocPtr,
				     xmlNodePtr, const char *, int);
extern void htmlDocDumpMemory(xmlDocPtr, xmlChar * *, int *);

18.2.3. libxml2/libxml/SAX2.h


typedef void (*internalSubsetSAXFunc) (void *, const xmlChar *,
				       const xmlChar *, const xmlChar *);
typedef int (*isStandaloneSAXFunc) (void *);
typedef int (*hasInternalSubsetSAXFunc) (void *);
typedef int (*hasExternalSubsetSAXFunc) (void *);
typedef xmlParserInputPtr(*resolveEntitySAXFunc) (void *, const xmlChar *,
						  const xmlChar *);
typedef xmlEntityPtr(*getEntitySAXFunc) (void *, const xmlChar *);
typedef void (*entityDeclSAXFunc) (void *, const xmlChar *, int,
				   const xmlChar *, const xmlChar *,
				   xmlChar *);
typedef void (*notationDeclSAXFunc) (void *, const xmlChar *,
				     const xmlChar *, const xmlChar *);
typedef struct _xmlEnumeration {
    struct _xmlEnumeration *next;
    const xmlChar *name;
} xmlEnumeration;
typedef xmlEnumeration *xmlEnumerationPtr;
typedef void (*attributeDeclSAXFunc) (void *, const xmlChar *,
				      const xmlChar *, int, int,
				      const xmlChar *, xmlEnumerationPtr);
typedef enum {
    XML_ELEMENT_CONTENT_PCDATA = 1,
    XML_ELEMENT_CONTENT_ELEMENT = 2,
    XML_ELEMENT_CONTENT_SEQ = 3,
    XML_ELEMENT_CONTENT_OR = 4
} xmlElementContentType;
typedef enum {
    XML_ELEMENT_CONTENT_ONCE = 1,
    XML_ELEMENT_CONTENT_OPT = 2,
    XML_ELEMENT_CONTENT_MULT = 3,
    XML_ELEMENT_CONTENT_PLUS = 4
} xmlElementContentOccur;
typedef struct _xmlElementContent {
    xmlElementContentType type;
    xmlElementContentOccur ocur;
    const xmlChar *name;
    struct _xmlElementContent *c1;
    struct _xmlElementContent *c2;
    struct _xmlElementContent *parent;
    const xmlChar *prefix;
} xmlElementContent;
typedef xmlElementContent *xmlElementContentPtr;
typedef void (*elementDeclSAXFunc) (void *, const xmlChar *, int,
				    xmlElementContentPtr);
typedef void (*unparsedEntityDeclSAXFunc) (void *, const xmlChar *,
					   const xmlChar *,
					   const xmlChar *,
					   const xmlChar *);
typedef struct _xmlSAXLocator {
    const xmlChar *(*getPublicId) (void *);
    const xmlChar *(*getSystemId) (void *);
    int (*getLineNumber) (void *);
    int (*getColumnNumber) (void *);
} xmlSAXLocator;
typedef xmlSAXLocator *xmlSAXLocatorPtr;
typedef void (*setDocumentLocatorSAXFunc) (void *, xmlSAXLocatorPtr);
typedef void (*startDocumentSAXFunc) (void *);
typedef void (*endDocumentSAXFunc) (void *);
typedef void (*startElementSAXFunc) (void *, const xmlChar *,
				     const xmlChar * *);
typedef void (*endElementSAXFunc) (void *, const xmlChar *);
typedef void (*referenceSAXFunc) (void *, const xmlChar *);
typedef void (*charactersSAXFunc) (void *, const xmlChar *, int);
typedef void (*ignorableWhitespaceSAXFunc) (void *, const xmlChar *, int);
typedef void (*processingInstructionSAXFunc) (void *, const xmlChar *,
					      const xmlChar *);
typedef void (*commentSAXFunc) (void *, const xmlChar *);
typedef void (*warningSAXFunc) (void *, const char *, ...);
typedef void (*errorSAXFunc) (void *, const char *, ...);
typedef void (*fatalErrorSAXFunc) (void *, const char *, ...);
typedef xmlEntityPtr(*getParameterEntitySAXFunc) (void *, const xmlChar *);
typedef void (*cdataBlockSAXFunc) (void *, const xmlChar *, int);
typedef void (*externalSubsetSAXFunc) (void *, const xmlChar *,
				       const xmlChar *, const xmlChar *);
typedef void (*startElementNsSAX2Func) (void *, const xmlChar *,
					const xmlChar *, const xmlChar *,
					int, const xmlChar * *, int, int,
					const xmlChar * *);
typedef void (*endElementNsSAX2Func) (void *, const xmlChar *,
				      const xmlChar *, const xmlChar *);
typedef struct _xmlSAXHandler {
    internalSubsetSAXFunc internalSubset;
    isStandaloneSAXFunc isStandalone;
    hasInternalSubsetSAXFunc hasInternalSubset;
    hasExternalSubsetSAXFunc hasExternalSubset;
    resolveEntitySAXFunc resolveEntity;
    getEntitySAXFunc getEntity;
    entityDeclSAXFunc entityDecl;
    notationDeclSAXFunc notationDecl;
    attributeDeclSAXFunc attributeDecl;
    elementDeclSAXFunc elementDecl;
    unparsedEntityDeclSAXFunc unparsedEntityDecl;
    setDocumentLocatorSAXFunc setDocumentLocator;
    startDocumentSAXFunc startDocument;
    endDocumentSAXFunc endDocument;
    startElementSAXFunc startElement;
    endElementSAXFunc endElement;
    referenceSAXFunc reference;
    charactersSAXFunc characters;
    ignorableWhitespaceSAXFunc ignorableWhitespace;
    processingInstructionSAXFunc processingInstruction;
    commentSAXFunc comment;
    warningSAXFunc warning;
    errorSAXFunc error;
    fatalErrorSAXFunc fatalError;
    getParameterEntitySAXFunc getParameterEntity;
    cdataBlockSAXFunc cdataBlock;
    externalSubsetSAXFunc externalSubset;
    unsigned int initialized;
    void *_private;
    startElementNsSAX2Func startElementNs;
    endElementNsSAX2Func endElementNs;
    xmlStructuredErrorFunc serror;
} xmlSAXHandler;
extern void xmlSAX2EndElement(void *, const xmlChar *);
extern void xmlSAX2Characters(void *, const xmlChar *, int);
extern int xmlSAX2HasInternalSubset(void *);
extern void xmlSAX2Comment(void *, const xmlChar *);
extern void xmlSAX2ExternalSubset(void *, const xmlChar *, const xmlChar *,
				  const xmlChar *);
extern void xmlSAX2StartElementNs(void *, const xmlChar *, const xmlChar *,
				  const xmlChar *, int, const xmlChar * *,
				  int, int, const xmlChar * *);
extern void xmlSAX2Reference(void *, const xmlChar *);
extern void xmlSAX2EndElementNs(void *, const xmlChar *, const xmlChar *,
				const xmlChar *);
extern int xmlSAXDefaultVersion(int);
extern const xmlChar *xmlSAX2GetSystemId(void *);
extern void xmlSAX2InitDefaultSAXHandler(xmlSAXHandler *, int);
extern void xmlDefaultSAXHandlerInit(void);
extern void xmlSAX2CDataBlock(void *, const xmlChar *, int);
extern void xmlSAX2IgnorableWhitespace(void *, const xmlChar *, int);
extern void xmlSAX2ElementDecl(void *, const xmlChar *, int,
			       xmlElementContentPtr);
extern int xmlSAX2IsStandalone(void *);
extern const xmlChar *xmlSAX2GetPublicId(void *);
extern int xmlSAX2GetLineNumber(void *);
extern xmlEntityPtr xmlSAX2GetEntity(void *, const xmlChar *);
extern void xmlSAX2EndDocument(void *);
extern void xmlSAX2AttributeDecl(void *, const xmlChar *, const xmlChar *,
				 int, int, const xmlChar *,
				 xmlEnumerationPtr);
extern void xmlSAX2ProcessingInstruction(void *, const xmlChar *,
					 const xmlChar *);
extern void xmlSAX2NotationDecl(void *, const xmlChar *, const xmlChar *,
				const xmlChar *);
extern void xmlSAX2EntityDecl(void *, const xmlChar *, int,
			      const xmlChar *, const xmlChar *, xmlChar *);
extern void xmlSAX2StartDocument(void *);
extern xmlParserInputPtr xmlSAX2ResolveEntity(void *, const xmlChar *,
					      const xmlChar *);
extern xmlEntityPtr xmlSAX2GetParameterEntity(void *, const xmlChar *);
extern int xmlSAX2GetColumnNumber(void *);
extern void htmlDefaultSAXHandlerInit(void);
extern int xmlSAX2HasExternalSubset(void *);
extern void xmlSAX2StartElement(void *, const xmlChar *,
				const xmlChar * *);
extern void xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *);
extern void xmlSAX2SetDocumentLocator(void *, xmlSAXLocatorPtr);
extern void xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *);
extern void docbDefaultSAXHandlerInit(void);
extern void xmlSAX2UnparsedEntityDecl(void *, const xmlChar *,
				      const xmlChar *, const xmlChar *,
				      const xmlChar *);
extern void xmlSAX2InternalSubset(void *, const xmlChar *, const xmlChar *,
				  const xmlChar *);
extern int xmlSAXVersion(xmlSAXHandler *, int);

18.2.4. libxml2/libxml/c14n.h


typedef int (*xmlC14NIsVisibleCallback) (void *, xmlNodePtr, xmlNodePtr);
extern int xmlC14NDocDumpMemory(xmlDocPtr, xmlNodeSetPtr, int, xmlChar * *,
				int, xmlChar * *);
extern int xmlC14NDocSave(xmlDocPtr, xmlNodeSetPtr, int, xmlChar * *, int,
			  const char *, int);
extern int xmlC14NDocSaveTo(xmlDocPtr, xmlNodeSetPtr, int, xmlChar * *,
			    int, xmlOutputBufferPtr);
extern int xmlC14NExecute(xmlDocPtr, xmlC14NIsVisibleCallback, void *, int,
			  xmlChar * *, int, xmlOutputBufferPtr);

18.2.5. libxml2/libxml/catalog.h


#define XML_CATALOGS_NAMESPACE	 \
	(const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
#define XML_CATALOG_PI	(const xmlChar *) "oasis-xml-catalog"

typedef enum {
    XML_CATA_ALLOW_NONE = 0,
    XML_CATA_ALLOW_GLOBAL = 1,
    XML_CATA_ALLOW_DOCUMENT = 2,
    XML_CATA_ALLOW_ALL = 3
} xmlCatalogAllow;
typedef struct _xmlCatalog xmlCatalog;
typedef xmlCatalog *xmlCatalogPtr;
typedef enum {
    XML_CATA_PREFER_NONE = 0,
    XML_CATA_PREFER_PUBLIC = 1,
    XML_CATA_PREFER_SYSTEM = 2
} xmlCatalogPrefer;
extern xmlChar *xmlCatalogLocalResolveURI(void *, const xmlChar *);
extern void xmlCatalogSetDefaults(xmlCatalogAllow);
extern void xmlInitializeCatalog(void);
extern xmlCatalogPtr xmlLoadACatalog(const char *);
extern xmlChar *xmlACatalogResolvePublic(xmlCatalogPtr, const xmlChar *);
extern int xmlCatalogIsEmpty(xmlCatalogPtr);
extern xmlChar *xmlACatalogResolve(xmlCatalogPtr, const xmlChar *,
				   const xmlChar *);
extern void xmlCatalogDump(FILE *);
extern int xmlCatalogAdd(const xmlChar *, const xmlChar *,
			 const xmlChar *);
extern int xmlCatalogSetDebug(int);
extern xmlDocPtr xmlParseCatalogFile(const char *);
extern int xmlACatalogRemove(xmlCatalogPtr, const xmlChar *);
extern xmlChar *xmlCatalogResolveURI(const xmlChar *);
extern void xmlACatalogDump(xmlCatalogPtr, FILE *);
extern xmlChar *xmlCatalogResolve(const xmlChar *, const xmlChar *);
extern void xmlCatalogCleanup(void);
extern xmlChar *xmlCatalogResolveSystem(const xmlChar *);
extern xmlChar *xmlACatalogResolveURI(xmlCatalogPtr, const xmlChar *);
extern int xmlCatalogRemove(const xmlChar *);
extern xmlCatalogPtr xmlLoadSGMLSuperCatalog(const char *);
extern int xmlLoadCatalog(const char *);
extern void xmlCatalogFreeLocal(void *);
extern void *xmlCatalogAddLocal(void *, const xmlChar *);
extern int xmlACatalogAdd(xmlCatalogPtr, const xmlChar *, const xmlChar *,
			  const xmlChar *);
extern int xmlCatalogConvert(void);
extern xmlChar *xmlCatalogResolvePublic(const xmlChar *);
extern int xmlConvertSGMLCatalog(xmlCatalogPtr);
extern xmlCatalogPtr xmlNewCatalog(int);
extern xmlChar *xmlACatalogResolveSystem(xmlCatalogPtr, const xmlChar *);
extern void xmlFreeCatalog(xmlCatalogPtr);
extern xmlChar *xmlCatalogLocalResolve(void *, const xmlChar *,
				       const xmlChar *);
extern xmlCatalogAllow xmlCatalogGetDefaults(void);
extern xmlCatalogPrefer xmlCatalogSetDefaultPrefer(xmlCatalogPrefer);
extern void xmlLoadCatalogs(const char *);

18.2.6. libxml2/libxml/debugXML.h


typedef char *(*xmlShellReadlineFunc) (char *);
typedef struct _xmlShellCtxt {
    char *filename;
    xmlDocPtr doc;
    xmlNodePtr node;
    xmlXPathContextPtr pctxt;
    int loaded;
    FILE *output;
    xmlShellReadlineFunc input;
} xmlShellCtxt;
typedef xmlShellCtxt *xmlShellCtxtPtr;
typedef int (*xmlShellCmd) (xmlShellCtxtPtr, char *, xmlNodePtr,
			    xmlNodePtr);
extern const char *xmlBoolToText(int);
extern void xmlDebugDumpAttr(FILE *, xmlAttrPtr, int);
extern void xmlDebugDumpAttrList(FILE *, xmlAttrPtr, int);
extern void xmlDebugDumpDocument(FILE *, xmlDocPtr);
extern void xmlDebugDumpOneNode(FILE *, xmlNodePtr, int);
extern int xmlShellCat(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern int xmlShellBase(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern int xmlShellWrite(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern int xmlShellLoad(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern int xmlDebugCheckDocument(FILE *, xmlDocPtr);
extern int xmlShellPwd(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern void xmlDebugDumpEntities(FILE *, xmlDocPtr);
extern void xmlDebugDumpNodeList(FILE *, xmlNodePtr, int);
extern void xmlDebugDumpDocumentHead(FILE *, xmlDocPtr);
extern void xmlDebugDumpDTD(FILE *, xmlDtdPtr);
extern void xmlDebugDumpString(FILE *, const xmlChar *);
extern int xmlShellValidate(xmlShellCtxtPtr, char *, xmlNodePtr,
			    xmlNodePtr);
extern int xmlShellSave(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern void xmlShell(xmlDocPtr, char *, xmlShellReadlineFunc, FILE *);
extern void xmlDebugDumpNode(FILE *, xmlNodePtr, int);
extern int xmlShellDu(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern void xmlShellPrintXPathResult(xmlXPathObjectPtr);
extern int xmlShellDir(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern int xmlLsCountNode(xmlNodePtr);
extern void xmlShellPrintNode(xmlNodePtr);
extern void xmlLsOneNode(FILE *, xmlNodePtr);
extern int xmlShellList(xmlShellCtxtPtr, char *, xmlNodePtr, xmlNodePtr);
extern void xmlShellPrintXPathError(int, const char *);

18.2.7. libxml2/libxml/dict.h


typedef struct _xmlDict xmlDict;
typedef xmlDict *xmlDictPtr;
extern void xmlDictFree(xmlDictPtr);
extern xmlDictPtr xmlDictCreate(void);
extern const xmlChar *xmlDictExists(xmlDictPtr, const xmlChar *, int);
extern xmlDictPtr xmlDictCreateSub(xmlDictPtr);
extern int xmlDictReference(xmlDictPtr);
extern int xmlDictSize(xmlDictPtr);
extern void xmlDictCleanup(void);
extern const xmlChar *xmlDictQLookup(xmlDictPtr, const xmlChar *,
				     const xmlChar *);
extern int xmlDictOwns(xmlDictPtr, const xmlChar *);
extern const xmlChar *xmlDictLookup(xmlDictPtr, const xmlChar *, int);

18.2.8. libxml2/libxml/encoding.h


typedef enum {
    XML_CHAR_ENCODING_ERROR = -1,
    XML_CHAR_ENCODING_NONE = 0,
    XML_CHAR_ENCODING_UTF8 = 1,
    XML_CHAR_ENCODING_UTF16LE = 2,
    XML_CHAR_ENCODING_UTF16BE = 3,
    XML_CHAR_ENCODING_UCS4LE = 4,
    XML_CHAR_ENCODING_UCS4BE = 5,
    XML_CHAR_ENCODING_EBCDIC = 6,
    XML_CHAR_ENCODING_UCS4_2143 = 7,
    XML_CHAR_ENCODING_UCS4_3412 = 8,
    XML_CHAR_ENCODING_UCS2 = 9,
    XML_CHAR_ENCODING_8859_1 = 10,
    XML_CHAR_ENCODING_8859_2 = 11,
    XML_CHAR_ENCODING_8859_3 = 12,
    XML_CHAR_ENCODING_8859_4 = 13,
    XML_CHAR_ENCODING_8859_5 = 14,
    XML_CHAR_ENCODING_8859_6 = 15,
    XML_CHAR_ENCODING_8859_7 = 16,
    XML_CHAR_ENCODING_8859_8 = 17,
    XML_CHAR_ENCODING_8859_9 = 18,
    XML_CHAR_ENCODING_2022_JP = 19,
    XML_CHAR_ENCODING_SHIFT_JIS = 20,
    XML_CHAR_ENCODING_EUC_JP = 21,
    XML_CHAR_ENCODING_ASCII = 22
} xmlCharEncoding;
extern const char *xmlGetCharEncodingName(xmlCharEncoding);
extern int xmlCharEncInFunc(xmlCharEncodingHandler *, xmlBufferPtr,
			    xmlBufferPtr);
extern xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char *);
extern int xmlCharEncOutFunc(xmlCharEncodingHandler *, xmlBufferPtr,
			     xmlBufferPtr);
extern int UTF8Toisolat1(unsigned char *, int *, const unsigned char *,
			 int *);
extern int isolat1ToUTF8(unsigned char *, int *, const unsigned char *,
			 int *);
extern int xmlCharEncCloseFunc(xmlCharEncodingHandler *);
extern xmlCharEncodingHandlerPtr
xmlGetCharEncodingHandler(xmlCharEncoding);
extern void xmlCleanupEncodingAliases(void);
extern void xmlCleanupCharEncodingHandlers(void);
extern xmlCharEncoding xmlDetectCharEncoding(const unsigned char *, int);
extern int xmlAddEncodingAlias(const char *, const char *);
extern void xmlRegisterCharEncodingHandler(xmlCharEncodingHandlerPtr);
extern const char *xmlGetEncodingAlias(const char *);
extern void xmlInitCharEncodingHandlers(void);
extern xmlCharEncodingHandlerPtr xmlNewCharEncodingHandler(const char *,
							   xmlCharEncodingInputFunc,
							   xmlCharEncodingOutputFunc);
extern int xmlDelEncodingAlias(const char *);
extern int xmlCharEncFirstLine(xmlCharEncodingHandler *, xmlBufferPtr,
			       xmlBufferPtr);
extern xmlCharEncoding xmlParseCharEncoding(const char *);

18.2.9. libxml2/libxml/entities.h


typedef enum {
    XML_INTERNAL_GENERAL_ENTITY = 1,
    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
    XML_INTERNAL_PARAMETER_ENTITY = 4,
    XML_EXTERNAL_PARAMETER_ENTITY = 5,
    XML_INTERNAL_PREDEFINED_ENTITY = 6
} xmlEntityType;
typedef struct _xmlEntity {
    void *_private;
    xmlElementType type;
    const xmlChar *name;
    struct _xmlNode *children;
    struct _xmlNode *last;
    struct _xmlDtd *parent;
    struct _xmlNode *next;
    struct _xmlNode *prev;
    struct _xmlDoc *doc;
    xmlChar *orig;
    xmlChar *content;
    int length;
    xmlEntityType etype;
    const xmlChar *ExternalID;
    const xmlChar *SystemID;
    struct _xmlEntity *nexte;
    const xmlChar *URI;
    int owner;
} xmlEntity;
typedef xmlEntity *xmlEntityPtr;
typedef struct _xmlHashTable xmlEntitiesTable;
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
extern xmlEntityPtr xmlGetParameterEntity(xmlDocPtr, const xmlChar *);
extern xmlChar *xmlEncodeSpecialChars(xmlDocPtr, const xmlChar *);
extern xmlEntityPtr xmlAddDtdEntity(xmlDocPtr, const xmlChar *, int,
				    const xmlChar *, const xmlChar *,
				    const xmlChar *);
extern xmlEntitiesTablePtr xmlCopyEntitiesTable(xmlEntitiesTablePtr);
extern xmlEntityPtr xmlGetDtdEntity(xmlDocPtr, const xmlChar *);
extern xmlEntityPtr xmlAddDocEntity(xmlDocPtr, const xmlChar *, int,
				    const xmlChar *, const xmlChar *,
				    const xmlChar *);
extern xmlEntityPtr xmlGetPredefinedEntity(const xmlChar *);
extern void xmlDumpEntitiesTable(xmlBufferPtr, xmlEntitiesTablePtr);
extern xmlChar *xmlEncodeEntitiesReentrant(xmlDocPtr, const xmlChar *);
extern void xmlFreeEntitiesTable(xmlEntitiesTablePtr);
extern void xmlDumpEntityDecl(xmlBufferPtr, xmlEntityPtr);
extern xmlEntityPtr xmlGetDocEntity(xmlDocPtr, const xmlChar *);

18.2.10. libxml2/libxml/globals.h


#define xmlDeregisterNodeDefaultValue	 \
	(*(__xmlDeregisterNodeDefaultValue()))
#define xmlDoValidityCheckingDefaultValue	 \
	(*(__xmlDoValidityCheckingDefaultValue()))
#define xmlOutputBufferCreateFilenameValue	 \
	(*(__xmlOutputBufferCreateFilenameValue()))
#define xmlParserInputBufferCreateFilenameValue	 \
	(*(__xmlParserInputBufferCreateFilenameValue()))
#define xmlPedanticParserDefaultValue	 \
	(*(__xmlPedanticParserDefaultValue()))
#define xmlSubstituteEntitiesDefaultValue	 \
	(*(__xmlSubstituteEntitiesDefaultValue()))
#define docbDefaultSAXHandler	(*(__docbDefaultSAXHandler()))
#define htmlDefaultSAXHandler	(*(__htmlDefaultSAXHandler()))
#define oldXMLWDcompatibility	(*(__oldXMLWDcompatibility()))
#define xmlBufferAllocScheme	(*(__xmlBufferAllocScheme()))
#define xmlDefaultBufferSize	(*(__xmlDefaultBufferSize()))
#define xmlDefaultSAXHandler	(*(__xmlDefaultSAXHandler()))
#define xmlDefaultSAXLocator	(*(__xmlDefaultSAXLocator()))
#define xmlGenericError	(*(__xmlGenericError()))
#define xmlGenericErrorContext	(*(__xmlGenericErrorContext()))
#define xmlGetWarningsDefaultValue	(*(__xmlGetWarningsDefaultValue()))
#define xmlIndentTreeOutput	(*(__xmlIndentTreeOutput()))
#define xmlKeepBlanksDefaultValue	(*(__xmlKeepBlanksDefaultValue()))
#define xmlLastError	(*(__xmlLastError()))
#define xmlLineNumbersDefaultValue	(*(__xmlLineNumbersDefaultValue()))
#define xmlLoadExtDtdDefaultValue	(*(__xmlLoadExtDtdDefaultValue()))
#define xmlParserDebugEntities	(*(__xmlParserDebugEntities()))
#define xmlParserVersion	(*(__xmlParserVersion()))
#define xmlRegisterNodeDefaultValue	(*(__xmlRegisterNodeDefaultValue()))
#define xmlSaveNoEmptyTags	(*(__xmlSaveNoEmptyTags()))
#define xmlStructuredError	(*(__xmlStructuredError()))
#define xmlTreeIndentString	(*(__xmlTreeIndentString()))

typedef xmlOutputBufferPtr(*xmlOutputBufferCreateFilenameFunc) (const char
								*,
								xmlCharEncodingHandlerPtr,
								int);
typedef void (*xmlRegisterNodeFunc) (xmlNodePtr);
typedef
xmlParserInputBufferPtr(*xmlParserInputBufferCreateFilenameFunc) (const
								  char *,
								  xmlCharEncoding);
typedef struct _xmlSAXHandlerV1 {
    internalSubsetSAXFunc internalSubset;
    isStandaloneSAXFunc isStandalone;
    hasInternalSubsetSAXFunc hasInternalSubset;
    hasExternalSubsetSAXFunc hasExternalSubset;
    resolveEntitySAXFunc resolveEntity;
    getEntitySAXFunc getEntity;
    entityDeclSAXFunc entityDecl;
    notationDeclSAXFunc notationDecl;
    attributeDeclSAXFunc attributeDecl;
    elementDeclSAXFunc elementDecl;
    unparsedEntityDeclSAXFunc unparsedEntityDecl;
    setDocumentLocatorSAXFunc setDocumentLocator;
    startDocumentSAXFunc startDocument;
    endDocumentSAXFunc endDocument;
    startElementSAXFunc startElement;
    endElementSAXFunc endElement;
    referenceSAXFunc reference;
    charactersSAXFunc characters;
    ignorableWhitespaceSAXFunc ignorableWhitespace;
    processingInstructionSAXFunc processingInstruction;
    commentSAXFunc comment;
    warningSAXFunc warning;
    errorSAXFunc error;
    fatalErrorSAXFunc fatalError;
    getParameterEntitySAXFunc getParameterEntity;
    cdataBlockSAXFunc cdataBlock;
    externalSubsetSAXFunc externalSubset;
    unsigned int initialized;
} xmlSAXHandlerV1;
typedef void (*xmlDeregisterNodeFunc) (xmlNodePtr);
typedef struct _xmlGlobalState xmlGlobalState;
typedef xmlGlobalState *xmlGlobalStatePtr;
extern int *__xmlParserDebugEntities(void);
extern int xmlThrDefDoValidityCheckingDefaultValue(int);
extern xmlOutputBufferCreateFilenameFunc
    *__xmlOutputBufferCreateFilenameValue(void);
extern xmlRegisterNodeFunc
xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc);
extern const char **__xmlTreeIndentString(void);
extern xmlParserInputBufferCreateFilenameFunc
xmlThrDefParserInputBufferCreateFilenameDefault
(xmlParserInputBufferCreateFilenameFunc);
extern xmlSAXLocator *__xmlDefaultSAXLocator(void);
extern xmlParserInputBufferCreateFilenameFunc
    *__xmlParserInputBufferCreateFilenameValue(void);
extern xmlSAXHandlerV1 *__htmlDefaultSAXHandler(void);
extern int *__xmlPedanticParserDefaultValue(void);
extern int xmlThrDefLineNumbersDefaultValue(int);
extern int xmlThrDefIndentTreeOutput(int);
extern xmlMallocFunc xmlMallocAtomic;
extern xmlBufferAllocationScheme
xmlThrDefBufferAllocScheme(xmlBufferAllocationScheme);
extern xmlDeregisterNodeFunc *__xmlDeregisterNodeDefaultValue(void);
extern int xmlThrDefDefaultBufferSize(int);
extern int xmlThrDefKeepBlanksDefaultValue(int);
extern int *__xmlKeepBlanksDefaultValue(void);
extern void xmlThrDefSetStructuredErrorFunc(void *,
					    xmlStructuredErrorFunc);
extern xmlRegisterNodeFunc *__xmlRegisterNodeDefaultValue(void);
extern int *__xmlDefaultBufferSize(void);
extern xmlRegisterNodeFunc xmlRegisterNodeDefault(xmlRegisterNodeFunc);
extern void xmlInitGlobals(void);
extern xmlSAXHandlerV1 *__docbDefaultSAXHandler(void);
extern xmlBufferAllocationScheme *__xmlBufferAllocScheme(void);
extern int xmlThrDefPedanticParserDefaultValue(int);
extern xmlStructuredErrorFunc *__xmlStructuredError(void);
extern void xmlThrDefSetGenericErrorFunc(void *, xmlGenericErrorFunc);
extern xmlOutputBufferCreateFilenameFunc
xmlOutputBufferCreateFilenameDefault(xmlOutputBufferCreateFilenameFunc);
extern int *__xmlGetWarningsDefaultValue(void);
extern xmlOutputBufferCreateFilenameFunc
xmlThrDefOutputBufferCreateFilenameDefault
(xmlOutputBufferCreateFilenameFunc);
extern int xmlThrDefGetWarningsDefaultValue(int);
extern xmlParserInputBufferCreateFilenameFunc
xmlParserInputBufferCreateFilenameDefault
(xmlParserInputBufferCreateFilenameFunc);
extern xmlParserInputBufferPtr xmlParserInputBufferCreateFilename(const
								  char *,
								  xmlCharEncoding);
extern int *__xmlIndentTreeOutput(void);
extern int xmlThrDefSaveNoEmptyTags(int);
extern int *__xmlSaveNoEmptyTags(void);
extern xmlStrdupFunc xmlMemStrdup;
extern int *__xmlSubstituteEntitiesDefaultValue(void);
extern int xmlThrDefParserDebugEntities(int);
extern int *__xmlDoValidityCheckingDefaultValue(void);
extern xmlReallocFunc xmlRealloc;
extern void xmlInitializeGlobalState(xmlGlobalStatePtr);
extern const char **__xmlParserVersion(void);
extern int xmlThrDefLoadExtDtdDefaultValue(int);
extern const char *xmlThrDefTreeIndentString(const char *);
extern int *__oldXMLWDcompatibility(void);
extern int xmlThrDefSubstituteEntitiesDefaultValue(int);
extern xmlDeregisterNodeFunc
xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc);
extern void **__xmlGenericErrorContext(void);
extern void xmlCleanupGlobals(void);
extern xmlError *__xmlLastError(void);
extern xmlMallocFunc xmlMalloc;
extern int *__xmlLoadExtDtdDefaultValue(void);
extern xmlFreeFunc xmlFree;
extern int *__xmlLineNumbersDefaultValue(void);
extern xmlDeregisterNodeFunc
xmlDeregisterNodeDefault(xmlDeregisterNodeFunc);
extern xmlSAXHandlerV1 *__xmlDefaultSAXHandler(void);
extern xmlGenericErrorFunc *__xmlGenericError(void);

18.2.11. libxml2/libxml/hash.h


#define XML_CAST_FPTR(fptr)	fptr

typedef struct _xmlHashTable xmlHashTable;
typedef xmlHashTable *xmlHashTablePtr;
typedef void (*xmlHashDeallocator) (void *, xmlChar *);
typedef void (*xmlHashScannerFull) (void *, void *, const xmlChar *,
				    const xmlChar *, const xmlChar *);
typedef void *(*xmlHashCopier) (void *, xmlChar *);
typedef void (*xmlHashScanner) (void *, void *, xmlChar *);
extern xmlHashTablePtr xmlHashCreate(int);
extern xmlHashTablePtr xmlHashCreateDict(int, xmlDictPtr);
extern int xmlHashRemoveEntry(xmlHashTablePtr, const xmlChar *,
			      xmlHashDeallocator);
extern void xmlHashScanFull3(xmlHashTablePtr, const xmlChar *,
			     const xmlChar *, const xmlChar *,
			     xmlHashScannerFull, void *);
extern void *xmlHashQLookup3(xmlHashTablePtr, const xmlChar *,
			     const xmlChar *, const xmlChar *,
			     const xmlChar *, const xmlChar *,
			     const xmlChar *);
extern void *xmlHashQLookup(xmlHashTablePtr, const xmlChar *,
			    const xmlChar *);
extern void *xmlHashLookup3(xmlHashTablePtr, const xmlChar *,
			    const xmlChar *, const xmlChar *);
extern xmlHashTablePtr xmlHashCopy(xmlHashTablePtr, xmlHashCopier);
extern int xmlHashAddEntry3(xmlHashTablePtr, const xmlChar *,
			    const xmlChar *, const xmlChar *, void *);
extern void xmlHashFree(xmlHashTablePtr, xmlHashDeallocator);
extern void xmlHashScan3(xmlHashTablePtr, const xmlChar *, const xmlChar *,
			 const xmlChar *, xmlHashScanner, void *);
extern int xmlHashRemoveEntry2(xmlHashTablePtr, const xmlChar *,
			       const xmlChar *, xmlHashDeallocator);
extern void *xmlHashLookup(xmlHashTablePtr, const xmlChar *);
extern int xmlHashUpdateEntry3(xmlHashTablePtr, const xmlChar *,
			       const xmlChar *, const xmlChar *, void *,
			       xmlHashDeallocator);
extern int xmlHashRemoveEntry3(xmlHashTablePtr, const xmlChar *,
			       const xmlChar *, const xmlChar *,
			       xmlHashDeallocator);
extern int xmlHashSize(xmlHashTablePtr);
extern void xmlHashScan(xmlHashTablePtr, xmlHashScanner, void *);
extern void xmlHashScanFull(xmlHashTablePtr, xmlHashScannerFull, void *);
extern int xmlHashUpdateEntry(xmlHashTablePtr, const xmlChar *, void *,
			      xmlHashDeallocator);
extern int xmlHashAddEntry2(xmlHashTablePtr, const xmlChar *,
			    const xmlChar *, void *);
extern void *xmlHashQLookup2(xmlHashTablePtr, const xmlChar *,
			     const xmlChar *, const xmlChar *,
			     const xmlChar *);
extern int xmlHashUpdateEntry2(xmlHashTablePtr, const xmlChar *,
			       const xmlChar *, void *,
			       xmlHashDeallocator);
extern void *xmlHashLookup2(xmlHashTablePtr, const xmlChar *,
			    const xmlChar *);
extern int xmlHashAddEntry(xmlHashTablePtr, const xmlChar *, void *);

18.2.12. libxml2/libxml/list.h


typedef struct _xmlList xmlList;
typedef xmlList *xmlListPtr;
typedef struct _xmlLink xmlLink;
typedef xmlLink *xmlLinkPtr;
typedef int (*xmlListWalker) (const void *, const void *);
typedef void (*xmlListDeallocator) (xmlLinkPtr);
typedef int (*xmlListDataCompare) (const void *, const void *);
extern int xmlListRemoveFirst(xmlListPtr, void *);
extern xmlLinkPtr xmlListFront(xmlListPtr);
extern xmlListPtr xmlListDup(const xmlListPtr);
extern void xmlListWalk(xmlListPtr, xmlListWalker, const void *);
extern void xmlListSort(xmlListPtr);
extern void *xmlLinkGetData(xmlLinkPtr);
extern int xmlListRemoveAll(xmlListPtr, void *);
extern int xmlListAppend(xmlListPtr, void *);
extern void xmlListDelete(xmlListPtr);
extern void *xmlListReverseSearch(xmlListPtr, void *);
extern void xmlListReverse(xmlListPtr);
extern void *xmlListSearch(xmlListPtr, void *);
extern int xmlListCopy(xmlListPtr, const xmlListPtr);
extern int xmlListSize(xmlListPtr);
extern int xmlListRemoveLast(xmlListPtr, void *);
extern int xmlListPushFront(xmlListPtr, void *);
extern int xmlListInsert(xmlListPtr, void *);
extern int xmlListPushBack(xmlListPtr, void *);
extern void xmlListReverseWalk(xmlListPtr, xmlListWalker, const void *);
extern xmlLinkPtr xmlListEnd(xmlListPtr);
extern xmlListPtr xmlListCreate(xmlListDeallocator, xmlListDataCompare);
extern int xmlListEmpty(xmlListPtr);
extern void xmlListPopFront(xmlListPtr);
extern void xmlListPopBack(xmlListPtr);
extern void xmlListClear(xmlListPtr);
extern void xmlListMerge(xmlListPtr, xmlListPtr);

18.2.13. libxml2/libxml/parser.h


#define XML_DEFAULT_VERSION	"1.0"
#define XML_SAX2_MAGIC	0xDEEDBEAF
#define XML_DETECT_IDS	2
#define XML_COMPLETE_ATTRS	4
#define XML_SKIP_IDS	8

typedef xmlSAXHandler *xmlSAXHandlerPtr;
typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
typedef xmlParserInputPtr(*xmlExternalEntityLoader) (const char *,
						     const char *,
						     xmlParserCtxtPtr);
typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
typedef enum {
    XML_WITH_THREAD = 1,
    XML_WITH_TREE = 2,
    XML_WITH_OUTPUT = 3,
    XML_WITH_PUSH = 4,
    XML_WITH_READER = 5,
    XML_WITH_PATTERN = 6,
    XML_WITH_WRITER = 7,
    XML_WITH_SAX1 = 8,
    XML_WITH_FTP = 9,
    XML_WITH_HTTP = 10,
    XML_WITH_VALID = 11,
    XML_WITH_HTML = 12,
    XML_WITH_LEGACY = 13,
    XML_WITH_C14N = 14,
    XML_WITH_CATALOG = 15,
    XML_WITH_XPATH = 16,
    XML_WITH_XPTR = 17,
    XML_WITH_XINCLUDE = 18,
    XML_WITH_ICONV = 19,
    XML_WITH_ISO8859X = 20,
    XML_WITH_UNICODE = 21,
    XML_WITH_REGEXP = 22,
    XML_WITH_AUTOMATA = 23,
    XML_WITH_EXPR = 24,
    XML_WITH_SCHEMAS = 25,
    XML_WITH_SCHEMATRON = 26,
    XML_WITH_MODULES = 27,
    XML_WITH_DEBUG = 28,
    XML_WITH_DEBUG_MEM = 29,
    XML_WITH_DEBUG_RUN = 30,
    XML_WITH_NONE = 99999
} xmlFeature;
typedef enum {
    XML_PARSE_RECOVER = 1 << 0,
    XML_PARSE_NOENT = 1 << 1,
    XML_PARSE_DTDLOAD = 1 << 2,
    XML_PARSE_DTDATTR = 1 << 3,
    XML_PARSE_DTDVALID = 1 << 4,
    XML_PARSE_NOERROR = 1 << 5,
    XML_PARSE_NOWARNING = 1 << 6,
    XML_PARSE_PEDANTIC = 1 << 7,
    XML_PARSE_NOBLANKS = 1 << 8,
    XML_PARSE_SAX1 = 1 << 9,
    XML_PARSE_XINCLUDE = 1 << 10,
    XML_PARSE_NONET = 1 << 11,
    XML_PARSE_NODICT = 1 << 12,
    XML_PARSE_NSCLEAN = 1 << 13,
    XML_PARSE_NOCDATA = 1 << 14,
    XML_PARSE_NOXINCNODE = 1 << 15,
    XML_PARSE_COMPACT = 1 << 16
} xmlParserOption;
extern xmlDocPtr xmlSAXParseMemory(xmlSAXHandlerPtr, const char *, int,
				   int);
extern void xmlStopParser(xmlParserCtxtPtr);
extern int xmlInitParserCtxt(xmlParserCtxtPtr);
extern void xmlFreeParserCtxt(xmlParserCtxtPtr);
extern void xmlInitNodeInfoSeq(xmlParserNodeInfoSeqPtr);
extern const xmlParserNodeInfo *xmlParserFindNodeInfo(const
						      xmlParserCtxtPtr,
						      const xmlNodePtr);
extern xmlDocPtr xmlRecoverFile(const char *);
extern xmlDocPtr xmlParseDoc(const xmlChar *);
extern int xmlParseCtxtExternalEntity(xmlParserCtxtPtr, const xmlChar *,
				      const xmlChar *, xmlNodePtr *);
extern xmlParserCtxtPtr xmlCreatePushParserCtxt(xmlSAXHandlerPtr, void *,
						const char *, int,
						const char *);
extern int xmlSubstituteEntitiesDefault(int);
extern int xmlLineNumbersDefault(int);
extern xmlParserErrors xmlParseInNodeContext(xmlNodePtr, const char *, int,
					     int, xmlNodePtr *);
extern void xmlCleanupParser(void);
extern long unsigned int xmlParserFindNodeInfoIndex(const
						    xmlParserNodeInfoSeqPtr,
						    const xmlNodePtr);
extern xmlDocPtr xmlReadFd(int, const char *, const char *, int);
extern xmlDocPtr xmlCtxtReadFile(xmlParserCtxtPtr, const char *,
				 const char *, int);
extern int xmlCtxtResetPush(xmlParserCtxtPtr, const char *, int,
			    const char *, const char *);
extern void xmlClearNodeInfoSeq(xmlParserNodeInfoSeqPtr);
extern int xmlParserInputRead(xmlParserInputPtr, int);
extern xmlExternalEntityLoader xmlGetExternalEntityLoader(void);
extern void xmlCtxtReset(xmlParserCtxtPtr);
extern int xmlSAXUserParseMemory(xmlSAXHandlerPtr, void *, const char *,
				 int);
extern xmlDocPtr xmlReadIO(xmlInputReadCallback, xmlInputCloseCallback,
			   void *, const char *, const char *, int);
extern int xmlParserInputGrow(xmlParserInputPtr, int);
extern xmlDtdPtr xmlSAXParseDTD(xmlSAXHandlerPtr, const xmlChar *,
				const xmlChar *);
extern int xmlParseChunk(xmlParserCtxtPtr, const char *, int, int);
extern int xmlParseExternalEntity(xmlDocPtr, xmlSAXHandlerPtr, void *, int,
				  const xmlChar *, const xmlChar *,
				  xmlNodePtr *);
extern xmlParserCtxtPtr xmlCreateDocParserCtxt(const xmlChar *);
extern xmlDocPtr xmlRecoverDoc(xmlChar *);
extern xmlDocPtr xmlRecoverMemory(const char *, int);
extern int xmlParseBalancedChunkMemory(xmlDocPtr, xmlSAXHandlerPtr, void *,
				       int, const xmlChar *, xmlNodePtr *);
extern xmlDocPtr xmlSAXParseMemoryWithData(xmlSAXHandlerPtr, const char *,
					   int, int, void *);
extern xmlDocPtr xmlCtxtReadDoc(xmlParserCtxtPtr, const xmlChar *,
				const char *, const char *, int);
extern int xmlParseDocument(xmlParserCtxtPtr);
extern xmlDocPtr xmlReadMemory(const char *, int, const char *,
			       const char *, int);
extern xmlDocPtr xmlReadDoc(const xmlChar *, const char *, const char *,
			    int);
extern xmlParserInputPtr xmlNewIOInputStream(xmlParserCtxtPtr,
					     xmlParserInputBufferPtr,
					     xmlCharEncoding);
extern xmlDocPtr xmlSAXParseFile(xmlSAXHandlerPtr, const char *, int);
extern xmlDocPtr xmlParseFile(const char *);
extern int xmlParseExtParsedEnt(xmlParserCtxtPtr);
extern xmlDtdPtr xmlIOParseDTD(xmlSAXHandlerPtr, xmlParserInputBufferPtr,
			       xmlCharEncoding);
extern int xmlPedanticParserDefault(int);
extern void xmlClearParserCtxt(xmlParserCtxtPtr);
extern xmlDocPtr xmlSAXParseEntity(xmlSAXHandlerPtr, const char *);
extern xmlDocPtr xmlSAXParseDoc(xmlSAXHandlerPtr, const xmlChar *, int);
extern xmlDocPtr xmlSAXParseFileWithData(xmlSAXHandlerPtr, const char *,
					 int, void *);
extern xmlParserCtxtPtr xmlCreateIOParserCtxt(xmlSAXHandlerPtr, void *,
					      xmlInputReadCallback,
					      xmlInputCloseCallback,
					      void *, xmlCharEncoding);
extern xmlParserInputPtr xmlLoadExternalEntity(const char *, const char *,
					       xmlParserCtxtPtr);
extern int xmlSAXUserParseFile(xmlSAXHandlerPtr, void *, const char *);
extern xmlDocPtr xmlParseMemory(const char *, int);
extern xmlDocPtr xmlReadFile(const char *, const char *, int);
extern xmlDocPtr xmlCtxtReadFd(xmlParserCtxtPtr, int, const char *,
			       const char *, int);
extern void xmlInitParser(void);
extern int xmlCtxtUseOptions(xmlParserCtxtPtr, int);
extern xmlDocPtr xmlParseEntity(const char *);
extern xmlDocPtr xmlCtxtReadMemory(xmlParserCtxtPtr, const char *, int,
				   const char *, const char *, int);
extern long int xmlByteConsumed(xmlParserCtxtPtr);
extern void xmlParserAddNodeInfo(xmlParserCtxtPtr,
				 const xmlParserNodeInfoPtr);
extern int xmlParseBalancedChunkMemoryRecover(xmlDocPtr, xmlSAXHandlerPtr,
					      void *, int, const xmlChar *,
					      xmlNodePtr *, int);
extern void xmlSetupParserForBuffer(xmlParserCtxtPtr, const xmlChar *,
				    const char *);
extern xmlParserCtxtPtr xmlNewParserCtxt(void);
extern xmlDtdPtr xmlParseDTD(const xmlChar *, const xmlChar *);
extern int xmlHasFeature(xmlFeature);
extern xmlDocPtr xmlCtxtReadIO(xmlParserCtxtPtr, xmlInputReadCallback,
			       xmlInputCloseCallback, void *, const char *,
			       const char *, int);
extern void xmlSetExternalEntityLoader(xmlExternalEntityLoader);
extern int xmlKeepBlanksDefault(int);

18.2.14. libxml2/libxml/parserInternals.h


#define IS_ASCII_LETTER(c)	 \
	(((0x41 <= (c)) && ((c) <= 0x5a)) || ((0x61 <= (c)) && ((c) <= \
	0x7a)))
#define SKIP_EOL(p)	 \
	if (*(p) == 0x13) { p++ ; if (*(p) == 0x10) p++; } if (*(p) == 0x10) \
	{ p++ ; if (*(p) == 0x13) p++; }
#define IS_ASCII_DIGIT(c)	((0x30 <= (c)) && ((c) <= 0x39))
#define IS_LETTER(c)	(IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
#define IS_COMBINING_CH(c)	0
#define XML_SUBSTITUTE_NONE	0
#define XML_SUBSTITUTE_REF	1
#define XML_MAX_NAMELEN	100
#define XML_SUBSTITUTE_PEREF	2
#define INPUT_CHUNK	250
#define XML_SUBSTITUTE_BOTH	3
#define MOVETO_STARTTAG(p)	while ((*p) && (*(p) != '<')) (p)++
#define MOVETO_ENDTAG(p)	while ((*p) && (*(p) != '>')) (p)++
#define IS_BASECHAR(c)	xmlIsBaseCharQ(c)
#define IS_LETTER_CH(c)	xmlIsBaseChar_ch(c)
#define IS_BLANK(c)	xmlIsBlankQ(c)
#define IS_BLANK_CH(c)	xmlIsBlank_ch(c)
#define IS_CHAR(c)	xmlIsCharQ(c)
#define IS_BYTE_CHAR(c)	xmlIsChar_ch(c)
#define IS_CHAR_CH(c)	xmlIsChar_ch(c)
#define IS_COMBINING(c)	xmlIsCombiningQ(c)
#define IS_DIGIT(c)	xmlIsDigitQ(c)
#define IS_DIGIT_CH(c)	xmlIsDigit_ch(c)
#define IS_EXTENDER(c)	xmlIsExtenderQ(c)
#define IS_EXTENDER_CH(c)	xmlIsExtender_ch(c)
#define IS_IDEOGRAPHIC(c)	xmlIsIdeographicQ(c)
#define IS_PUBIDCHAR(c)	xmlIsPubidCharQ(c)
#define IS_PUBIDCHAR_CH(c)	xmlIsPubidChar_ch(c)

typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr, xmlNodePtr,
					xmlNodePtr);
extern int nodePush(xmlParserCtxtPtr, xmlNodePtr);
extern void xmlParseElement(xmlParserCtxtPtr);
extern const const xmlChar xmlStringComment[];
extern xmlElementContentPtr
xmlParseElementChildrenContentDecl(xmlParserCtxtPtr, int);
extern void xmlParseContent(xmlParserCtxtPtr);
extern xmlChar *xmlParseEntityValue(xmlParserCtxtPtr, xmlChar * *);
extern xmlChar *xmlParseNmtoken(xmlParserCtxtPtr);
extern xmlNodePtr nodePop(xmlParserCtxtPtr);
extern const xmlChar *xmlParsePITarget(xmlParserCtxtPtr);
extern int xmlSwitchToEncoding(xmlParserCtxtPtr,
			       xmlCharEncodingHandlerPtr);
extern void xmlPushInput(xmlParserCtxtPtr, xmlParserInputPtr);
extern int xmlStringCurrentChar(xmlParserCtxtPtr, const xmlChar *, int *);
extern void xmlFreeInputStream(xmlParserInputPtr);
extern xmlParserInputPtr xmlNewInputFromFile(xmlParserCtxtPtr,
					     const char *);
extern void xmlParseMarkupDecl(xmlParserCtxtPtr);
extern unsigned int xmlParserMaxDepth;
extern int xmlParseDefaultDecl(xmlParserCtxtPtr, xmlChar * *);
extern void xmlParseXMLDecl(xmlParserCtxtPtr);
extern xmlChar *xmlStringDecodeEntities(xmlParserCtxtPtr, const xmlChar *,
					int, xmlChar, xmlChar, xmlChar);
extern xmlChar *xmlParsePubidLiteral(xmlParserCtxtPtr);
extern xmlParserInputPtr xmlNewEntityInputStream(xmlParserCtxtPtr,
						 xmlEntityPtr);
extern xmlChar *xmlParseEncName(xmlParserCtxtPtr);
extern xmlParserCtxtPtr xmlCreateMemoryParserCtxt(const char *, int);
extern xmlParserCtxtPtr xmlCreateEntityParserCtxt(const xmlChar *,
						  const xmlChar *,
						  const xmlChar *);
extern void xmlParserInputShrink(xmlParserInputPtr);
extern void xmlParserHandlePEReference(xmlParserCtxtPtr);
extern xmlParserCtxtPtr xmlCreateFileParserCtxt(const char *);
extern const xmlChar *xmlParseAttribute(xmlParserCtxtPtr, xmlChar * *);
extern int xmlCurrentChar(xmlParserCtxtPtr, int *);
extern int xmlIsLetter(int);
extern int xmlParseCharRef(xmlParserCtxtPtr);
extern xmlChar *xmlStringLenDecodeEntities(xmlParserCtxtPtr,
					   const xmlChar *, int, int,
					   xmlChar, xmlChar, xmlChar);
extern void xmlParseCharData(xmlParserCtxtPtr, int);
extern xmlChar *xmlParseExternalID(xmlParserCtxtPtr, xmlChar * *, int);
extern xmlChar *xmlParseSystemLiteral(xmlParserCtxtPtr);
extern xmlEnumerationPtr xmlParseEnumerationType(xmlParserCtxtPtr);
extern xmlParserInputPtr inputPop(xmlParserCtxtPtr);
extern xmlParserCtxtPtr xmlCreateURLParserCtxt(const char *, int);
extern const xmlChar *xmlParseEncodingDecl(xmlParserCtxtPtr);
extern const xmlChar *xmlParseStartTag(xmlParserCtxtPtr);
extern xmlChar *xmlParseVersionNum(xmlParserCtxtPtr);
extern const xmlChar *namePop(xmlParserCtxtPtr);
extern void xmlParseMisc(xmlParserCtxtPtr);
extern void xmlParsePI(xmlParserCtxtPtr);
extern int xmlSwitchEncoding(xmlParserCtxtPtr, xmlCharEncoding);
extern xmlParserInputPtr xmlNewInputStream(xmlParserCtxtPtr);
extern void xmlParseTextDecl(xmlParserCtxtPtr);
extern xmlChar *xmlParseVersionInfo(xmlParserCtxtPtr);
extern int inputPush(xmlParserCtxtPtr, xmlParserInputPtr);
extern int xmlParseElementContentDecl(xmlParserCtxtPtr, const xmlChar *,
				      xmlElementContentPtr *);
extern xmlChar *xmlSplitQName(xmlParserCtxtPtr, const xmlChar *,
			      xmlChar * *);
extern void xmlParseReference(xmlParserCtxtPtr);
extern int xmlParseEnumeratedType(xmlParserCtxtPtr, xmlEnumerationPtr *);
extern void xmlParseComment(xmlParserCtxtPtr);
extern void xmlParsePEReference(xmlParserCtxtPtr);
extern void xmlSetEntityReferenceFunc(xmlEntityReferenceFunc);
extern int xmlParseSDDecl(xmlParserCtxtPtr);
extern void xmlParseEntityDecl(xmlParserCtxtPtr);
extern int xmlSkipBlankChars(xmlParserCtxtPtr);
extern void xmlParseDocTypeDecl(xmlParserCtxtPtr);
extern void htmlInitAutoClose(void);
extern const const xmlChar xmlStringText[];
extern xmlChar *xmlParseAttValue(xmlParserCtxtPtr);
extern int namePush(xmlParserCtxtPtr, const xmlChar *);
extern int xmlSwitchInputEncoding(xmlParserCtxtPtr, xmlParserInputPtr,
				  xmlCharEncodingHandlerPtr);
extern xmlElementContentPtr
xmlParseElementMixedContentDecl(xmlParserCtxtPtr, int);
extern void xmlParseCDSect(xmlParserCtxtPtr);
extern htmlParserCtxtPtr htmlCreateFileParserCtxt(const char *,
						  const char *);
extern void xmlParseExternalSubset(xmlParserCtxtPtr, const xmlChar *,
				   const xmlChar *);
extern xmlChar xmlPopInput(xmlParserCtxtPtr);
extern void xmlNextChar(xmlParserCtxtPtr);
extern xmlParserInputPtr xmlNewStringInputStream(xmlParserCtxtPtr,
						 const xmlChar *);
extern int xmlCopyCharMultiByte(xmlChar *, int);
extern const xmlChar *xmlParseName(xmlParserCtxtPtr);
extern xmlEnumerationPtr xmlParseNotationType(xmlParserCtxtPtr);
extern void xmlParseEndTag(xmlParserCtxtPtr);
extern void xmlParseNotationDecl(xmlParserCtxtPtr);
extern int xmlParseElementDecl(xmlParserCtxtPtr);
extern int xmlParseAttributeType(xmlParserCtxtPtr, xmlEnumerationPtr *);
extern void xmlParseAttributeListDecl(xmlParserCtxtPtr);
extern const const xmlChar xmlStringTextNoenc[];
extern int xmlCopyChar(int, xmlChar *, int);
extern xmlEntityPtr xmlParseEntityRef(xmlParserCtxtPtr);

18.2.15. libxml2/libxml/pattern.h


typedef struct _xmlStreamCtxt xmlStreamCtxt;
typedef xmlStreamCtxt *xmlStreamCtxtPtr;
typedef struct _xmlPattern xmlPattern;
typedef xmlPattern *xmlPatternPtr;
typedef enum {
    XML_PATTERN_DEFAULT = 0,
    XML_PATTERN_XPATH = 1 << 0,
    XML_PATTERN_XSSEL = 1 << 1,
    XML_PATTERN_XSFIELD = 1 << 2
} xmlPatternFlags;
extern int xmlStreamPush(xmlStreamCtxtPtr, const xmlChar *,
			 const xmlChar *);
extern int xmlStreamPushAttr(xmlStreamCtxtPtr, const xmlChar *,
			     const xmlChar *);
extern void xmlFreePattern(xmlPatternPtr);
extern int xmlPatternFromRoot(xmlPatternPtr);
extern xmlPatternPtr xmlPatterncompile(const xmlChar *, xmlDict *, int,
				       const xmlChar * *);
extern int xmlPatternMatch(xmlPatternPtr, xmlNodePtr);
extern void xmlFreePatternList(xmlPatternPtr);
extern int xmlPatternMaxDepth(xmlPatternPtr);
extern int xmlPatternStreamable(xmlPatternPtr);
extern int xmlPatternMinDepth(xmlPatternPtr);
extern int xmlStreamPop(xmlStreamCtxtPtr);
extern void xmlFreeStreamCtxt(xmlStreamCtxtPtr);
extern xmlStreamCtxtPtr xmlPatternGetStreamCtxt(xmlPatternPtr);

18.2.16. libxml2/libxml/relaxng.h


typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;
typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;
typedef struct _xmlRelaxNG xmlRelaxNG;
typedef xmlRelaxNG *xmlRelaxNGPtr;
typedef void (*xmlRelaxNGValidityErrorFunc) (void *, const char *, ...);
typedef void (*xmlRelaxNGValidityWarningFunc) (void *, const char *, ...);
typedef enum {
    XML_RELAXNG_OK = 0,
    XML_RELAXNG_ERR_MEMORY,
    XML_RELAXNG_ERR_TYPE,
    XML_RELAXNG_ERR_TYPEVAL,
    XML_RELAXNG_ERR_DUPID,
    XML_RELAXNG_ERR_TYPECMP,
    XML_RELAXNG_ERR_NOSTATE,
    XML_RELAXNG_ERR_NODEFINE,
    XML_RELAXNG_ERR_LISTEXTRA,
    XML_RELAXNG_ERR_LISTEMPTY,
    XML_RELAXNG_ERR_INTERNODATA,
    XML_RELAXNG_ERR_INTERSEQ,
    XML_RELAXNG_ERR_INTEREXTRA,
    XML_RELAXNG_ERR_ELEMNAME,
    XML_RELAXNG_ERR_ATTRNAME,
    XML_RELAXNG_ERR_ELEMNONS,
    XML_RELAXNG_ERR_ATTRNONS,
    XML_RELAXNG_ERR_ELEMWRONGNS,
    XML_RELAXNG_ERR_ATTRWRONGNS,
    XML_RELAXNG_ERR_ELEMEXTRANS,
    XML_RELAXNG_ERR_ATTREXTRANS,
    XML_RELAXNG_ERR_ELEMNOTEMPTY,
    XML_RELAXNG_ERR_NOELEM,
    XML_RELAXNG_ERR_NOTELEM,
    XML_RELAXNG_ERR_ATTRVALID,
    XML_RELAXNG_ERR_CONTENTVALID,
    XML_RELAXNG_ERR_EXTRACONTENT,
    XML_RELAXNG_ERR_INVALIDATTR,
    XML_RELAXNG_ERR_DATAELEM,
    XML_RELAXNG_ERR_VALELEM,
    XML_RELAXNG_ERR_LISTELEM,
    XML_RELAXNG_ERR_DATATYPE,
    XML_RELAXNG_ERR_VALUE,
    XML_RELAXNG_ERR_LIST,
    XML_RELAXNG_ERR_NOGRAMMAR,
    XML_RELAXNG_ERR_EXTRADATA,
    XML_RELAXNG_ERR_LACKDATA,
    XML_RELAXNG_ERR_INTERNAL,
    XML_RELAXNG_ERR_ELEMWRONG,
    XML_RELAXNG_ERR_TEXTWRONG
} xmlRelaxNGValidErr;
typedef enum {
    XML_RELAXNGP_NONE = 0,
    XML_RELAXNGP_FREE_DOC = 1,
    XML_RELAXNGP_CRNG = 2
} xmlRelaxNGParserFlag;
extern xmlRelaxNGParserCtxtPtr xmlRelaxNGNewParserCtxt(const char *);
extern void xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr,
					       xmlStructuredErrorFunc,
					       void *);
extern int xmlRelaxParserSetFlag(xmlRelaxNGParserCtxtPtr, int);
extern void xmlRelaxNGFreeValidCtxt(xmlRelaxNGValidCtxtPtr);
extern void xmlRelaxNGFree(xmlRelaxNGPtr);
extern void xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr,
				      xmlRelaxNGValidityErrorFunc,
				      xmlRelaxNGValidityWarningFunc,
				      void *);
extern xmlRelaxNGPtr xmlRelaxNGParse(xmlRelaxNGParserCtxtPtr);
extern xmlRelaxNGParserCtxtPtr xmlRelaxNGNewDocParserCtxt(xmlDocPtr);
extern int xmlRelaxNGValidateFullElement(xmlRelaxNGValidCtxtPtr, xmlDocPtr,
					 xmlNodePtr);
extern int xmlRelaxNGValidatePopElement(xmlRelaxNGValidCtxtPtr, xmlDocPtr,
					xmlNodePtr);
extern int xmlRelaxNGInitTypes(void);
extern void xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr,
				     xmlRelaxNGValidityErrorFunc,
				     xmlRelaxNGValidityWarningFunc,
				     void *);
extern void xmlRelaxNGDumpTree(FILE *, xmlRelaxNGPtr);
extern void xmlRelaxNGDump(FILE *, xmlRelaxNGPtr);
extern int xmlRelaxNGValidatePushElement(xmlRelaxNGValidCtxtPtr, xmlDocPtr,
					 xmlNodePtr);
extern xmlRelaxNGValidCtxtPtr xmlRelaxNGNewValidCtxt(xmlRelaxNGPtr);
extern void xmlRelaxNGCleanupTypes(void);
extern void xmlRelaxNGFreeParserCtxt(xmlRelaxNGParserCtxtPtr);
extern int xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr,
				    xmlRelaxNGValidityErrorFunc *,
				    xmlRelaxNGValidityWarningFunc *,
				    void **);
extern int xmlRelaxNGValidateDoc(xmlRelaxNGValidCtxtPtr, xmlDocPtr);
extern int xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr,
				     xmlRelaxNGValidityErrorFunc *,
				     xmlRelaxNGValidityWarningFunc *,
				     void **);
extern xmlRelaxNGParserCtxtPtr xmlRelaxNGNewMemParserCtxt(const char *,
							  int);
extern int xmlRelaxNGValidatePushCData(xmlRelaxNGValidCtxtPtr,
				       const xmlChar *, int);

18.2.17. libxml2/libxml/schematron.h


typedef struct _xmlSchematronValidCtxt xmlSchematronValidCtxt;
typedef xmlSchematronValidCtxt *xmlSchematronValidCtxtPtr;
typedef struct _xmlSchematron xmlSchematron;
typedef xmlSchematron *xmlSchematronPtr;
typedef struct _xmlSchematronParserCtxt xmlSchematronParserCtxt;
typedef xmlSchematronParserCtxt *xmlSchematronParserCtxtPtr;
typedef enum {
    XML_SCHEMATRON_OUT_QUIET = 1 << 0,
    XML_SCHEMATRON_OUT_TEXT = 1 << 1,
    XML_SCHEMATRON_OUT_XML = 1 << 2,
    XML_SCHEMATRON_OUT_FILE = 1 << 8,
    XML_SCHEMATRON_OUT_BUFFER = 1 << 9,
    XML_SCHEMATRON_OUT_IO = 1 << 10
} xmlSchematronValidOptions;
extern xmlSchematronValidCtxtPtr
xmlSchematronNewValidCtxt(xmlSchematronPtr, int);
extern void xmlSchematronFreeValidCtxt(xmlSchematronValidCtxtPtr);
extern int xmlSchematronValidateDoc(xmlSchematronValidCtxtPtr, xmlDocPtr);
extern xmlSchematronParserCtxtPtr xmlSchematronNewMemParserCtxt(const char
								*, int);
extern xmlSchematronParserCtxtPtr xmlSchematronNewParserCtxt(const char *);
extern xmlSchematronPtr xmlSchematronParse(xmlSchematronParserCtxtPtr);
extern void xmlSchematronFree(xmlSchematronPtr);
extern void xmlSchematronFreeParserCtxt(xmlSchematronParserCtxtPtr);
extern xmlSchematronParserCtxtPtr xmlSchematronNewDocParserCtxt(xmlDocPtr);

18.2.18. libxml2/libxml/threads.h


typedef struct _xmlRMutex xmlRMutex;
typedef xmlRMutex *xmlRMutexPtr;
typedef struct _xmlMutex xmlMutex;
typedef xmlMutex *xmlMutexPtr;
extern int xmlGetThreadId(void);
extern xmlRMutexPtr xmlNewRMutex(void);
extern void xmlCleanupThreads(void);
extern void xmlFreeRMutex(xmlRMutexPtr);
extern xmlMutexPtr xmlNewMutex(void);
extern int xmlIsMainThread(void);
extern void xmlUnlockLibrary(void);
extern void xmlRMutexLock(xmlRMutexPtr);
extern void xmlRMutexUnlock(xmlRMutexPtr);
extern void xmlMutexUnlock(xmlMutexPtr);
extern void xmlMutexLock(xmlMutexPtr);
extern xmlGlobalStatePtr xmlGetGlobalState(void);
extern void xmlInitThreads(void);
extern void xmlLockLibrary(void);
extern void xmlFreeMutex(xmlMutexPtr);

18.2.19. libxml2/libxml/tree.h


#define XML_GET_CONTENT(n)	 \
	((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
#define XML_XML_NAMESPACE	 \
	(const xmlChar *) "http://www.w3.org/XML/1998/namespace"
#define XML_XML_ID	(const xmlChar *) "xml:id"
#define XML_GET_LINE(n)	(xmlGetLineNo(n))
#define BASE_BUFFER_SIZE	4096
#define xmlChildrenNode	children
#define xmlRootNode	children
#define XML_LOCAL_NAMESPACE	XML_NAMESPACE_DECL

typedef enum {
    XML_BUFFER_ALLOC_DOUBLEIT = 0,
    XML_BUFFER_ALLOC_EXACT = 1,
    XML_BUFFER_ALLOC_IMMUTABLE = 2
} xmlBufferAllocationScheme;
typedef struct _xmlBuffer {
    xmlChar *content;
    unsigned int use;
    unsigned int size;
    xmlBufferAllocationScheme alloc;
} xmlBuffer;
typedef xmlBuffer *xmlBufferPtr;
typedef enum {
    XML_ELEMENT_NODE = 1,
    XML_ATTRIBUTE_NODE = 2,
    XML_TEXT_NODE = 3,
    XML_CDATA_SECTION_NODE = 4,
    XML_ENTITY_REF_NODE = 5,
    XML_ENTITY_NODE = 6,
    XML_PI_NODE = 7,
    XML_COMMENT_NODE = 8,
    XML_DOCUMENT_NODE = 9,
    XML_DOCUMENT_TYPE_NODE = 10,
    XML_DOCUMENT_FRAG_NODE = 11,
    XML_NOTATION_NODE = 12,
    XML_HTML_DOCUMENT_NODE = 13,
    XML_DTD_NODE = 14,
    XML_ELEMENT_DECL = 15,
    XML_ATTRIBUTE_DECL = 16,
    XML_ENTITY_DECL = 17,
    XML_NAMESPACE_DECL = 18,
    XML_XINCLUDE_START = 19,
    XML_XINCLUDE_END = 20,
    XML_DOCB_DOCUMENT_NODE = 21
} xmlElementType;
typedef xmlElementType xmlNsType;
typedef struct _xmlNs {
    struct _xmlNs *next;
    xmlNsType type;
    const xmlChar *href;
    const xmlChar *prefix;
    void *_private;
} xmlNs;
typedef enum {
    XML_ATTRIBUTE_CDATA = 1,
    XML_ATTRIBUTE_ID = 2,
    XML_ATTRIBUTE_IDREF = 3,
    XML_ATTRIBUTE_IDREFS = 4,
    XML_ATTRIBUTE_ENTITY = 5,
    XML_ATTRIBUTE_ENTITIES = 6,
    XML_ATTRIBUTE_NMTOKEN = 7,
    XML_ATTRIBUTE_NMTOKENS = 8,
    XML_ATTRIBUTE_ENUMERATION = 9,
    XML_ATTRIBUTE_NOTATION = 10
} xmlAttributeType;
typedef struct _xmlNode {
    void *_private;
    xmlElementType type;
    const xmlChar *name;
    struct _xmlNode *children;
    struct _xmlNode *last;
    struct _xmlNode *parent;
    struct _xmlNode *next;
    struct _xmlNode *prev;
    struct _xmlDoc *doc;
    xmlNs *ns;
    xmlChar *content;
    struct _xmlAttr *properties;
    xmlNs *nsDef;
    void *psvi;
    unsigned short line;
    unsigned short extra;
} xmlNode;
typedef xmlNode *xmlNodePtr;
typedef struct _xmlDoc {
    void *_private;
    xmlElementType type;
    char *name;
    struct _xmlNode *children;
    struct _xmlNode *last;
    struct _xmlNode *parent;
    struct _xmlNode *next;
    struct _xmlNode *prev;
    struct _xmlDoc *doc;
    int compression;
    int standalone;
    struct _xmlDtd *intSubset;
    struct _xmlDtd *extSubset;
    struct _xmlNs *oldNs;
    const xmlChar *version;
    const xmlChar *encoding;
    void *ids;
    void *refs;
    const xmlChar *URL;
    int charset;
    struct _xmlDict *dict;
    void *psvi;
} xmlDoc;
typedef xmlDoc *xmlDocPtr;
typedef xmlNs *xmlNsPtr;
typedef struct _xmlDtd {
    void *_private;
    xmlElementType type;
    const xmlChar *name;
    struct _xmlNode *children;
    struct _xmlNode *last;
    struct _xmlDoc *parent;
    struct _xmlNode *next;
    struct _xmlNode *prev;
    struct _xmlDoc *doc;
    void *notations;
    void *elements;
    void *attributes;
    void *entities;
    const xmlChar *ExternalID;
    const xmlChar *SystemID;
    void *pentities;
} xmlDtd;
typedef xmlDtd *xmlDtdPtr;
typedef struct _xmlDOMWrapCtxt {
    void *_private;
} xmlDOMWrapCtxt;
typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
typedef struct _xmlAttr {
    void *_private;
    xmlElementType type;
    const xmlChar *name;
    struct _xmlNode *children;
    struct _xmlNode *last;
    struct _xmlNode *parent;
    struct _xmlAttr *next;
    struct _xmlAttr *prev;
    struct _xmlDoc *doc;
    xmlNs *ns;
    xmlAttributeType atype;
    void *psvi;
} xmlAttr;
typedef xmlAttr *xmlAttrPtr;
typedef int (*xmlOutputWriteCallback) (void *, const char *, int);
typedef int (*xmlOutputCloseCallback) (void *);
typedef int (*xmlCharEncodingInputFunc) (unsigned char *, int *,
					 const unsigned char *, int *);
typedef int (*xmlCharEncodingOutputFunc) (unsigned char *, int *,
					  const unsigned char *, int *);
typedef struct _xmlCharEncodingHandler {
    char *name;
    xmlCharEncodingInputFunc input;
    xmlCharEncodingOutputFunc output;
    iconv_t iconv_in;
    iconv_t iconv_out;
} xmlCharEncodingHandler;
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
typedef struct _xmlOutputBuffer {
    void *context;
    xmlOutputWriteCallback writecallback;
    xmlOutputCloseCallback closecallback;
    xmlCharEncodingHandlerPtr encoder;
    xmlBufferPtr buffer;
    xmlBufferPtr conv;
    int written;
    int error;
} xmlOutputBuffer;
typedef xmlOutputBuffer *xmlOutputBufferPtr;
extern const xmlChar *xmlBufferContent(const xmlBufferPtr);
extern void xmlSetBufferAllocationScheme(xmlBufferAllocationScheme);
extern xmlNodePtr xmlDocSetRootElement(xmlDocPtr, xmlNodePtr);
extern xmlNsPtr xmlNewNs(xmlNodePtr, const xmlChar *, const xmlChar *);
extern xmlChar *xmlGetNsProp(xmlNodePtr, const xmlChar *, const xmlChar *);
extern int xmlSaveFile(const char *, xmlDocPtr);
extern int xmlNodeDump(xmlBufferPtr, xmlDocPtr, xmlNodePtr, int, int);
extern void xmlSetTreeDoc(xmlNodePtr, xmlDocPtr);
extern void xmlUnlinkNode(xmlNodePtr);
extern xmlChar *xmlSplitQName2(const xmlChar *, xmlChar * *);
extern void xmlFreeDtd(xmlDtdPtr);
extern const xmlChar *xmlSplitQName3(const xmlChar *, int *);
extern void xmlDOMWrapFreeCtxt(xmlDOMWrapCtxtPtr);
extern int xmlGetCompressMode(void);
extern xmlNodePtr xmlDocCopyNodeList(xmlDocPtr, const xmlNodePtr);
extern xmlNodePtr xmlNewDocNodeEatName(xmlDocPtr, xmlNsPtr, xmlChar *,
				       const xmlChar *);
extern xmlNodePtr xmlStringGetNodeList(xmlDocPtr, const xmlChar *);
extern xmlNodePtr xmlNewDocPI(xmlDocPtr, const xmlChar *, const xmlChar *);
extern int xmlUnsetNsProp(xmlNodePtr, xmlNsPtr, const xmlChar *);
extern void xmlSetCompressMode(int);
extern void xmlSetDocCompressMode(xmlDocPtr, int);
extern xmlNodePtr xmlNewText(const xmlChar *);
extern xmlNodePtr xmlDocGetRootElement(xmlDocPtr);
extern int xmlValidateName(const xmlChar *, int);
extern void xmlAttrSerializeTxtContent(xmlBufferPtr, xmlDocPtr, xmlAttrPtr,
				       const xmlChar *);
extern long int xmlGetLineNo(xmlNodePtr);
extern int xmlNodeBufGetContent(xmlBufferPtr, xmlNodePtr);
extern xmlAttrPtr xmlHasProp(xmlNodePtr, const xmlChar *);
extern xmlNodePtr xmlNewReference(xmlDocPtr, const xmlChar *);
extern void xmlNodeSetContentLen(xmlNodePtr, const xmlChar *, int);
extern void xmlFreeNsList(xmlNsPtr);
extern int xmlSaveFormatFileEnc(const char *, xmlDocPtr, const char *,
				int);
extern void xmlFreeDoc(xmlDocPtr);
extern xmlNodePtr xmlNewDocFragment(xmlDocPtr);
extern xmlNodePtr xmlNewCharRef(xmlDocPtr, const xmlChar *);
extern int xmlTextConcat(xmlNodePtr, const xmlChar *, int);
extern void xmlBufferEmpty(xmlBufferPtr);
extern int xmlNodeGetSpacePreserve(xmlNodePtr);
extern int xmlBufferCCat(xmlBufferPtr, const char *);
extern int xmlSaveFormatFileTo(xmlOutputBufferPtr, xmlDocPtr, const char *,
			       int);
extern xmlBufferPtr xmlBufferCreate(void);
extern xmlChar *xmlNodeGetBase(xmlDocPtr, xmlNodePtr);
extern xmlChar *xmlGetNoNsProp(xmlNodePtr, const xmlChar *);
extern xmlDOMWrapCtxtPtr xmlDOMWrapNewCtxt(void);
extern void xmlBufferWriteQuotedString(xmlBufferPtr, const xmlChar *);
extern xmlAttrPtr xmlNewDocProp(xmlDocPtr, const xmlChar *,
				const xmlChar *);
extern int xmlBufferAddHead(xmlBufferPtr, const xmlChar *, int);
extern xmlNodePtr xmlNewTextLen(const xmlChar *, int);
extern int xmlUnsetProp(xmlNodePtr, const xmlChar *);
extern xmlNsPtr *xmlGetNsList(xmlDocPtr, xmlNodePtr);
extern void xmlDocDumpMemory(xmlDocPtr, xmlChar * *, int *);
extern int xmlSaveFileEnc(const char *, xmlDocPtr, const char *);
extern xmlNodePtr xmlNewPI(const xmlChar *, const xmlChar *);
extern xmlDocPtr xmlNewDoc(const xmlChar *);
extern xmlChar *xmlNodeListGetString(xmlDocPtr, xmlNodePtr, int);
extern xmlChar *xmlNodeListGetRawString(xmlDocPtr, xmlNodePtr, int);
extern void xmlFreePropList(xmlAttrPtr);
extern void xmlBufferWriteCHAR(xmlBufferPtr, const xmlChar *);
extern xmlNodePtr xmlNewDocNode(xmlDocPtr, xmlNsPtr, const xmlChar *,
				const xmlChar *);
extern int xmlRemoveProp(xmlAttrPtr);
extern int xmlBufferShrink(xmlBufferPtr, unsigned int);
extern xmlNodePtr xmlStringLenGetNodeList(xmlDocPtr, const xmlChar *, int);
extern xmlNodePtr xmlTextMerge(xmlNodePtr, xmlNodePtr);
extern void xmlFreeNs(xmlNsPtr);
extern xmlNodePtr xmlNewTextChild(xmlNodePtr, xmlNsPtr, const xmlChar *,
				  const xmlChar *);
extern xmlNsPtr xmlCopyNamespaceList(xmlNsPtr);
extern void xmlBufferWriteChar(xmlBufferPtr, const char *);
extern xmlChar *xmlNodeGetContent(xmlNodePtr);
extern xmlNodePtr xmlCopyNodeList(const xmlNodePtr);
extern xmlChar *xmlNodeGetLang(xmlNodePtr);
extern int xmlValidateNMToken(const xmlChar *, int);
extern xmlBufferPtr xmlBufferCreateStatic(void *, size_t);
extern int xmlBufferGrow(xmlBufferPtr, unsigned int);
extern xmlNodePtr xmlAddPrevSibling(xmlNodePtr, xmlNodePtr);
extern int xmlReconciliateNs(xmlDocPtr, xmlNodePtr);
extern int xmlValidateQName(const xmlChar *, int);
extern int xmlValidateNCName(const xmlChar *, int);
extern void xmlNodeDumpOutput(xmlOutputBufferPtr, xmlDocPtr, xmlNodePtr,
			      int, int, const char *);
extern xmlDtdPtr xmlGetIntSubset(xmlDocPtr);
extern xmlAttrPtr xmlNewNsProp(xmlNodePtr, xmlNsPtr, const xmlChar *,
			       const xmlChar *);
extern xmlNodePtr xmlNewComment(const xmlChar *);
extern int xmlGetDocCompressMode(xmlDocPtr);
extern xmlAttrPtr xmlSetProp(xmlNodePtr, const xmlChar *, const xmlChar *);
extern xmlBufferAllocationScheme xmlGetBufferAllocationScheme(void);
extern xmlNodePtr xmlNewCDataBlock(xmlDocPtr, const xmlChar *, int);
extern void xmlNodeSetContent(xmlNodePtr, const xmlChar *);
extern void xmlFreeProp(xmlAttrPtr);
extern xmlNodePtr xmlNewDocRawNode(xmlDocPtr, xmlNsPtr, const xmlChar *,
				   const xmlChar *);
extern xmlAttrPtr xmlNewProp(xmlNodePtr, const xmlChar *, const xmlChar *);
extern int xmlBufferDump(FILE *, xmlBufferPtr);
extern xmlNodePtr xmlNewDocTextLen(xmlDocPtr, const xmlChar *, int);
extern xmlDtdPtr xmlCopyDtd(xmlDtdPtr);
extern xmlBufferPtr xmlBufferCreateSize(size_t);
extern void xmlNodeSetBase(xmlNodePtr, const xmlChar *);
extern xmlNodePtr xmlReplaceNode(xmlNodePtr, xmlNodePtr);
extern int xmlSaveFileTo(xmlOutputBufferPtr, xmlDocPtr, const char *);
extern xmlAttrPtr xmlNewNsPropEatName(xmlNodePtr, xmlNsPtr, xmlChar *,
				      const xmlChar *);
extern xmlChar *xmlBuildQName(const xmlChar *, const xmlChar *, xmlChar *,
			      int);
extern int xmlBufferResize(xmlBufferPtr, unsigned int);
extern void xmlNodeAddContentLen(xmlNodePtr, const xmlChar *, int);
extern void xmlSetNs(xmlNodePtr, xmlNsPtr);
extern xmlDtdPtr xmlCreateIntSubset(xmlDocPtr, const xmlChar *,
				    const xmlChar *, const xmlChar *);
extern void xmlDocDumpFormatMemory(xmlDocPtr, xmlChar * *, int *, int);
extern int xmlBufferLength(const xmlBufferPtr);
extern void xmlBufferSetAllocationScheme(xmlBufferPtr,
					 xmlBufferAllocationScheme);
extern int xmlBufferAdd(xmlBufferPtr, const xmlChar *, int);
extern xmlNodePtr xmlNewDocComment(xmlDocPtr, const xmlChar *);
extern xmlNsPtr xmlSearchNsByHref(xmlDocPtr, xmlNodePtr, const xmlChar *);
extern int xmlBufferCat(xmlBufferPtr, const xmlChar *);
extern xmlNodePtr xmlNewNode(xmlNsPtr, const xmlChar *);
extern int xmlNodeIsText(xmlNodePtr);
extern xmlNodePtr xmlDocCopyNode(const xmlNodePtr, xmlDocPtr, int);
extern int xmlDocFormatDump(FILE *, xmlDocPtr, int);
extern xmlNodePtr xmlCopyNode(const xmlNodePtr, int);
extern int xmlIsBlankNode(xmlNodePtr);
extern xmlNodePtr xmlAddChild(xmlNodePtr, xmlNodePtr);
extern xmlAttrPtr xmlCopyPropList(xmlNodePtr, xmlAttrPtr);
extern int xmlDocDump(FILE *, xmlDocPtr);
extern void xmlBufferFree(xmlBufferPtr);
extern void xmlElemDump(FILE *, xmlDocPtr, xmlNodePtr);
extern xmlAttrPtr xmlCopyProp(xmlNodePtr, xmlAttrPtr);
extern xmlNodePtr xmlAddSibling(xmlNodePtr, xmlNodePtr);
extern void xmlNodeSetSpacePreserve(xmlNodePtr, int);
extern int xmlIsXHTML(const xmlChar *, const xmlChar *);
extern xmlChar *xmlGetProp(xmlNodePtr, const xmlChar *);
extern xmlNodePtr xmlGetLastChild(xmlNodePtr);
extern int xmlSaveFormatFile(const char *, xmlDocPtr, int);
extern void xmlSetListDoc(xmlNodePtr, xmlDocPtr);
extern xmlNodePtr xmlNewDocText(xmlDocPtr, const xmlChar *);
extern void xmlDocDumpMemoryEnc(xmlDocPtr, xmlChar * *, int *,
				const char *);
extern void xmlNodeAddContent(xmlNodePtr, const xmlChar *);
extern xmlDocPtr xmlCopyDoc(xmlDocPtr, int);
extern xmlNodePtr xmlNewChild(xmlNodePtr, xmlNsPtr, const xmlChar *,
			      const xmlChar *);
extern xmlNsPtr xmlCopyNamespace(xmlNsPtr);
extern xmlChar *xmlGetNodePath(xmlNodePtr);
extern void xmlFreeNode(xmlNodePtr);
extern void xmlDocDumpFormatMemoryEnc(xmlDocPtr, xmlChar * *, int *,
				      const char *, int);
extern xmlNsPtr xmlSearchNs(xmlDocPtr, xmlNodePtr, const xmlChar *);
extern void xmlNodeSetLang(xmlNodePtr, const xmlChar *);
extern xmlNodePtr xmlAddChildList(xmlNodePtr, xmlNodePtr);
extern void xmlNodeSetName(xmlNodePtr, const xmlChar *);
extern xmlDtdPtr xmlNewDtd(xmlDocPtr, const xmlChar *, const xmlChar *,
			   const xmlChar *);
extern xmlAttrPtr xmlSetNsProp(xmlNodePtr, xmlNsPtr, const xmlChar *,
			       const xmlChar *);
extern xmlNodePtr xmlNewNodeEatName(xmlNsPtr, xmlChar *);
extern xmlAttrPtr xmlHasNsProp(xmlNodePtr, const xmlChar *,
			       const xmlChar *);
extern void xmlFreeNodeList(xmlNodePtr);
extern xmlNodePtr xmlAddNextSibling(xmlNodePtr, xmlNodePtr);

18.2.20. libxml2/libxml/uri.h


typedef struct _xmlURI {
    char *scheme;
    char *opaque;
    char *authority;
    char *server;
    char *user;
    int port;
    char *path;
    char *query;
    char *fragment;
    int cleanup;
} xmlURI;
typedef xmlURI *xmlURIPtr;
extern void xmlFreeURI(xmlURIPtr);
extern xmlChar *xmlCanonicPath(const xmlChar *);
extern xmlURIPtr xmlParseURI(const char *);
extern int xmlParseURIReference(xmlURIPtr, const char *);
extern int xmlNormalizeURIPath(char *);
extern void xmlPrintURI(FILE *, xmlURIPtr);
extern xmlChar *xmlBuildRelativeURI(const xmlChar *, const xmlChar *);
extern xmlChar *xmlSaveUri(xmlURIPtr);
extern char *xmlURIUnescapeString(const char *, int, char *);
extern xmlChar *xmlBuildURI(const xmlChar *, const xmlChar *);
extern xmlURIPtr xmlParseURIRaw(const char *, int);
extern xmlURIPtr xmlCreateURI(void);
extern xmlChar *xmlURIEscape(const xmlChar *);
extern xmlChar *xmlURIEscapeStr(const xmlChar *, const xmlChar *);

18.2.21. libxml2/libxml/valid.h


typedef xmlValidCtxt *xmlValidCtxtPtr;
typedef struct _xmlHashTable xmlAttributeTable;
typedef xmlAttributeTable *xmlAttributeTablePtr;
typedef enum {
    XML_ELEMENT_TYPE_UNDEFINED = 0,
    XML_ELEMENT_TYPE_EMPTY = 1,
    XML_ELEMENT_TYPE_ANY = 2,
    XML_ELEMENT_TYPE_MIXED = 3,
    XML_ELEMENT_TYPE_ELEMENT = 4
} xmlElementTypeVal;
typedef enum {
    XML_ATTRIBUTE_NONE = 1,
    XML_ATTRIBUTE_REQUIRED = 2,
    XML_ATTRIBUTE_IMPLIED = 3,
    XML_ATTRIBUTE_FIXED = 4
} xmlAttributeDefault;
typedef struct _xmlAttribute {
    void *_private;
    xmlElementType type;
    const xmlChar *name;
    struct _xmlNode *children;
    struct _xmlNode *last;
    struct _xmlDtd *parent;
    struct _xmlNode *next;
    struct _xmlNode *prev;
    struct _xmlDoc *doc;
    struct _xmlAttribute *nexth;
    xmlAttributeType atype;
    xmlAttributeDefault def;
    const xmlChar *defaultValue;
    xmlEnumerationPtr tree;
    const xmlChar *prefix;
    const xmlChar *elem;
} xmlAttribute;
typedef xmlAttribute *xmlAttributePtr;
typedef struct _xmlElement {
    void *_private;
    xmlElementType type;
    const xmlChar *name;
    struct _xmlNode *children;
    struct _xmlNode *last;
    struct _xmlDtd *parent;
    struct _xmlNode *next;
    struct _xmlNode *prev;
    struct _xmlDoc *doc;
    xmlElementTypeVal etype;
    xmlElementContentPtr content;
    xmlAttributePtr attributes;
    const xmlChar *prefix;
    xmlRegexpPtr contModel;
} xmlElement;
typedef xmlElement *xmlElementPtr;
typedef struct _xmlHashTable xmlNotationTable;
typedef xmlNotationTable *xmlNotationTablePtr;
typedef struct _xmlNotation {
    const xmlChar *name;
    const xmlChar *PublicID;
    const xmlChar *SystemID;
} xmlNotation;
typedef xmlNotation *xmlNotationPtr;
typedef struct _xmlID {
    struct _xmlID *next;
    const xmlChar *value;
    xmlAttrPtr attr;
    const xmlChar *name;
    int lineno;
    struct _xmlDoc *doc;
} xmlID;
typedef xmlID *xmlIDPtr;
typedef struct _xmlRef {
    struct _xmlRef *next;
    const xmlChar *value;
    xmlAttrPtr attr;
    const xmlChar *name;
    int lineno;
} xmlRef;
typedef xmlRef *xmlRefPtr;
typedef struct _xmlHashTable xmlElementTable;
typedef xmlElementTable *xmlElementTablePtr;
typedef struct _xmlHashTable xmlIDTable;
typedef xmlIDTable *xmlIDTablePtr;
typedef struct _xmlHashTable xmlRefTable;
typedef xmlRefTable *xmlRefTablePtr;
extern int xmlIsRef(xmlDocPtr, xmlNodePtr, xmlAttrPtr);
extern int xmlValidateOneNamespace(xmlValidCtxtPtr, xmlDocPtr, xmlNodePtr,
				   const xmlChar *, xmlNsPtr,
				   const xmlChar *);
extern xmlEnumerationPtr xmlCreateEnumeration(const xmlChar *);
extern xmlListPtr xmlGetRefs(xmlDocPtr, const xmlChar *);
extern int xmlIsMixedElement(xmlDocPtr, const xmlChar *);
extern int xmlValidateNmtokensValue(const xmlChar *);
extern int xmlValidateNameValue(const xmlChar *);
extern xmlAttributeTablePtr xmlCopyAttributeTable(xmlAttributeTablePtr);
extern xmlElementContentPtr xmlNewDocElementContent(xmlDocPtr,
						    const xmlChar *,
						    xmlElementContentType);
extern int xmlValidateAttributeValue(xmlAttributeType, const xmlChar *);
extern void xmlDumpElementDecl(xmlBufferPtr, xmlElementPtr);
extern int xmlRemoveID(xmlDocPtr, xmlAttrPtr);
extern void xmlDumpNotationTable(xmlBufferPtr, xmlNotationTablePtr);
extern void xmlFreeEnumeration(xmlEnumerationPtr);
extern void xmlSnprintfElementContent(char *, int, xmlElementContentPtr,
				      int);
extern int xmlValidateNotationUse(xmlValidCtxtPtr, xmlDocPtr,
				  const xmlChar *);
extern int xmlValidateDocument(xmlValidCtxtPtr, xmlDocPtr);
extern int xmlValidateOneAttribute(xmlValidCtxtPtr, xmlDocPtr, xmlNodePtr,
				   xmlAttrPtr, const xmlChar *);
extern xmlChar *xmlValidNormalizeAttributeValue(xmlDocPtr, xmlNodePtr,
						const xmlChar *,
						const xmlChar *);
extern xmlElementPtr xmlGetDtdElementDesc(xmlDtdPtr, const xmlChar *);
extern int xmlValidateDtd(xmlValidCtxtPtr, xmlDocPtr, xmlDtdPtr);
extern int xmlValidateDocumentFinal(xmlValidCtxtPtr, xmlDocPtr);
extern xmlAttributePtr xmlAddAttributeDecl(xmlValidCtxtPtr, xmlDtdPtr,
					   const xmlChar *,
					   const xmlChar *,
					   const xmlChar *,
					   xmlAttributeType,
					   xmlAttributeDefault,
					   const xmlChar *,
					   xmlEnumerationPtr);
extern int xmlValidateNamesValue(const xmlChar *);
extern xmlAttributePtr xmlGetDtdQAttrDesc(xmlDtdPtr, const xmlChar *,
					  const xmlChar *,
					  const xmlChar *);
extern void xmlFreeDocElementContent(xmlDocPtr, xmlElementContentPtr);
extern int xmlValidateElementDecl(xmlValidCtxtPtr, xmlDocPtr,
				  xmlElementPtr);
extern xmlValidCtxtPtr xmlNewValidCtxt(void);
extern int xmlValidateNmtokenValue(const xmlChar *);
extern xmlElementPtr xmlGetDtdQElementDesc(xmlDtdPtr, const xmlChar *,
					   const xmlChar *);
extern xmlNotationTablePtr xmlCopyNotationTable(xmlNotationTablePtr);
extern void xmlDumpNotationDecl(xmlBufferPtr, xmlNotationPtr);
extern int xmlValidatePushElement(xmlValidCtxtPtr, xmlDocPtr, xmlNodePtr,
				  const xmlChar *);
extern int xmlValidateNotationDecl(xmlValidCtxtPtr, xmlDocPtr,
				   xmlNotationPtr);
extern xmlNotationPtr xmlAddNotationDecl(xmlValidCtxtPtr, xmlDtdPtr,
					 const xmlChar *, const xmlChar *,
					 const xmlChar *);
extern int xmlValidBuildContentModel(xmlValidCtxtPtr, xmlElementPtr);
extern int xmlValidatePopElement(xmlValidCtxtPtr, xmlDocPtr, xmlNodePtr,
				 const xmlChar *);
extern xmlIDPtr xmlAddID(xmlValidCtxtPtr, xmlDocPtr, const xmlChar *,
			 xmlAttrPtr);
extern xmlElementContentPtr xmlCopyDocElementContent(xmlDocPtr,
						     xmlElementContentPtr);
extern xmlAttributePtr xmlGetDtdAttrDesc(xmlDtdPtr, const xmlChar *,
					 const xmlChar *);
extern xmlEnumerationPtr xmlCopyEnumeration(xmlEnumerationPtr);
extern int xmlValidateAttributeDecl(xmlValidCtxtPtr, xmlDocPtr,
				    xmlAttributePtr);
extern xmlRefPtr xmlAddRef(xmlValidCtxtPtr, xmlDocPtr, const xmlChar *,
			   xmlAttrPtr);
extern void xmlFreeElementTable(xmlElementTablePtr);
extern void xmlDumpAttributeTable(xmlBufferPtr, xmlAttributeTablePtr);
extern int xmlValidateOneElement(xmlValidCtxtPtr, xmlDocPtr, xmlNodePtr);
extern int xmlIsID(xmlDocPtr, xmlNodePtr, xmlAttrPtr);
extern void xmlFreeIDTable(xmlIDTablePtr);
extern int xmlRemoveRef(xmlDocPtr, xmlAttrPtr);
extern int xmlValidGetValidElements(xmlNode *, xmlNode *,
				    const xmlChar * *, int);
extern void xmlFreeNotationTable(xmlNotationTablePtr);
extern void xmlFreeRefTable(xmlRefTablePtr);
extern xmlNotationPtr xmlGetDtdNotationDesc(xmlDtdPtr, const xmlChar *);
extern int xmlValidateRoot(xmlValidCtxtPtr, xmlDocPtr);
extern xmlElementTablePtr xmlCopyElementTable(xmlElementTablePtr);
extern xmlElementPtr xmlAddElementDecl(xmlValidCtxtPtr, xmlDtdPtr,
				       const xmlChar *, xmlElementTypeVal,
				       xmlElementContentPtr);
extern void xmlFreeValidCtxt(xmlValidCtxtPtr);
extern int xmlValidateDtdFinal(xmlValidCtxtPtr, xmlDocPtr);
extern void xmlDumpElementTable(xmlBufferPtr, xmlElementTablePtr);
extern void xmlDumpAttributeDecl(xmlBufferPtr, xmlAttributePtr);
extern int xmlValidateElement(xmlValidCtxtPtr, xmlDocPtr, xmlNodePtr);
extern xmlAttrPtr xmlGetID(xmlDocPtr, const xmlChar *);
extern int xmlValidatePushCData(xmlValidCtxtPtr, const xmlChar *, int);
extern void xmlFreeAttributeTable(xmlAttributeTablePtr);
extern int xmlValidGetPotentialChildren(xmlElementContent *,
					const xmlChar * *, int *, int);
extern xmlChar *xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr,
						    xmlDocPtr, xmlNodePtr,
						    const xmlChar *,
						    const xmlChar *);

18.2.22. libxml2/libxml/xinclude.h


#define XINCLUDE_PARSE_ENCODING	(const xmlChar *) "encoding"
#define XINCLUDE_FALLBACK	(const xmlChar *) "fallback"
#define XINCLUDE_HREF	(const xmlChar *) "href"
#define XINCLUDE_OLD_NS	(const xmlChar *) "http://www.w3.org/2001/XInclude"
#define XINCLUDE_NS	(const xmlChar *) "http://www.w3.org/2003/XInclude"
#define XINCLUDE_NODE	(const xmlChar *) "include"
#define XINCLUDE_PARSE	(const xmlChar *) "parse"
#define XINCLUDE_PARSE_TEXT	(const xmlChar *) "text"
#define XINCLUDE_PARSE_XML	(const xmlChar *) "xml"
#define XINCLUDE_PARSE_XPOINTER	(const xmlChar *) "xpointer"

typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt;
typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;
extern int xmlXIncludeProcess(xmlDocPtr);
extern void xmlXIncludeFreeContext(xmlXIncludeCtxtPtr);
extern int xmlXIncludeProcessTree(xmlNodePtr);
extern xmlXIncludeCtxtPtr xmlXIncludeNewContext(xmlDocPtr);
extern int xmlXIncludeSetFlags(xmlXIncludeCtxtPtr, int);
extern int xmlXIncludeProcessNode(xmlXIncludeCtxtPtr, xmlNodePtr);
extern int xmlXIncludeProcessTreeFlags(xmlNodePtr, int);
extern int xmlXIncludeProcessFlags(xmlDocPtr, int);

18.2.23. libxml2/libxml/xmlIO.h


typedef int (*xmlOutputMatchCallback) (const char *);
typedef void *(*xmlOutputOpenCallback) (const char *);
typedef struct _xmlParserNodeInfo {
    const struct _xmlNode *node;
    long unsigned int begin_pos;
    long unsigned int begin_line;
    long unsigned int end_pos;
    long unsigned int end_line;
} xmlParserNodeInfo;
typedef struct _xmlParserNodeInfoSeq {
    long unsigned int maximum;
    long unsigned int length;
    xmlParserNodeInfo *buffer;
} xmlParserNodeInfoSeq;
typedef void (*xmlValidityErrorFunc) (void *, const char *, ...);
typedef void (*xmlValidityWarningFunc) (void *, const char *, ...);
typedef struct _xmlValidState xmlValidState;
typedef struct _xmlValidCtxt {
    void *userData;
    xmlValidityErrorFunc error;
    xmlValidityWarningFunc warning;
    xmlNodePtr node;
    int nodeNr;
    int nodeMax;
    xmlNodePtr *nodeTab;
    unsigned int finishDtd;
    xmlDocPtr doc;
    int valid;
    xmlValidState *vstate;
    int vstateNr;
    int vstateMax;
    xmlValidState *vstateTab;
    xmlAutomataPtr am;
    xmlAutomataStatePtr state;
} xmlValidCtxt;
typedef enum {
    XML_PARSER_EOF = -1,
    XML_PARSER_START = 0,
    XML_PARSER_MISC = 1,
    XML_PARSER_PI = 2,
    XML_PARSER_DTD = 3,
    XML_PARSER_PROLOG = 4,
    XML_PARSER_COMMENT = 5,
    XML_PARSER_START_TAG = 6,
    XML_PARSER_CONTENT = 7,
    XML_PARSER_CDATA_SECTION = 8,
    XML_PARSER_END_TAG = 9,
    XML_PARSER_ENTITY_DECL = 10,
    XML_PARSER_ENTITY_VALUE = 11,
    XML_PARSER_ATTRIBUTE_VALUE = 12,
    XML_PARSER_SYSTEM_LITERAL = 13,
    XML_PARSER_EPILOG = 14,
    XML_PARSER_IGNORE = 15,
    XML_PARSER_PUBLIC_LITERAL = 16
} xmlParserInputState;
typedef enum {
    XML_PARSE_UNKNOWN = 0,
    XML_PARSE_DOM = 1,
    XML_PARSE_SAX = 2,
    XML_PARSE_PUSH_DOM = 3,
    XML_PARSE_PUSH_SAX = 4,
    XML_PARSE_READER = 5
} xmlParserMode;
typedef struct _xmlParserCtxt {
    struct _xmlSAXHandler *sax;
    void *userData;
    xmlDocPtr myDoc;
    int wellFormed;
    int replaceEntities;
    const xmlChar *version;
    const xmlChar *encoding;
    int standalone;
    int html;
    xmlParserInputPtr input;
    int inputNr;
    int inputMax;
    xmlParserInputPtr *inputTab;
    xmlNodePtr node;
    int nodeNr;
    int nodeMax;
    xmlNodePtr *nodeTab;
    int record_info;
    xmlParserNodeInfoSeq node_seq;
    int errNo;
    int hasExternalSubset;
    int hasPErefs;
    int external;
    int valid;
    int validate;
    xmlValidCtxt vctxt;
    xmlParserInputState instate;
    int token;
    char *directory;
    const xmlChar *name;
    int nameNr;
    int nameMax;
    const xmlChar **nameTab;
    long int nbChars;
    long int checkIndex;
    int keepBlanks;
    int disableSAX;
    int inSubset;
    const xmlChar *intSubName;
    xmlChar *extSubURI;
    xmlChar *extSubSystem;
    int *space;
    int spaceNr;
    int spaceMax;
    int *spaceTab;
    int depth;
    xmlParserInputPtr entity;
    int charset;
    int nodelen;
    int nodemem;
    int pedantic;
    void *_private;
    int loadsubset;
    int linenumbers;
    void *catalogs;
    int recovery;
    int progressive;
    xmlDictPtr dict;
    const xmlChar **atts;
    int maxatts;
    int docdict;
    const xmlChar *str_xml;
    const xmlChar *str_xmlns;
    const xmlChar *str_xml_ns;
    int sax2;
    int nsNr;
    int nsMax;
    const xmlChar **nsTab;
    int *attallocs;
    void **pushTab;
    xmlHashTablePtr attsDefault;
    xmlHashTablePtr attsSpecial;
    int nsWellFormed;
    int options;
    int dictNames;
    int freeElemsNr;
    xmlNodePtr freeElems;
    int freeAttrsNr;
    xmlAttrPtr freeAttrs;
    xmlError lastError;
    xmlParserMode parseMode;
} xmlParserCtxt;
typedef xmlParserCtxt *xmlParserCtxtPtr;
typedef int (*xmlInputMatchCallback) (const char *);
typedef void *(*xmlInputOpenCallback) (const char *);
extern int xmlOutputBufferClose(xmlOutputBufferPtr);
extern void *xmlIOHTTPOpenW(const char *, int);
extern char *xmlParserGetDirectory(const char *);
extern void xmlRegisterDefaultOutputCallbacks(void);
extern int xmlOutputBufferWriteString(xmlOutputBufferPtr, const char *);
extern int xmlOutputBufferWrite(xmlOutputBufferPtr, int, const char *);
extern int xmlRegisterOutputCallbacks(xmlOutputMatchCallback,
				      xmlOutputOpenCallback,
				      xmlOutputWriteCallback,
				      xmlOutputCloseCallback);
extern void xmlCleanupInputCallbacks(void);
extern void xmlRegisterHTTPPostCallbacks(void);
extern xmlOutputBufferPtr xmlOutputBufferCreateFd(int,
						  xmlCharEncodingHandlerPtr);
extern int xmlIOFTPMatch(const char *);
extern xmlParserInputBufferPtr xmlParserInputBufferCreateFile(FILE *,
							      xmlCharEncoding);
extern int xmlFileClose(void *);
extern xmlParserInputBufferPtr xmlParserInputBufferCreateFd(int,
							    xmlCharEncoding);
extern int xmlIOHTTPMatch(const char *);
extern xmlOutputBufferPtr xmlAllocOutputBuffer(xmlCharEncodingHandlerPtr);
extern xmlParserInputBufferPtr xmlParserInputBufferCreateStatic(const char
								*, int,
								xmlCharEncoding);
extern xmlParserInputBufferPtr xmlParserInputBufferCreateMem(const char *,
							     int,
							     xmlCharEncoding);
extern int xmlIOFTPRead(void *, char *, int);
extern xmlOutputBufferPtr xmlOutputBufferCreateIO(xmlOutputWriteCallback,
						  xmlOutputCloseCallback,
						  void *,
						  xmlCharEncodingHandlerPtr);
extern int xmlCheckFilename(const char *);
extern xmlChar *xmlNormalizeWindowsPath(const xmlChar *);
extern int xmlIOFTPClose(void *);
extern int xmlFileRead(void *, char *, int);
extern xmlParserInputPtr xmlNoNetExternalEntityLoader(const char *,
						      const char *,
						      xmlParserCtxtPtr);
extern xmlParserInputBufferPtr xmlAllocParserInputBuffer(xmlCharEncoding);
extern xmlParserInputPtr xmlCheckHTTPInput(xmlParserCtxtPtr,
					   xmlParserInputPtr);
extern int xmlRegisterInputCallbacks(xmlInputMatchCallback,
				     xmlInputOpenCallback,
				     xmlInputReadCallback,
				     xmlInputCloseCallback);
extern void xmlCleanupOutputCallbacks(void);
extern void *xmlIOFTPOpen(const char *);
extern void xmlRegisterDefaultInputCallbacks(void);
extern int xmlPopInputCallbacks(void);
extern xmlParserInputBufferPtr
xmlParserInputBufferCreateIO(xmlInputReadCallback, xmlInputCloseCallback,
			     void *, xmlCharEncoding);
extern int xmlParserInputBufferPush(xmlParserInputBufferPtr, int,
				    const char *);
extern int xmlParserInputBufferRead(xmlParserInputBufferPtr, int);
extern xmlOutputBufferPtr xmlOutputBufferCreateFile(FILE *,
						    xmlCharEncodingHandlerPtr);
extern void *xmlIOHTTPOpen(const char *);
extern int xmlIOHTTPRead(void *, char *, int);
extern int xmlOutputBufferFlush(xmlOutputBufferPtr);
extern int xmlFileMatch(const char *);
extern int xmlParserInputBufferGrow(xmlParserInputBufferPtr, int);
extern void *xmlFileOpen(const char *);
extern int xmlOutputBufferWriteEscape(xmlOutputBufferPtr, const xmlChar *,
				      xmlCharEncodingOutputFunc);
extern int xmlIOHTTPClose(void *);
extern void xmlFreeParserInputBuffer(xmlParserInputBufferPtr);
extern xmlOutputBufferPtr xmlOutputBufferCreateFilename(const char *,
							xmlCharEncodingHandlerPtr,
							int);

18.2.24. libxml2/libxml/xmlautomata.h


typedef struct _xmlAutomataState xmlAutomataState;
typedef xmlAutomataState *xmlAutomataStatePtr;
typedef struct _xmlAutomata xmlAutomata;
typedef xmlAutomata *xmlAutomataPtr;
extern xmlAutomataStatePtr xmlAutomataNewTransition2(xmlAutomataPtr,
						     xmlAutomataStatePtr,
						     xmlAutomataStatePtr,
						     const xmlChar *,
						     const xmlChar *,
						     void *);
extern xmlAutomataStatePtr xmlAutomataNewCounterTrans(xmlAutomataPtr,
						      xmlAutomataStatePtr,
						      xmlAutomataStatePtr,
						      int);
extern xmlAutomataStatePtr xmlAutomataNewEpsilon(xmlAutomataPtr,
						 xmlAutomataStatePtr,
						 xmlAutomataStatePtr);
extern xmlAutomataStatePtr xmlAutomataNewCountTrans(xmlAutomataPtr,
						    xmlAutomataStatePtr,
						    xmlAutomataStatePtr,
						    const xmlChar *, int,
						    int, void *);
extern void xmlFreeAutomata(xmlAutomataPtr);
extern xmlAutomataStatePtr xmlAutomataGetInitState(xmlAutomataPtr);
extern xmlRegexpPtr xmlAutomataCompile(xmlAutomataPtr);
extern xmlAutomataStatePtr xmlAutomataNewTransition(xmlAutomataPtr,
						    xmlAutomataStatePtr,
						    xmlAutomataStatePtr,
						    const xmlChar *,
						    void *);
extern int xmlAutomataIsDeterminist(xmlAutomataPtr);
extern xmlAutomataStatePtr xmlAutomataNewAllTrans(xmlAutomataPtr,
						  xmlAutomataStatePtr,
						  xmlAutomataStatePtr,
						  int);
extern int xmlAutomataNewCounter(xmlAutomataPtr, int, int);
extern xmlAutomataStatePtr xmlAutomataNewState(xmlAutomataPtr);
extern xmlAutomataStatePtr xmlAutomataNewCountedTrans(xmlAutomataPtr,
						      xmlAutomataStatePtr,
						      xmlAutomataStatePtr,
						      int);
extern xmlAutomataStatePtr xmlAutomataNewCountTrans2(xmlAutomataPtr,
						     xmlAutomataStatePtr,
						     xmlAutomataStatePtr,
						     const xmlChar *,
						     const xmlChar *, int,
						     int, void *);
extern xmlAutomataStatePtr xmlAutomataNewNegTrans(xmlAutomataPtr,
						  xmlAutomataStatePtr,
						  xmlAutomataStatePtr,
						  const xmlChar *,
						  const xmlChar *, void *);
extern xmlAutomataStatePtr xmlAutomataNewOnceTrans2(xmlAutomataPtr,
						    xmlAutomataStatePtr,
						    xmlAutomataStatePtr,
						    const xmlChar *,
						    const xmlChar *, int,
						    int, void *);
extern xmlAutomataStatePtr xmlAutomataNewOnceTrans(xmlAutomataPtr,
						   xmlAutomataStatePtr,
						   xmlAutomataStatePtr,
						   const xmlChar *, int,
						   int, void *);
extern int xmlAutomataSetFinalState(xmlAutomataPtr, xmlAutomataStatePtr);
extern xmlAutomataPtr xmlNewAutomata(void);

18.2.25. libxml2/libxml/xmlerror.h


typedef int (*xmlInputReadCallback) (void *, char *, int);
typedef int (*xmlInputCloseCallback) (void *);
typedef struct _xmlParserInputBuffer {
    void *context;
    xmlInputReadCallback readcallback;
    xmlInputCloseCallback closecallback;
    xmlCharEncodingHandlerPtr encoder;
    xmlBufferPtr buffer;
    xmlBufferPtr raw;
    int compressed;
    int error;
    long unsigned int rawconsumed;
} xmlParserInputBuffer;
typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
typedef void (*xmlParserInputDeallocate) (xmlChar *);
typedef struct _xmlParserInput {
    xmlParserInputBufferPtr buf;
    const char *filename;
    const char *directory;
    const xmlChar *base;
    const xmlChar *cur;
    const xmlChar *end;
    int length;
    int line;
    int col;
    long unsigned int consumed;
    xmlParserInputDeallocate free;
    const xmlChar *encoding;
    const xmlChar *version;
    int standalone;
    int id;
} xmlParserInput;
typedef xmlParserInput *xmlParserInputPtr;
typedef void (*xmlGenericErrorFunc) (void *, const char *, ...);
typedef enum {
    XML_ERR_NONE = 0,
    XML_ERR_WARNING = 1,
    XML_ERR_ERROR = 2,
    XML_ERR_FATAL = 3
} xmlErrorLevel;
typedef struct _xmlError {
    int domain;
    int code;
    char *message;
    xmlErrorLevel level;
    char *file;
    int line;
    char *str1;
    char *str2;
    char *str3;
    int int1;
    int int2;
    void *ctxt;
    void *node;
} xmlError;
typedef xmlError *xmlErrorPtr;
typedef void (*xmlStructuredErrorFunc) (void *, xmlErrorPtr);
typedef enum {
    XML_FROM_NONE = 0,
    XML_FROM_PARSER,
    XML_FROM_TREE,
    XML_FROM_NAMESPACE,
    XML_FROM_DTD,
    XML_FROM_HTML,
    XML_FROM_MEMORY,
    XML_FROM_OUTPUT,
    XML_FROM_IO,
    XML_FROM_FTP,
    XML_FROM_HTTP,
    XML_FROM_XINCLUDE,
    XML_FROM_XPATH,
    XML_FROM_XPOINTER,
    XML_FROM_REGEXP,
    XML_FROM_DATATYPE,
    XML_FROM_SCHEMASP,
    XML_FROM_SCHEMASV,
    XML_FROM_RELAXNGP,
    XML_FROM_RELAXNGV,
    XML_FROM_CATALOG,
    XML_FROM_C14N,
    XML_FROM_XSLT,
    XML_FROM_VALID,
    XML_FROM_CHECK,
    XML_FROM_WRITER,
    XML_FROM_MODULE,
    XML_FROM_I18N
} xmlErrorDomain;
typedef enum {
    XML_ERR_OK = 0,
    XML_ERR_INTERNAL_ERROR,
    XML_ERR_NO_MEMORY,
    XML_ERR_DOCUMENT_START,
    XML_ERR_DOCUMENT_EMPTY,
    XML_ERR_DOCUMENT_END,
    XML_ERR_INVALID_HEX_CHARREF,
    XML_ERR_INVALID_DEC_CHARREF,
    XML_ERR_INVALID_CHARREF,
    XML_ERR_INVALID_CHAR,
    XML_ERR_CHARREF_AT_EOF,
    XML_ERR_CHARREF_IN_PROLOG,
    XML_ERR_CHARREF_IN_EPILOG,
    XML_ERR_CHARREF_IN_DTD,
    XML_ERR_ENTITYREF_AT_EOF,
    XML_ERR_ENTITYREF_IN_PROLOG,
    XML_ERR_ENTITYREF_IN_EPILOG,
    XML_ERR_ENTITYREF_IN_DTD,
    XML_ERR_PEREF_AT_EOF,
    XML_ERR_PEREF_IN_PROLOG,
    XML_ERR_PEREF_IN_EPILOG,
    XML_ERR_PEREF_IN_INT_SUBSET,
    XML_ERR_ENTITYREF_NO_NAME,
    XML_ERR_ENTITYREF_SEMICOL_MISSING,
    XML_ERR_PEREF_NO_NAME,
    XML_ERR_PEREF_SEMICOL_MISSING,
    XML_ERR_UNDECLARED_ENTITY,
    XML_WAR_UNDECLARED_ENTITY,
    XML_ERR_UNPARSED_ENTITY,
    XML_ERR_ENTITY_IS_EXTERNAL,
    XML_ERR_ENTITY_IS_PARAMETER,
    XML_ERR_UNKNOWN_ENCODING,
    XML_ERR_UNSUPPORTED_ENCODING,
    XML_ERR_STRING_NOT_STARTED,
    XML_ERR_STRING_NOT_CLOSED,
    XML_ERR_NS_DECL_ERROR,
    XML_ERR_ENTITY_NOT_STARTED,
    XML_ERR_ENTITY_NOT_FINISHED,
    XML_ERR_LT_IN_ATTRIBUTE,
    XML_ERR_ATTRIBUTE_NOT_STARTED,
    XML_ERR_ATTRIBUTE_NOT_FINISHED,
    XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
    XML_ERR_ATTRIBUTE_REDEFINED,
    XML_ERR_LITERAL_NOT_STARTED,
    XML_ERR_LITERAL_NOT_FINISHED,
    XML_ERR_COMMENT_NOT_FINISHED,
    XML_ERR_PI_NOT_STARTED,
    XML_ERR_PI_NOT_FINISHED,
    XML_ERR_NOTATION_NOT_STARTED,
    XML_ERR_NOTATION_NOT_FINISHED,
    XML_ERR_ATTLIST_NOT_STARTED,
    XML_ERR_ATTLIST_NOT_FINISHED,
    XML_ERR_MIXED_NOT_STARTED,
    XML_ERR_MIXED_NOT_FINISHED,
    XML_ERR_ELEMCONTENT_NOT_STARTED,
    XML_ERR_ELEMCONTENT_NOT_FINISHED,
    XML_ERR_XMLDECL_NOT_STARTED,
    XML_ERR_XMLDECL_NOT_FINISHED,
    XML_ERR_CONDSEC_NOT_STARTED,
    XML_ERR_CONDSEC_NOT_FINISHED,
    XML_ERR_EXT_SUBSET_NOT_FINISHED,
    XML_ERR_DOCTYPE_NOT_FINISHED,
    XML_ERR_MISPLACED_CDATA_END,
    XML_ERR_CDATA_NOT_FINISHED,
    XML_ERR_RESERVED_XML_NAME,
    XML_ERR_SPACE_REQUIRED,
    XML_ERR_SEPARATOR_REQUIRED,
    XML_ERR_NMTOKEN_REQUIRED,
    XML_ERR_NAME_REQUIRED,
    XML_ERR_PCDATA_REQUIRED,
    XML_ERR_URI_REQUIRED,
    XML_ERR_PUBID_REQUIRED,
    XML_ERR_LT_REQUIRED,
    XML_ERR_GT_REQUIRED,
    XML_ERR_LTSLASH_REQUIRED,
    XML_ERR_EQUAL_REQUIRED,
    XML_ERR_TAG_NAME_MISMATCH,
    XML_ERR_TAG_NOT_FINISHED,
    XML_ERR_STANDALONE_VALUE,
    XML_ERR_ENCODING_NAME,
    XML_ERR_HYPHEN_IN_COMMENT,
    XML_ERR_INVALID_ENCODING,
    XML_ERR_EXT_ENTITY_STANDALONE,
    XML_ERR_CONDSEC_INVALID,
    XML_ERR_VALUE_REQUIRED,
    XML_ERR_NOT_WELL_BALANCED,
    XML_ERR_EXTRA_CONTENT,
    XML_ERR_ENTITY_CHAR_ERROR,
    XML_ERR_ENTITY_PE_INTERNAL,
    XML_ERR_ENTITY_LOOP,
    XML_ERR_ENTITY_BOUNDARY,
    XML_ERR_INVALID_URI,
    XML_ERR_URI_FRAGMENT,
    XML_WAR_CATALOG_PI,
    XML_ERR_NO_DTD,
    XML_ERR_CONDSEC_INVALID_KEYWORD,
    XML_ERR_VERSION_MISSING,
    XML_WAR_UNKNOWN_VERSION,
    XML_WAR_LANG_VALUE,
    XML_WAR_NS_URI,
    XML_WAR_NS_URI_RELATIVE,
    XML_ERR_MISSING_ENCODING,
    XML_WAR_SPACE_VALUE,
    XML_ERR_NOT_STANDALONE,
    XML_ERR_ENTITY_PROCESSING,
    XML_ERR_NOTATION_PROCESSING,
    XML_WAR_NS_COLUMN,
    XML_WAR_ENTITY_REDEFINED,
    XML_NS_ERR_XML_NAMESPACE = 200,
    XML_NS_ERR_UNDEFINED_NAMESPACE,
    XML_NS_ERR_QNAME,
    XML_NS_ERR_ATTRIBUTE_REDEFINED,
    XML_NS_ERR_EMPTY,
    XML_DTD_ATTRIBUTE_DEFAULT = 500,
    XML_DTD_ATTRIBUTE_REDEFINED,
    XML_DTD_ATTRIBUTE_VALUE,
    XML_DTD_CONTENT_ERROR,
    XML_DTD_CONTENT_MODEL,
    XML_DTD_CONTENT_NOT_DETERMINIST,
    XML_DTD_DIFFERENT_PREFIX,
    XML_DTD_ELEM_DEFAULT_NAMESPACE,
    XML_DTD_ELEM_NAMESPACE,
    XML_DTD_ELEM_REDEFINED,
    XML_DTD_EMPTY_NOTATION,
    XML_DTD_ENTITY_TYPE,
    XML_DTD_ID_FIXED,
    XML_DTD_ID_REDEFINED,
    XML_DTD_ID_SUBSET,
    XML_DTD_INVALID_CHILD,
    XML_DTD_INVALID_DEFAULT,
    XML_DTD_LOAD_ERROR,
    XML_DTD_MISSING_ATTRIBUTE,
    XML_DTD_MIXED_CORRUPT,
    XML_DTD_MULTIPLE_ID,
    XML_DTD_NO_DOC,
    XML_DTD_NO_DTD,
    XML_DTD_NO_ELEM_NAME,
    XML_DTD_NO_PREFIX,
    XML_DTD_NO_ROOT,
    XML_DTD_NOTATION_REDEFINED,
    XML_DTD_NOTATION_VALUE,
    XML_DTD_NOT_EMPTY,
    XML_DTD_NOT_PCDATA,
    XML_DTD_NOT_STANDALONE,
    XML_DTD_ROOT_NAME,
    XML_DTD_STANDALONE_WHITE_SPACE,
    XML_DTD_UNKNOWN_ATTRIBUTE,
    XML_DTD_UNKNOWN_ELEM,
    XML_DTD_UNKNOWN_ENTITY,
    XML_DTD_UNKNOWN_ID,
    XML_DTD_UNKNOWN_NOTATION,
    XML_DTD_STANDALONE_DEFAULTED,
    XML_DTD_XMLID_VALUE,
    XML_DTD_XMLID_TYPE,
    XML_HTML_STRUCURE_ERROR = 800,
    XML_HTML_UNKNOWN_TAG,
    XML_RNGP_ANYNAME_ATTR_ANCESTOR = 1000,
    XML_RNGP_ATTR_CONFLICT,
    XML_RNGP_ATTRIBUTE_CHILDREN,
    XML_RNGP_ATTRIBUTE_CONTENT,
    XML_RNGP_ATTRIBUTE_EMPTY,
    XML_RNGP_ATTRIBUTE_NOOP,
    XML_RNGP_CHOICE_CONTENT,
    XML_RNGP_CHOICE_EMPTY,
    XML_RNGP_CREATE_FAILURE,
    XML_RNGP_DATA_CONTENT,
    XML_RNGP_DEF_CHOICE_AND_INTERLEAVE,
    XML_RNGP_DEFINE_CREATE_FAILED,
    XML_RNGP_DEFINE_EMPTY,
    XML_RNGP_DEFINE_MISSING,
    XML_RNGP_DEFINE_NAME_MISSING,
    XML_RNGP_ELEM_CONTENT_EMPTY,
    XML_RNGP_ELEM_CONTENT_ERROR,
    XML_RNGP_ELEMENT_EMPTY,
    XML_RNGP_ELEMENT_CONTENT,
    XML_RNGP_ELEMENT_NAME,
    XML_RNGP_ELEMENT_NO_CONTENT,
    XML_RNGP_ELEM_TEXT_CONFLICT,
    XML_RNGP_EMPTY,
    XML_RNGP_EMPTY_CONSTRUCT,
    XML_RNGP_EMPTY_CONTENT,
    XML_RNGP_EMPTY_NOT_EMPTY,
    XML_RNGP_ERROR_TYPE_LIB,
    XML_RNGP_EXCEPT_EMPTY,
    XML_RNGP_EXCEPT_MISSING,
    XML_RNGP_EXCEPT_MULTIPLE,
    XML_RNGP_EXCEPT_NO_CONTENT,
    XML_RNGP_EXTERNALREF_EMTPY,
    XML_RNGP_EXTERNAL_REF_FAILURE,
    XML_RNGP_EXTERNALREF_RECURSE,
    XML_RNGP_FORBIDDEN_ATTRIBUTE,
    XML_RNGP_FOREIGN_ELEMENT,
    XML_RNGP_GRAMMAR_CONTENT,
    XML_RNGP_GRAMMAR_EMPTY,
    XML_RNGP_GRAMMAR_MISSING,
    XML_RNGP_GRAMMAR_NO_START,
    XML_RNGP_GROUP_ATTR_CONFLICT,
    XML_RNGP_HREF_ERROR,
    XML_RNGP_INCLUDE_EMPTY,
    XML_RNGP_INCLUDE_FAILURE,
    XML_RNGP_INCLUDE_RECURSE,
    XML_RNGP_INTERLEAVE_ADD,
    XML_RNGP_INTERLEAVE_CREATE_FAILED,
    XML_RNGP_INTERLEAVE_EMPTY,
    XML_RNGP_INTERLEAVE_NO_CONTENT,
    XML_RNGP_INVALID_DEFINE_NAME,
    XML_RNGP_INVALID_URI,
    XML_RNGP_INVALID_VALUE,
    XML_RNGP_MISSING_HREF,
    XML_RNGP_NAME_MISSING,
    XML_RNGP_NEED_COMBINE,
    XML_RNGP_NOTALLOWED_NOT_EMPTY,
    XML_RNGP_NSNAME_ATTR_ANCESTOR,
    XML_RNGP_NSNAME_NO_NS,
    XML_RNGP_PARAM_FORBIDDEN,
    XML_RNGP_PARAM_NAME_MISSING,
    XML_RNGP_PARENTREF_CREATE_FAILED,
    XML_RNGP_PARENTREF_NAME_INVALID,
    XML_RNGP_PARENTREF_NO_NAME,
    XML_RNGP_PARENTREF_NO_PARENT,
    XML_RNGP_PARENTREF_NOT_EMPTY,
    XML_RNGP_PARSE_ERROR,
    XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME,
    XML_RNGP_PAT_ATTR_ATTR,
    XML_RNGP_PAT_ATTR_ELEM,
    XML_RNGP_PAT_DATA_EXCEPT_ATTR,
    XML_RNGP_PAT_DATA_EXCEPT_ELEM,
    XML_RNGP_PAT_DATA_EXCEPT_EMPTY,
    XML_RNGP_PAT_DATA_EXCEPT_GROUP,
    XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE,
    XML_RNGP_PAT_DATA_EXCEPT_LIST,
    XML_RNGP_PAT_DATA_EXCEPT_ONEMORE,
    XML_RNGP_PAT_DATA_EXCEPT_REF,
    XML_RNGP_PAT_DATA_EXCEPT_TEXT,
    XML_RNGP_PAT_LIST_ATTR,
    XML_RNGP_PAT_LIST_ELEM,
    XML_RNGP_PAT_LIST_INTERLEAVE,
    XML_RNGP_PAT_LIST_LIST,
    XML_RNGP_PAT_LIST_REF,
    XML_RNGP_PAT_LIST_TEXT,
    XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME,
    XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME,
    XML_RNGP_PAT_ONEMORE_GROUP_ATTR,
    XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR,
    XML_RNGP_PAT_START_ATTR,
    XML_RNGP_PAT_START_DATA,
    XML_RNGP_PAT_START_EMPTY,
    XML_RNGP_PAT_START_GROUP,
    XML_RNGP_PAT_START_INTERLEAVE,
    XML_RNGP_PAT_START_LIST,
    XML_RNGP_PAT_START_ONEMORE,
    XML_RNGP_PAT_START_TEXT,
    XML_RNGP_PAT_START_VALUE,
    XML_RNGP_PREFIX_UNDEFINED,
    XML_RNGP_REF_CREATE_FAILED,
    XML_RNGP_REF_CYCLE,
    XML_RNGP_REF_NAME_INVALID,
    XML_RNGP_REF_NO_DEF,
    XML_RNGP_REF_NO_NAME,
    XML_RNGP_REF_NOT_EMPTY,
    XML_RNGP_START_CHOICE_AND_INTERLEAVE,
    XML_RNGP_START_CONTENT,
    XML_RNGP_START_EMPTY,
    XML_RNGP_START_MISSING,
    XML_RNGP_TEXT_EXPECTED,
    XML_RNGP_TEXT_HAS_CHILD,
    XML_RNGP_TYPE_MISSING,
    XML_RNGP_TYPE_NOT_FOUND,
    XML_RNGP_TYPE_VALUE,
    XML_RNGP_UNKNOWN_ATTRIBUTE,
    XML_RNGP_UNKNOWN_COMBINE,
    XML_RNGP_UNKNOWN_CONSTRUCT,
    XML_RNGP_UNKNOWN_TYPE_LIB,
    XML_RNGP_URI_FRAGMENT,
    XML_RNGP_URI_NOT_ABSOLUTE,
    XML_RNGP_VALUE_EMPTY,
    XML_RNGP_VALUE_NO_CONTENT,
    XML_RNGP_XMLNS_NAME,
    XML_RNGP_XML_NS,
    XML_XPATH_EXPRESSION_OK = 1200,
    XML_XPATH_NUMBER_ERROR,
    XML_XPATH_UNFINISHED_LITERAL_ERROR,
    XML_XPATH_START_LITERAL_ERROR,
    XML_XPATH_VARIABLE_REF_ERROR,
    XML_XPATH_UNDEF_VARIABLE_ERROR,
    XML_XPATH_INVALID_PREDICATE_ERROR,
    XML_XPATH_EXPR_ERROR,
    XML_XPATH_UNCLOSED_ERROR,
    XML_XPATH_UNKNOWN_FUNC_ERROR,
    XML_XPATH_INVALID_OPERAND,
    XML_XPATH_INVALID_TYPE,
    XML_XPATH_INVALID_ARITY,
    XML_XPATH_INVALID_CTXT_SIZE,
    XML_XPATH_INVALID_CTXT_POSITION,
    XML_XPATH_MEMORY_ERROR,
    XML_XPTR_SYNTAX_ERROR,
    XML_XPTR_RESOURCE_ERROR,
    XML_XPTR_SUB_RESOURCE_ERROR,
    XML_XPATH_UNDEF_PREFIX_ERROR,
    XML_XPATH_ENCODING_ERROR,
    XML_XPATH_INVALID_CHAR_ERROR,
    XML_TREE_INVALID_HEX = 1300,
    XML_TREE_INVALID_DEC,
    XML_TREE_UNTERMINATED_ENTITY,
    XML_SAVE_NOT_UTF8 = 1400,
    XML_SAVE_CHAR_INVALID,
    XML_SAVE_NO_DOCTYPE,
    XML_SAVE_UNKNOWN_ENCODING,
    XML_REGEXP_COMPILE_ERROR = 1450,
    XML_IO_UNKNOWN = 1500,
    XML_IO_EACCES,
    XML_IO_EAGAIN,
    XML_IO_EBADF,
    XML_IO_EBADMSG,
    XML_IO_EBUSY,
    XML_IO_ECANCELED,
    XML_IO_ECHILD,
    XML_IO_EDEADLK,
    XML_IO_EDOM,
    XML_IO_EEXIST,
    XML_IO_EFAULT,
    XML_IO_EFBIG,
    XML_IO_EINPROGRESS,
    XML_IO_EINTR,
    XML_IO_EINVAL,
    XML_IO_EIO,
    XML_IO_EISDIR,
    XML_IO_EMFILE,
    XML_IO_EMLINK,
    XML_IO_EMSGSIZE,
    XML_IO_ENAMETOOLONG,
    XML_IO_ENFILE,
    XML_IO_ENODEV,
    XML_IO_ENOENT,
    XML_IO_ENOEXEC,
    XML_IO_ENOLCK,
    XML_IO_ENOMEM,
    XML_IO_ENOSPC,
    XML_IO_ENOSYS,
    XML_IO_ENOTDIR,
    XML_IO_ENOTEMPTY,
    XML_IO_ENOTSUP,
    XML_IO_ENOTTY,
    XML_IO_ENXIO,
    XML_IO_EPERM,
    XML_IO_EPIPE,
    XML_IO_ERANGE,
    XML_IO_EROFS,
    XML_IO_ESPIPE,
    XML_IO_ESRCH,
    XML_IO_ETIMEDOUT,
    XML_IO_EXDEV,
    XML_IO_NETWORK_ATTEMPT,
    XML_IO_ENCODER,
    XML_IO_FLUSH,
    XML_IO_WRITE,
    XML_IO_NO_INPUT,
    XML_IO_BUFFER_FULL,
    XML_IO_LOAD_ERROR,
    XML_IO_ENOTSOCK,
    XML_IO_EISCONN,
    XML_IO_ECONNREFUSED,
    XML_IO_ENETUNREACH,
    XML_IO_EADDRINUSE,
    XML_IO_EALREADY,
    XML_IO_EAFNOSUPPORT,
    XML_XINCLUDE_RECURSION = 1600,
    XML_XINCLUDE_PARSE_VALUE,
    XML_XINCLUDE_ENTITY_DEF_MISMATCH,
    XML_XINCLUDE_NO_HREF,
    XML_XINCLUDE_NO_FALLBACK,
    XML_XINCLUDE_HREF_URI,
    XML_XINCLUDE_TEXT_FRAGMENT,
    XML_XINCLUDE_TEXT_DOCUMENT,
    XML_XINCLUDE_INVALID_CHAR,
    XML_XINCLUDE_BUILD_FAILED,
    XML_XINCLUDE_UNKNOWN_ENCODING,
    XML_XINCLUDE_MULTIPLE_ROOT,
    XML_XINCLUDE_XPTR_FAILED,
    XML_XINCLUDE_XPTR_RESULT,
    XML_XINCLUDE_INCLUDE_IN_INCLUDE,
    XML_XINCLUDE_FALLBACKS_IN_INCLUDE,
    XML_XINCLUDE_FALLBACK_NOT_IN_INCLUDE,
    XML_XINCLUDE_DEPRECATED_NS,
    XML_XINCLUDE_FRAGMENT_ID,
    XML_CATALOG_MISSING_ATTR = 1650,
    XML_CATALOG_ENTRY_BROKEN,
    XML_CATALOG_PREFER_VALUE,
    XML_CATALOG_NOT_CATALOG,
    XML_CATALOG_RECURSION,
    XML_SCHEMAP_PREFIX_UNDEFINED = 1700,
    XML_SCHEMAP_ATTRFORMDEFAULT_VALUE,
    XML_SCHEMAP_ATTRGRP_NONAME_NOREF,
    XML_SCHEMAP_ATTR_NONAME_NOREF,
    XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF,
    XML_SCHEMAP_ELEMFORMDEFAULT_VALUE,
    XML_SCHEMAP_ELEM_NONAME_NOREF,
    XML_SCHEMAP_EXTENSION_NO_BASE,
    XML_SCHEMAP_FACET_NO_VALUE,
    XML_SCHEMAP_FAILED_BUILD_IMPORT,
    XML_SCHEMAP_GROUP_NONAME_NOREF,
    XML_SCHEMAP_IMPORT_NAMESPACE_NOT_URI,
    XML_SCHEMAP_IMPORT_REDEFINE_NSNAME,
    XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI,
    XML_SCHEMAP_INVALID_BOOLEAN,
    XML_SCHEMAP_INVALID_ENUM,
    XML_SCHEMAP_INVALID_FACET,
    XML_SCHEMAP_INVALID_FACET_VALUE,
    XML_SCHEMAP_INVALID_MAXOCCURS,
    XML_SCHEMAP_INVALID_MINOCCURS,
    XML_SCHEMAP_INVALID_REF_AND_SUBTYPE,
    XML_SCHEMAP_INVALID_WHITE_SPACE,
    XML_SCHEMAP_NOATTR_NOREF,
    XML_SCHEMAP_NOTATION_NO_NAME,
    XML_SCHEMAP_NOTYPE_NOREF,
    XML_SCHEMAP_REF_AND_SUBTYPE,
    XML_SCHEMAP_RESTRICTION_NONAME_NOREF,
    XML_SCHEMAP_SIMPLETYPE_NONAME,
    XML_SCHEMAP_TYPE_AND_SUBTYPE,
    XML_SCHEMAP_UNKNOWN_ALL_CHILD,
    XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD,
    XML_SCHEMAP_UNKNOWN_ATTR_CHILD,
    XML_SCHEMAP_UNKNOWN_ATTRGRP_CHILD,
    XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP,
    XML_SCHEMAP_UNKNOWN_BASE_TYPE,
    XML_SCHEMAP_UNKNOWN_CHOICE_CHILD,
    XML_SCHEMAP_UNKNOWN_COMPLEXCONTENT_CHILD,
    XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD,
    XML_SCHEMAP_UNKNOWN_ELEM_CHILD,
    XML_SCHEMAP_UNKNOWN_EXTENSION_CHILD,
    XML_SCHEMAP_UNKNOWN_FACET_CHILD,
    XML_SCHEMAP_UNKNOWN_FACET_TYPE,
    XML_SCHEMAP_UNKNOWN_GROUP_CHILD,
    XML_SCHEMAP_UNKNOWN_IMPORT_CHILD,
    XML_SCHEMAP_UNKNOWN_LIST_CHILD,
    XML_SCHEMAP_UNKNOWN_NOTATION_CHILD,
    XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD,
    XML_SCHEMAP_UNKNOWN_REF,
    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD,
    XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD,
    XML_SCHEMAP_UNKNOWN_SEQUENCE_CHILD,
    XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD,
    XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD,
    XML_SCHEMAP_UNKNOWN_TYPE,
    XML_SCHEMAP_UNKNOWN_UNION_CHILD,
    XML_SCHEMAP_ELEM_DEFAULT_FIXED,
    XML_SCHEMAP_REGEXP_INVALID,
    XML_SCHEMAP_FAILED_LOAD,
    XML_SCHEMAP_NOTHING_TO_PARSE,
    XML_SCHEMAP_NOROOT,
    XML_SCHEMAP_REDEFINED_GROUP,
    XML_SCHEMAP_REDEFINED_TYPE,
    XML_SCHEMAP_REDEFINED_ELEMENT,
    XML_SCHEMAP_REDEFINED_ATTRGROUP,
    XML_SCHEMAP_REDEFINED_ATTR,
    XML_SCHEMAP_REDEFINED_NOTATION,
    XML_SCHEMAP_FAILED_PARSE,
    XML_SCHEMAP_UNKNOWN_PREFIX,
    XML_SCHEMAP_DEF_AND_PREFIX,
    XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD,
    XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI,
    XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI,
    XML_SCHEMAP_NOT_SCHEMA,
    XML_SCHEMAP_UNKNOWN_MEMBER_TYPE,
    XML_SCHEMAP_INVALID_ATTR_USE,
    XML_SCHEMAP_RECURSIVE,
    XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE,
    XML_SCHEMAP_INVALID_ATTR_COMBINATION,
    XML_SCHEMAP_INVALID_ATTR_INLINE_COMBINATION,
    XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD,
    XML_SCHEMAP_INVALID_ATTR_NAME,
    XML_SCHEMAP_REF_AND_CONTENT,
    XML_SCHEMAP_CT_PROPS_CORRECT_1,
    XML_SCHEMAP_CT_PROPS_CORRECT_2,
    XML_SCHEMAP_CT_PROPS_CORRECT_3,
    XML_SCHEMAP_CT_PROPS_CORRECT_4,
    XML_SCHEMAP_CT_PROPS_CORRECT_5,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_1,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_2,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_2,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3,
    XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER,
    XML_SCHEMAP_INTERSECTION_NOT_EXPRESSIBLE,
    XML_SCHEMAP_UNION_NOT_EXPRESSIBLE,
    XML_SCHEMAP_SRC_IMPORT_3_1,
    XML_SCHEMAP_SRC_IMPORT_3_2,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3,
    XML_SCHEMAP_COS_CT_EXTENDS_1_3,
    XML_SCHEMAV_NOROOT = 1801,
    XML_SCHEMAV_UNDECLAREDELEM,
    XML_SCHEMAV_NOTTOPLEVEL,
    XML_SCHEMAV_MISSING,
    XML_SCHEMAV_WRONGELEM,
    XML_SCHEMAV_NOTYPE,
    XML_SCHEMAV_NOROLLBACK,
    XML_SCHEMAV_ISABSTRACT,
    XML_SCHEMAV_NOTEMPTY,
    XML_SCHEMAV_ELEMCONT,
    XML_SCHEMAV_HAVEDEFAULT,
    XML_SCHEMAV_NOTNILLABLE,
    XML_SCHEMAV_EXTRACONTENT,
    XML_SCHEMAV_INVALIDATTR,
    XML_SCHEMAV_INVALIDELEM,
    XML_SCHEMAV_NOTDETERMINIST,
    XML_SCHEMAV_CONSTRUCT,
    XML_SCHEMAV_INTERNAL,
    XML_SCHEMAV_NOTSIMPLE,
    XML_SCHEMAV_ATTRUNKNOWN,
    XML_SCHEMAV_ATTRINVALID,
    XML_SCHEMAV_VALUE,
    XML_SCHEMAV_FACET,
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2,
    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3,
    XML_SCHEMAV_CVC_TYPE_3_1_1,
    XML_SCHEMAV_CVC_TYPE_3_1_2,
    XML_SCHEMAV_CVC_FACET_VALID,
    XML_SCHEMAV_CVC_LENGTH_VALID,
    XML_SCHEMAV_CVC_MINLENGTH_VALID,
    XML_SCHEMAV_CVC_MAXLENGTH_VALID,
    XML_SCHEMAV_CVC_MININCLUSIVE_VALID,
    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID,
    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID,
    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID,
    XML_SCHEMAV_CVC_TOTALDIGITS_VALID,
    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID,
    XML_SCHEMAV_CVC_PATTERN_VALID,
    XML_SCHEMAV_CVC_ENUMERATION_VALID,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4,
    XML_SCHEMAV_CVC_ELT_1,
    XML_SCHEMAV_CVC_ELT_2,
    XML_SCHEMAV_CVC_ELT_3_1,
    XML_SCHEMAV_CVC_ELT_3_2_1,
    XML_SCHEMAV_CVC_ELT_3_2_2,
    XML_SCHEMAV_CVC_ELT_4_1,
    XML_SCHEMAV_CVC_ELT_4_2,
    XML_SCHEMAV_CVC_ELT_4_3,
    XML_SCHEMAV_CVC_ELT_5_1_1,
    XML_SCHEMAV_CVC_ELT_5_1_2,
    XML_SCHEMAV_CVC_ELT_5_2_1,
    XML_SCHEMAV_CVC_ELT_5_2_2_1,
    XML_SCHEMAV_CVC_ELT_5_2_2_2_1,
    XML_SCHEMAV_CVC_ELT_5_2_2_2_2,
    XML_SCHEMAV_CVC_ELT_6,
    XML_SCHEMAV_CVC_ELT_7,
    XML_SCHEMAV_CVC_ATTRIBUTE_1,
    XML_SCHEMAV_CVC_ATTRIBUTE_2,
    XML_SCHEMAV_CVC_ATTRIBUTE_3,
    XML_SCHEMAV_CVC_ATTRIBUTE_4,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_1,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_1,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_3_2_2,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_4,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_1,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_5_2,
    XML_SCHEMAV_ELEMENT_CONTENT,
    XML_SCHEMAV_DOCUMENT_ELEMENT_MISSING,
    XML_SCHEMAV_CVC_COMPLEX_TYPE_1,
    XML_SCHEMAV_CVC_AU,
    XML_SCHEMAV_CVC_TYPE_1,
    XML_SCHEMAV_CVC_TYPE_2,
    XML_SCHEMAV_CVC_IDC,
    XML_SCHEMAV_CVC_WILDCARD,
    XML_XPTR_UNKNOWN_SCHEME = 1900,
    XML_XPTR_CHILDSEQ_START,
    XML_XPTR_EVAL_FAILED,
    XML_XPTR_EXTRA_OBJECTS,
    XML_C14N_CREATE_CTXT = 1950,
    XML_C14N_REQUIRES_UTF8,
    XML_C14N_CREATE_STACK,
    XML_C14N_INVALID_NODE,
    XML_C14N_UNKNOW_NODE,
    XML_C14N_RELATIVE_NAMESPACE,
    XML_FTP_PASV_ANSWER = 2000,
    XML_FTP_EPSV_ANSWER,
    XML_FTP_ACCNT,
    XML_FTP_URL_SYNTAX,
    XML_HTTP_URL_SYNTAX = 2020,
    XML_HTTP_USE_IP,
    XML_HTTP_UNKNOWN_HOST,
    XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000,
    XML_SCHEMAP_SRC_SIMPLE_TYPE_2,
    XML_SCHEMAP_SRC_SIMPLE_TYPE_3,
    XML_SCHEMAP_SRC_SIMPLE_TYPE_4,
    XML_SCHEMAP_SRC_RESOLVE,
    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE,
    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE,
    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES,
    XML_SCHEMAP_ST_PROPS_CORRECT_1,
    XML_SCHEMAP_ST_PROPS_CORRECT_2,
    XML_SCHEMAP_ST_PROPS_CORRECT_3,
    XML_SCHEMAP_COS_ST_RESTRICTS_1_1,
    XML_SCHEMAP_COS_ST_RESTRICTS_1_2,
    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1,
    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2,
    XML_SCHEMAP_COS_ST_RESTRICTS_2_1,
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1,
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2,
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1,
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2,
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3,
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4,
    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5,
    XML_SCHEMAP_COS_ST_RESTRICTS_3_1,
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1,
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2,
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2,
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1,
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3,
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4,
    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5,
    XML_SCHEMAP_COS_ST_DERIVED_OK_2_1,
    XML_SCHEMAP_COS_ST_DERIVED_OK_2_2,
    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
    XML_SCHEMAP_S4S_ELEM_MISSING,
    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
    XML_SCHEMAP_S4S_ATTR_MISSING,
    XML_SCHEMAP_S4S_ATTR_INVALID_VALUE,
    XML_SCHEMAP_SRC_ELEMENT_1,
    XML_SCHEMAP_SRC_ELEMENT_2_1,
    XML_SCHEMAP_SRC_ELEMENT_2_2,
    XML_SCHEMAP_SRC_ELEMENT_3,
    XML_SCHEMAP_P_PROPS_CORRECT_1,
    XML_SCHEMAP_P_PROPS_CORRECT_2_1,
    XML_SCHEMAP_P_PROPS_CORRECT_2_2,
    XML_SCHEMAP_E_PROPS_CORRECT_2,
    XML_SCHEMAP_E_PROPS_CORRECT_3,
    XML_SCHEMAP_E_PROPS_CORRECT_4,
    XML_SCHEMAP_E_PROPS_CORRECT_5,
    XML_SCHEMAP_E_PROPS_CORRECT_6,
    XML_SCHEMAP_SRC_INCLUDE,
    XML_SCHEMAP_SRC_ATTRIBUTE_1,
    XML_SCHEMAP_SRC_ATTRIBUTE_2,
    XML_SCHEMAP_SRC_ATTRIBUTE_3_1,
    XML_SCHEMAP_SRC_ATTRIBUTE_3_2,
    XML_SCHEMAP_SRC_ATTRIBUTE_4,
    XML_SCHEMAP_NO_XMLNS,
    XML_SCHEMAP_NO_XSI,
    XML_SCHEMAP_COS_VALID_DEFAULT_1,
    XML_SCHEMAP_COS_VALID_DEFAULT_2_1,
    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_1,
    XML_SCHEMAP_COS_VALID_DEFAULT_2_2_2,
    XML_SCHEMAP_CVC_SIMPLE_TYPE,
    XML_SCHEMAP_COS_CT_EXTENDS_1_1,
    XML_SCHEMAP_SRC_IMPORT_1_1,
    XML_SCHEMAP_SRC_IMPORT_1_2,
    XML_SCHEMAP_SRC_IMPORT_2,
    XML_SCHEMAP_SRC_IMPORT_2_1,
    XML_SCHEMAP_SRC_IMPORT_2_2,
    XML_SCHEMAP_INTERNAL,
    XML_SCHEMAP_NOT_DETERMINISTIC,
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_1,
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_2,
    XML_SCHEMAP_SRC_ATTRIBUTE_GROUP_3,
    XML_SCHEMAP_MG_PROPS_CORRECT_1,
    XML_SCHEMAP_MG_PROPS_CORRECT_2,
    XML_SCHEMAP_SRC_CT_1,
    XML_SCHEMAP_DERIVATION_OK_RESTRICTION_2_1_3,
    XML_SCHEMAP_AU_PROPS_CORRECT_2,
    XML_SCHEMAP_A_PROPS_CORRECT_2,
    XML_SCHEMAP_C_PROPS_CORRECT,
    XML_SCHEMAP_SRC_REDEFINE,
    XML_SCHEMAP_SRC_IMPORT,
    XML_SCHEMAP_WARN_SKIP_SCHEMA,
    XML_SCHEMAP_WARN_UNLOCATED_SCHEMA,
    XML_SCHEMAP_WARN_ATTR_REDECL_PROH,
    XML_SCHEMAP_WARN_ATTR_POINTLESS_PROH,
    XML_MODULE_OPEN = 4900,
    XML_MODULE_CLOSE,
    XML_CHECK_FOUND_ELEMENT = 5000,
    XML_CHECK_FOUND_ATTRIBUTE,
    XML_CHECK_FOUND_TEXT,
    XML_CHECK_FOUND_CDATA,
    XML_CHECK_FOUND_ENTITYREF,
    XML_CHECK_FOUND_ENTITY,
    XML_CHECK_FOUND_PI,
    XML_CHECK_FOUND_COMMENT,
    XML_CHECK_FOUND_DOCTYPE,
    XML_CHECK_FOUND_FRAGMENT,
    XML_CHECK_FOUND_NOTATION,
    XML_CHECK_UNKNOWN_NODE,
    XML_CHECK_ENTITY_TYPE,
    XML_CHECK_NO_PARENT,
    XML_CHECK_NO_DOC,
    XML_CHECK_NO_NAME,
    XML_CHECK_NO_ELEM,
    XML_CHECK_WRONG_DOC,
    XML_CHECK_NO_PREV,
    XML_CHECK_WRONG_PREV,
    XML_CHECK_NO_NEXT,
    XML_CHECK_WRONG_NEXT,
    XML_CHECK_NOT_DTD,
    XML_CHECK_NOT_ATTR,
    XML_CHECK_NOT_ATTR_DECL,
    XML_CHECK_NOT_ELEM_DECL,
    XML_CHECK_NOT_ENTITY_DECL,
    XML_CHECK_NOT_NS_DECL,
    XML_CHECK_NO_HREF,
    XML_CHECK_WRONG_PARENT,
    XML_CHECK_NS_SCOPE,
    XML_CHECK_NS_ANCESTOR,
    XML_CHECK_NOT_UTF8,
    XML_CHECK_NO_DICT,
    XML_CHECK_NOT_NCNAME,
    XML_CHECK_OUTSIDE_DICT,
    XML_CHECK_WRONG_NAME,
    XML_CHECK_NAME_NOT_NULL,
    XML_I18N_NO_NAME = 6000,
    XML_I18N_NO_HANDLER,
    XML_I18N_EXCESS_HANDLER,
    XML_I18N_CONV_FAILED,
    XML_I18N_NO_OUTPUT
} xmlParserErrors;
extern void xmlParserPrintFileInfo(xmlParserInputPtr);
extern void xmlSetGenericErrorFunc(void *, xmlGenericErrorFunc);
extern void xmlCtxtResetLastError(void *);
extern void xmlParserValidityWarning(void *, const char *, ...);
extern int xmlCopyError(xmlErrorPtr, xmlErrorPtr);
extern void initGenericErrorDefaultFunc(xmlGenericErrorFunc *);
extern xmlErrorPtr xmlCtxtGetLastError(void *);
extern void xmlParserPrintFileContext(xmlParserInputPtr);
extern void xmlResetLastError(void);
extern void xmlSetStructuredErrorFunc(void *, xmlStructuredErrorFunc);
extern void xmlParserWarning(void *, const char *, ...);
extern void xmlResetError(xmlErrorPtr);
extern xmlErrorPtr xmlGetLastError(void);
extern void xmlParserValidityError(void *, const char *, ...);
extern void xmlParserError(void *, const char *, ...);

18.2.26. libxml2/libxml/xmlexports.h


#define XMLCALL
#define XMLCDECL
#define XMLPUBFUN
#define XMLPUBVAR	extern
#define LIBXML_DLL_IMPORT	XMLPUBVAR

18.2.27. libxml2/libxml/xmlmemory.h


typedef void (*xmlFreeFunc) (void *);
typedef void *(*xmlMallocFunc) (size_t);
typedef void *(*xmlReallocFunc) (void *, size_t);
typedef char *(*xmlStrdupFunc) (const char *);
extern void xmlCleanupMemory(void);
extern void xmlMemFree(void *);
extern void xmlMemShow(FILE *, int);
extern int xmlMemSetup(xmlFreeFunc, xmlMallocFunc, xmlReallocFunc,
		       xmlStrdupFunc);
extern void *xmlMemRealloc(void *, size_t);
extern void *xmlMemMalloc(size_t);
extern void xmlMemoryDump(void);
extern int xmlInitMemory(void);
extern int xmlMemGet(xmlFreeFunc *, xmlMallocFunc *, xmlReallocFunc *,
		     xmlStrdupFunc *);
extern char *xmlMemoryStrdup(const char *);
extern void *xmlReallocLoc(void *, size_t, const char *, int);
extern int xmlGcMemSetup(xmlFreeFunc, xmlMallocFunc, xmlMallocFunc,
			 xmlReallocFunc, xmlStrdupFunc);
extern int xmlMemUsed(void);
extern void xmlMemDisplay(FILE *);
extern int xmlMemBlocks(void);
extern int xmlGcMemGet(xmlFreeFunc *, xmlMallocFunc *, xmlMallocFunc *,
		       xmlReallocFunc *, xmlStrdupFunc *);
extern void *xmlMallocLoc(size_t, const char *, int);
extern void *xmlMallocAtomicLoc(size_t, const char *, int);
extern char *xmlMemStrdupLoc(const char *, const char *, int);

18.2.28. libxml2/libxml/xmlmodule.h


typedef struct _xmlModule xmlModule;
typedef xmlModule *xmlModulePtr;
typedef enum {
    XML_MODULE_LAZY = 1,
    XML_MODULE_LOCAL = 2
} xmlModuleOption;
extern int xmlModuleClose(xmlModulePtr);
extern int xmlModuleFree(xmlModulePtr);
extern int xmlModuleSymbol(xmlModulePtr, const char *, void **);
extern xmlModulePtr xmlModuleOpen(const char *, int);

18.2.29. libxml2/libxml/xmlreader.h


typedef struct _xmlTextReader xmlTextReader;
typedef xmlTextReader *xmlTextReaderPtr;
typedef enum {
    XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
    XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
    XML_PARSER_SEVERITY_WARNING = 3,
    XML_PARSER_SEVERITY_ERROR = 4
} xmlParserSeverities;
typedef void *xmlTextReaderLocatorPtr;
typedef void (*xmlTextReaderErrorFunc) (void *, const char *,
					xmlParserSeverities,
					xmlTextReaderLocatorPtr);
typedef enum {
    XML_PARSER_LOADDTD = 1,
    XML_PARSER_DEFAULTATTRS = 2,
    XML_PARSER_VALIDATE = 3,
    XML_PARSER_SUBST_ENTITIES = 4
} xmlParserProperties;
typedef enum {
    XML_READER_TYPE_NONE = 0,
    XML_READER_TYPE_ELEMENT = 1,
    XML_READER_TYPE_ATTRIBUTE = 2,
    XML_READER_TYPE_TEXT = 3,
    XML_READER_TYPE_CDATA = 4,
    XML_READER_TYPE_ENTITY_REFERENCE = 5,
    XML_READER_TYPE_ENTITY = 6,
    XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
    XML_READER_TYPE_COMMENT = 8,
    XML_READER_TYPE_DOCUMENT = 9,
    XML_READER_TYPE_DOCUMENT_TYPE = 10,
    XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
    XML_READER_TYPE_NOTATION = 12,
    XML_READER_TYPE_WHITESPACE = 13,
    XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
    XML_READER_TYPE_END_ELEMENT = 15,
    XML_READER_TYPE_END_ENTITY = 16,
    XML_READER_TYPE_XML_DECLARATION = 17
} xmlReaderTypes;
typedef enum {
    XML_TEXTREADER_MODE_INITIAL = 0,
    XML_TEXTREADER_MODE_INTERACTIVE = 1,
    XML_TEXTREADER_MODE_ERROR = 2,
    XML_TEXTREADER_MODE_EOF = 3,
    XML_TEXTREADER_MODE_CLOSED = 4,
    XML_TEXTREADER_MODE_READING = 5
} xmlTextReaderMode;
extern xmlChar *xmlTextReaderNamespaceUri(xmlTextReaderPtr);
extern xmlChar *xmlTextReaderBaseUri(xmlTextReaderPtr);
extern int xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr);
extern void xmlTextReaderGetErrorHandler(xmlTextReaderPtr,
					 xmlTextReaderErrorFunc *,
					 void **);
extern int xmlTextReaderSchemaValidate(xmlTextReaderPtr, const char *);
extern int xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr);
extern xmlNodePtr xmlTextReaderCurrentNode(xmlTextReaderPtr);
extern int xmlTextReaderReadState(xmlTextReaderPtr);
extern int xmlTextReaderSetSchema(xmlTextReaderPtr, xmlSchemaPtr);
extern int xmlTextReaderNext(xmlTextReaderPtr);
extern int xmlTextReaderIsEmptyElement(xmlTextReaderPtr);
extern xmlTextReaderPtr xmlNewTextReader(xmlParserInputBufferPtr,
					 const char *);
extern int xmlTextReaderGetParserLineNumber(xmlTextReaderPtr);
extern long int xmlTextReaderByteConsumed(xmlTextReaderPtr);
extern int xmlReaderNewIO(xmlTextReaderPtr, xmlInputReadCallback,
			  xmlInputCloseCallback, void *, const char *,
			  const char *, int);
extern xmlNodePtr xmlTextReaderPreserve(xmlTextReaderPtr);
extern xmlChar *xmlTextReaderReadOuterXml(xmlTextReaderPtr);
extern const xmlChar *xmlTextReaderConstValue(xmlTextReaderPtr);
extern xmlChar *xmlTextReaderGetAttribute(xmlTextReaderPtr,
					  const xmlChar *);
extern xmlChar *xmlTextReaderPrefix(xmlTextReaderPtr);
extern int xmlTextReaderMoveToAttribute(xmlTextReaderPtr, const xmlChar *);
extern int xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr);
extern const xmlChar *xmlTextReaderConstNamespaceUri(xmlTextReaderPtr);
extern int xmlTextReaderNextSibling(xmlTextReaderPtr);
extern xmlChar *xmlTextReaderGetAttributeNs(xmlTextReaderPtr,
					    const xmlChar *,
					    const xmlChar *);
extern xmlTextReaderPtr xmlReaderForFile(const char *, const char *, int);
extern xmlTextReaderPtr xmlReaderForDoc(const xmlChar *, const char *,
					const char *, int);
extern const xmlChar *xmlTextReaderConstBaseUri(xmlTextReaderPtr);
extern const xmlChar *xmlTextReaderConstXmlLang(xmlTextReaderPtr);
extern int xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr, xmlRelaxNGPtr);
extern xmlChar *xmlTextReaderReadInnerXml(xmlTextReaderPtr);
extern int xmlTextReaderQuoteChar(xmlTextReaderPtr);
extern const xmlChar *xmlTextReaderConstString(xmlTextReaderPtr,
					       const xmlChar *);
extern int xmlReaderNewFile(xmlTextReaderPtr, const char *, const char *,
			    int);
extern int xmlTextReaderHasAttributes(xmlTextReaderPtr);
extern void xmlFreeTextReader(xmlTextReaderPtr);
extern int xmlReaderNewWalker(xmlTextReaderPtr, xmlDocPtr);
extern int xmlTextReaderRead(xmlTextReaderPtr);
extern xmlChar *xmlTextReaderLocatorBaseURI(xmlTextReaderLocatorPtr);
extern int xmlTextReaderMoveToElement(xmlTextReaderPtr);
extern int xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr);
extern int xmlTextReaderRelaxNGValidate(xmlTextReaderPtr, const char *);
extern const xmlChar *xmlTextReaderConstEncoding(xmlTextReaderPtr);
extern xmlTextReaderPtr xmlReaderForIO(xmlInputReadCallback,
				       xmlInputCloseCallback, void *,
				       const char *, const char *, int);
extern const xmlChar *xmlTextReaderConstPrefix(xmlTextReaderPtr);
extern int xmlTextReaderIsDefault(xmlTextReaderPtr);
extern xmlDocPtr xmlTextReaderCurrentDoc(xmlTextReaderPtr);
extern int xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr);
extern xmlNodePtr xmlTextReaderExpand(xmlTextReaderPtr);
extern int xmlTextReaderPreservePattern(xmlTextReaderPtr, const xmlChar *,
					const xmlChar * *);
extern xmlChar *xmlTextReaderLocalName(xmlTextReaderPtr);
extern int xmlReaderNewMemory(xmlTextReaderPtr, const char *, int,
			      const char *, const char *, int);
extern xmlParserInputBufferPtr xmlTextReaderGetRemainder(xmlTextReaderPtr);
extern xmlChar *xmlTextReaderGetAttributeNo(xmlTextReaderPtr, int);
extern xmlChar *xmlTextReaderLookupNamespace(xmlTextReaderPtr,
					     const xmlChar *);
extern int xmlTextReaderReadAttributeValue(xmlTextReaderPtr);
extern xmlTextReaderPtr xmlReaderForFd(int, const char *, const char *,
				       int);
extern int xmlTextReaderClose(xmlTextReaderPtr);
extern int xmlTextReaderDepth(xmlTextReaderPtr);
extern int xmlTextReaderGetParserProp(xmlTextReaderPtr, int);
extern int xmlReaderNewFd(xmlTextReaderPtr, int, const char *,
			  const char *, int);
extern xmlTextReaderPtr xmlReaderWalker(xmlDocPtr);
extern int xmlTextReaderIsValid(xmlTextReaderPtr);
extern void xmlTextReaderSetErrorHandler(xmlTextReaderPtr,
					 xmlTextReaderErrorFunc, void *);
extern xmlTextReaderPtr xmlNewTextReaderFilename(const char *);
extern xmlChar *xmlTextReaderValue(xmlTextReaderPtr);
extern xmlTextReaderPtr xmlReaderForMemory(const char *, int, const char *,
					   const char *, int);
extern int xmlTextReaderSetParserProp(xmlTextReaderPtr, int, int);
extern const xmlChar *xmlTextReaderConstName(xmlTextReaderPtr);
extern xmlChar *xmlTextReaderXmlLang(xmlTextReaderPtr);
extern int xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr, int);
extern int xmlReaderNewDoc(xmlTextReaderPtr, const xmlChar *, const char *,
			   const char *, int);
extern xmlChar *xmlTextReaderName(xmlTextReaderPtr);
extern int xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr,
					  const xmlChar *,
					  const xmlChar *);
extern xmlChar *xmlTextReaderReadString(xmlTextReaderPtr);
extern int xmlTextReaderNormalization(xmlTextReaderPtr);
extern const xmlChar *xmlTextReaderConstLocalName(xmlTextReaderPtr);
extern int xmlTextReaderHasValue(xmlTextReaderPtr);
extern int xmlTextReaderNodeType(xmlTextReaderPtr);
extern int xmlTextReaderStandalone(xmlTextReaderPtr);
extern void xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr,
						   xmlStructuredErrorFunc,
						   void *);
extern int xmlTextReaderAttributeCount(xmlTextReaderPtr);
extern const xmlChar *xmlTextReaderConstXmlVersion(xmlTextReaderPtr);

18.2.30. libxml2/libxml/xmlregexp.h


typedef struct _xmlRegexp xmlRegexp;
typedef xmlRegexp *xmlRegexpPtr;
typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
typedef struct _xmlExpNode xmlExpNode;
typedef xmlExpNode *xmlExpNodePtr;
typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr, const xmlChar *,
				     void *, void *);
typedef struct _xmlExpCtxt xmlExpCtxt;
typedef xmlExpCtxt *xmlExpCtxtPtr;
typedef enum {
    XML_EXP_EMPTY = 0,
    XML_EXP_FORBID = 1,
    XML_EXP_ATOM = 2,
    XML_EXP_SEQ = 3,
    XML_EXP_OR = 4,
    XML_EXP_COUNT = 5
} xmlExpNodeType;
extern void xmlRegexpPrint(FILE *, xmlRegexpPtr);
extern void xmlRegFreeExecCtxt(xmlRegExecCtxtPtr);
extern xmlExpNodePtr forbiddenExp;
extern xmlRegExecCtxtPtr xmlRegNewExecCtxt(xmlRegexpPtr,
					   xmlRegExecCallbacks, void *);
extern int xmlExpMaxToken(xmlExpNodePtr);
extern xmlExpNodePtr xmlExpStringDerive(xmlExpCtxtPtr, xmlExpNodePtr,
					const xmlChar *, int);
extern int xmlRegExecPushString(xmlRegExecCtxtPtr, const xmlChar *,
				void *);
extern void xmlExpDump(xmlBufferPtr, xmlExpNodePtr);
extern int xmlExpSubsume(xmlExpCtxtPtr, xmlExpNodePtr, xmlExpNodePtr);
extern xmlExpCtxtPtr xmlExpNewCtxt(int, xmlDictPtr);
extern xmlExpNodePtr xmlExpParse(xmlExpCtxtPtr, const char *);
extern int xmlRegExecNextValues(xmlRegExecCtxtPtr, int *, int *,
				xmlChar * *, int *);
extern xmlExpNodePtr emptyExp;
extern void xmlExpFree(xmlExpCtxtPtr, xmlExpNodePtr);
extern xmlExpNodePtr xmlExpNewSeq(xmlExpCtxtPtr, xmlExpNodePtr,
				  xmlExpNodePtr);
extern void xmlExpRef(xmlExpNodePtr);
extern int xmlExpGetStart(xmlExpCtxtPtr, xmlExpNodePtr, const xmlChar * *,
			  int);
extern int xmlRegExecPushString2(xmlRegExecCtxtPtr, const xmlChar *,
				 const xmlChar *, void *);
extern int xmlExpCtxtNbNodes(xmlExpCtxtPtr);
extern int xmlExpIsNillable(xmlExpNodePtr);
extern xmlExpNodePtr xmlExpNewOr(xmlExpCtxtPtr, xmlExpNodePtr,
				 xmlExpNodePtr);
extern int xmlExpCtxtNbCons(xmlExpCtxtPtr);
extern xmlExpNodePtr xmlExpNewRange(xmlExpCtxtPtr, xmlExpNodePtr, int,
				    int);
extern int xmlRegexpIsDeterminist(xmlRegexpPtr);
extern xmlExpNodePtr xmlExpNewAtom(xmlExpCtxtPtr, const xmlChar *, int);
extern xmlRegexpPtr xmlRegexpCompile(const xmlChar *);
extern void xmlRegFreeRegexp(xmlRegexpPtr);
extern xmlExpNodePtr xmlExpExpDerive(xmlExpCtxtPtr, xmlExpNodePtr,
				     xmlExpNodePtr);
extern int xmlExpGetLanguage(xmlExpCtxtPtr, xmlExpNodePtr,
			     const xmlChar * *, int);
extern void xmlExpFreeCtxt(xmlExpCtxtPtr);
extern int xmlRegExecErrInfo(xmlRegExecCtxtPtr, const xmlChar * *, int *,
			     int *, xmlChar * *, int *);
extern int xmlRegexpExec(xmlRegexpPtr, const xmlChar *);

18.2.31. libxml2/libxml/xmlsave.h


typedef struct _xmlSaveCtxt xmlSaveCtxt;
typedef xmlSaveCtxt *xmlSaveCtxtPtr;
typedef enum {
    XML_SAVE_FORMAT = 1 << 0,
    XML_SAVE_NO_DECL = 1 << 1,
    XML_SAVE_NO_EMPTY = 1 << 2,
    XML_SAVE_NO_XHTML = 1 << 3
} xmlSaveOption;
extern int xmlSaveSetAttrEscape(xmlSaveCtxtPtr, xmlCharEncodingOutputFunc);
extern long int xmlSaveDoc(xmlSaveCtxtPtr, xmlDocPtr);
extern xmlSaveCtxtPtr xmlSaveToFilename(const char *, const char *, int);
extern xmlSaveCtxtPtr xmlSaveToFd(int, const char *, int);
extern int xmlSaveSetEscape(xmlSaveCtxtPtr, xmlCharEncodingOutputFunc);
extern xmlSaveCtxtPtr xmlSaveToIO(xmlOutputWriteCallback,
				  xmlOutputCloseCallback, void *,
				  const char *, int);
extern int xmlSaveClose(xmlSaveCtxtPtr);
extern long int xmlSaveTree(xmlSaveCtxtPtr, xmlNodePtr);
extern int xmlSaveFlush(xmlSaveCtxtPtr);

18.2.32. libxml2/libxml/xmlschemas.h


typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;
typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;
typedef void (*xmlSchemaValidityErrorFunc) (void *, const char *, ...);
typedef void (*xmlSchemaValidityWarningFunc) (void *, const char *, ...);
typedef struct _xmlSchema xmlSchema;
typedef xmlSchema *xmlSchemaPtr;
typedef enum {
    XML_SCHEMA_VAL_VC_I_CREATE = 1 << 0
} xmlSchemaValidOption;
extern int xmlSchemaValidateFile(xmlSchemaValidCtxtPtr, const char *, int);
extern int xmlSchemaSAXUnplug(xmlSchemaSAXPlugPtr);
extern xmlSchemaParserCtxtPtr xmlSchemaNewMemParserCtxt(const char *, int);
extern int xmlSchemaValidateOneElement(xmlSchemaValidCtxtPtr, xmlNodePtr);
extern int xmlSchemaIsValid(xmlSchemaValidCtxtPtr);
extern xmlSchemaSAXPlugPtr xmlSchemaSAXPlug(xmlSchemaValidCtxtPtr,
					    xmlSAXHandlerPtr *, void **);
extern void xmlSchemaFreeParserCtxt(xmlSchemaParserCtxtPtr);
extern int xmlSchemaValidateDoc(xmlSchemaValidCtxtPtr, xmlDocPtr);
extern int xmlSchemaGetValidErrors(xmlSchemaValidCtxtPtr,
				   xmlSchemaValidityErrorFunc *,
				   xmlSchemaValidityWarningFunc *,
				   void **);
extern void xmlSchemaDump(FILE *, xmlSchemaPtr);
extern void xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr,
					      xmlStructuredErrorFunc,
					      void *);
extern int xmlSchemaValidateStream(xmlSchemaValidCtxtPtr,
				   xmlParserInputBufferPtr,
				   xmlCharEncoding, xmlSAXHandlerPtr,
				   void *);
extern xmlSchemaPtr xmlSchemaParse(xmlSchemaParserCtxtPtr);
extern xmlSchemaValidCtxtPtr xmlSchemaNewValidCtxt(xmlSchemaPtr);
extern int xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr,
				    xmlSchemaValidityErrorFunc *,
				    xmlSchemaValidityWarningFunc *,
				    void **);
extern void xmlSchemaFreeValidCtxt(xmlSchemaValidCtxtPtr);
extern int xmlSchemaSetValidOptions(xmlSchemaValidCtxtPtr, int);
extern int xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr);
extern xmlSchemaParserCtxtPtr xmlSchemaNewParserCtxt(const char *);
extern void xmlSchemaSetValidErrors(xmlSchemaValidCtxtPtr,
				    xmlSchemaValidityErrorFunc,
				    xmlSchemaValidityWarningFunc, void *);
extern xmlSchemaParserCtxtPtr xmlSchemaNewDocParserCtxt(xmlDocPtr);
extern void xmlSchemaSetParserErrors(xmlSchemaParserCtxtPtr,
				     xmlSchemaValidityErrorFunc,
				     xmlSchemaValidityWarningFunc, void *);
extern void xmlSchemaFree(xmlSchemaPtr);

18.2.33. libxml2/libxml/xmlschemastypes.h


typedef struct _xmlSchemaType xmlSchemaType;
typedef xmlSchemaType *xmlSchemaTypePtr;
typedef struct _xmlSchemaVal xmlSchemaVal;
typedef xmlSchemaVal *xmlSchemaValPtr;
typedef enum {
    XML_SCHEMAS_UNKNOWN = 0,
    XML_SCHEMAS_STRING = 1,
    XML_SCHEMAS_NORMSTRING = 2,
    XML_SCHEMAS_DECIMAL = 3,
    XML_SCHEMAS_TIME = 4,
    XML_SCHEMAS_GDAY = 5,
    XML_SCHEMAS_GMONTH = 6,
    XML_SCHEMAS_GMONTHDAY = 7,
    XML_SCHEMAS_GYEAR = 8,
    XML_SCHEMAS_GYEARMONTH = 9,
    XML_SCHEMAS_DATE = 10,
    XML_SCHEMAS_DATETIME = 11,
    XML_SCHEMAS_DURATION = 12,
    XML_SCHEMAS_FLOAT = 13,
    XML_SCHEMAS_DOUBLE = 14,
    XML_SCHEMAS_BOOLEAN = 15,
    XML_SCHEMAS_TOKEN = 16,
    XML_SCHEMAS_LANGUAGE = 17,
    XML_SCHEMAS_NMTOKEN = 18,
    XML_SCHEMAS_NMTOKENS = 19,
    XML_SCHEMAS_NAME = 20,
    XML_SCHEMAS_QNAME = 21,
    XML_SCHEMAS_NCNAME = 22,
    XML_SCHEMAS_ID = 23,
    XML_SCHEMAS_IDREF = 24,
    XML_SCHEMAS_IDREFS = 25,
    XML_SCHEMAS_ENTITY = 26,
    XML_SCHEMAS_ENTITIES = 27,
    XML_SCHEMAS_NOTATION = 28,
    XML_SCHEMAS_ANYURI = 29,
    XML_SCHEMAS_INTEGER = 30,
    XML_SCHEMAS_NPINTEGER = 31,
    XML_SCHEMAS_NINTEGER = 32,
    XML_SCHEMAS_NNINTEGER = 33,
    XML_SCHEMAS_PINTEGER = 34,
    XML_SCHEMAS_INT = 35,
    XML_SCHEMAS_UINT = 36,
    XML_SCHEMAS_LONG = 37,
    XML_SCHEMAS_ULONG = 38,
    XML_SCHEMAS_SHORT = 39,
    XML_SCHEMAS_USHORT = 40,
    XML_SCHEMAS_BYTE = 41,
    XML_SCHEMAS_UBYTE = 42,
    XML_SCHEMAS_HEXBINARY = 43,
    XML_SCHEMAS_BASE64BINARY = 44,
    XML_SCHEMAS_ANYTYPE = 45,
    XML_SCHEMAS_ANYSIMPLETYPE = 46
} xmlSchemaValType;
extern int xmlSchemaValPredefTypeNode(xmlSchemaTypePtr, const xmlChar *,
				      xmlSchemaValPtr *, xmlNodePtr);
extern xmlChar *xmlSchemaCollapseString(const xmlChar *);
extern void xmlSchemaCleanupTypes(void);
extern xmlSchemaValType xmlSchemaGetValType(xmlSchemaValPtr);
extern void xmlSchemaFreeValue(xmlSchemaValPtr);
extern void xmlSchemaInitTypes(void);
extern int xmlSchemaGetCanonValue(xmlSchemaValPtr, const xmlChar * *);
extern int xmlSchemaCompareValues(xmlSchemaValPtr, xmlSchemaValPtr);
extern xmlSchemaTypePtr xmlSchemaGetBuiltInType(xmlSchemaValType);

18.2.34. libxml2/libxml/xmlstring.h


#define BAD_CAST	(xmlChar *)

typedef unsigned char xmlChar;
extern int xmlCheckUTF8(const unsigned char *);
extern int xmlUTF8Strlen(const xmlChar *);
extern const xmlChar *xmlStrstr(const xmlChar *, const xmlChar *);
extern int xmlStrEqual(const xmlChar *, const xmlChar *);
extern xmlChar *xmlStrdup(const xmlChar *);
extern const xmlChar *xmlStrcasestr(const xmlChar *, xmlChar *);
extern const xmlChar *xmlStrchr(const xmlChar *, xmlChar);
extern int xmlGetUTF8Char(const unsigned char *, int *);
extern const xmlChar *xmlUTF8Strpos(const xmlChar *, int);
extern int xmlUTF8Size(const xmlChar *);
extern int xmlStrlen(const xmlChar *);
extern xmlChar *xmlUTF8Strndup(const xmlChar *, int);
extern int xmlUTF8Charcmp(const xmlChar *, const xmlChar *);
extern xmlChar *xmlStrcat(xmlChar *, const xmlChar *);
extern int xmlStrncasecmp(const xmlChar *, const xmlChar *, int);
extern int xmlStrncmp(const xmlChar *, const xmlChar *, int);
extern xmlChar *xmlStrncatNew(const xmlChar *, const xmlChar *, int);
extern xmlChar *xmlCharStrndup(const char *, int);
extern xmlChar *xmlStrndup(const xmlChar *, int);
extern xmlChar *xmlStrncat(xmlChar *, const xmlChar *, int);
extern xmlChar *xmlStrsub(const xmlChar *, int, int);
extern int xmlStrQEqual(const xmlChar *, const xmlChar *, const xmlChar *);
extern int xmlStrPrintf(xmlChar *, int, const xmlChar *, ...);
extern xmlChar *xmlUTF8Strsub(const xmlChar *, int, int);
extern int xmlStrVPrintf(xmlChar *, int, const xmlChar *, va_list);
extern int xmlStrcmp(const xmlChar *, const xmlChar *);
extern int xmlUTF8Strloc(const xmlChar *, const xmlChar *);
extern xmlChar *xmlCharStrdup(const char *);
extern int xmlStrcasecmp(const xmlChar *, const xmlChar *);
extern int xmlUTF8Strsize(const xmlChar *, int);

18.2.35. libxml2/libxml/xmlversion.h


#define LIBXML_AUTOMATA_ENABLED
#define LIBXML_C14N_ENABLED
#define LIBXML_CATALOG_ENABLED
#define LIBXML_DEBUG_ENABLED
#define LIBXML_DOCB_ENABLED
#define LIBXML_EXPR_ENABLED
#define LIBXML_FTP_ENABLED
#define LIBXML_HTML_ENABLED
#define LIBXML_HTTP_ENABLED
#define LIBXML_ICONV_ENABLED
#define LIBXML_ISO8859X_ENABLED
#define LIBXML_LEGACY_ENABLED
#define LIBXML_MODULES_ENABLED
#define LIBXML_OUTPUT_ENABLED
#define LIBXML_PATTERN_ENABLED
#define LIBXML_PUSH_ENABLED
#define LIBXML_READER_ENABLED
#define LIBXML_REGEXP_ENABLED
#define LIBXML_SAX1_ENABLED
#define LIBXML_SCHEMAS_ENABLED
#define LIBXML_SCHEMATRON_ENABLED
#define LIBXML_THREAD_ENABLED
#define LIBXML_TREE_ENABLED
#define LIBXML_UNICODE_ENABLED
#define LIBXML_VALID_ENABLED
#define LIBXML_VERSION_EXTRA	""
#define LIBXML_WRITER_ENABLED
#define LIBXML_XINCLUDE_ENABLED
#define LIBXML_XPATH_ENABLED
#define LIBXML_XPTR_ENABLED
#define WITHOUT_TRIO
#define LIBXML_MODULE_EXTENSION	".so"
#define LIBXML_DOTTED_VERSION	"2.6.22"
#define LIBXML_VERSION	20622
#define LIBXML_VERSION_STRING	"20622"
#define LIBXML_TEST_VERSION	xmlCheckVersion(20622);
#define ATTRIBUTE_UNUSED	__attribute__((unused))

extern void xmlCheckVersion(int);

18.2.36. libxml2/libxml/xmlwriter.h


#define xmlTextWriterWriteDocType	xmlTextWriterWriteDTD
#define xmlTextWriterWriteProcessingInstruction	xmlTextWriterWritePI

typedef struct _xmlTextWriter xmlTextWriter;
typedef xmlTextWriter *xmlTextWriterPtr;
extern int xmlTextWriterStartCDATA(xmlTextWriterPtr);
extern xmlTextWriterPtr xmlNewTextWriterFilename(const char *, int);
extern int xmlTextWriterStartDTDEntity(xmlTextWriterPtr, int,
				       const xmlChar *);
extern int xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr, int,
						     const xmlChar *,
						     const char *, ...);
extern int xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr, const char *,
					va_list);
extern int xmlTextWriterStartAttributeNS(xmlTextWriterPtr, const xmlChar *,
					 const xmlChar *, const xmlChar *);
extern xmlTextWriterPtr xmlNewTextWriter(xmlOutputBufferPtr);
extern int xmlTextWriterEndDocument(xmlTextWriterPtr);
extern int xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr,
						      int, const xmlChar *,
						      const char *,
						      va_list);
extern int xmlTextWriterEndDTDEntity(xmlTextWriterPtr);
extern int xmlTextWriterFullEndElement(xmlTextWriterPtr);
extern int xmlTextWriterWriteFormatComment(xmlTextWriterPtr, const char *,
					   ...);
extern int xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr, int,
					       const xmlChar *,
					       const xmlChar *);
extern int xmlTextWriterWritePI(xmlTextWriterPtr, const xmlChar *,
				const xmlChar *);
extern int xmlTextWriterStartAttribute(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterWriteDTDElement(xmlTextWriterPtr, const xmlChar *,
					const xmlChar *);
extern int xmlTextWriterWriteFormatRaw(xmlTextWriterPtr, const char *,
				       ...);
extern int xmlTextWriterWriteVFormatPI(xmlTextWriterPtr, const xmlChar *,
				       const char *, va_list);
extern int xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr,
						       const xmlChar *,
						       const xmlChar *,
						       const xmlChar *);
extern int xmlTextWriterWriteCDATA(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr,
						const xmlChar *,
						const xmlChar *,
						const xmlChar *,
						const char *, va_list);
extern int xmlTextWriterWriteAttributeNS(xmlTextWriterPtr, const xmlChar *,
					 const xmlChar *, const xmlChar *,
					 const xmlChar *);
extern int xmlTextWriterEndPI(xmlTextWriterPtr);
extern int xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr,
					       const xmlChar *,
					       const char *, va_list);
extern int xmlTextWriterWriteDTD(xmlTextWriterPtr, const xmlChar *,
				 const xmlChar *, const xmlChar *,
				 const xmlChar *);
extern int xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr,
					      const xmlChar *,
					      const char *, ...);
extern int xmlTextWriterStartDTDAttlist(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr,
					     const xmlChar *,
					     const xmlChar *,
					     const xmlChar *, const char *,
					     ...);
extern int xmlTextWriterWriteVFormatString(xmlTextWriterPtr, const char *,
					   va_list);
extern xmlTextWriterPtr xmlNewTextWriterDoc(xmlDocPtr *, int);
extern int xmlTextWriterStartComment(xmlTextWriterPtr);
extern void xmlFreeTextWriter(xmlTextWriterPtr);
extern int xmlTextWriterStartElement(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr, const xmlChar *,
					const xmlChar *);
extern int xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr, int,
					       const xmlChar *,
					       const xmlChar *,
					       const xmlChar *,
					       const xmlChar *);
extern int xmlTextWriterEndComment(xmlTextWriterPtr);
extern int xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr,
					       const xmlChar *,
					       const char *, va_list);
extern int xmlTextWriterWriteDTDEntity(xmlTextWriterPtr, int,
				       const xmlChar *, const xmlChar *,
				       const xmlChar *, const xmlChar *,
				       const xmlChar *);
extern int xmlTextWriterStartDocument(xmlTextWriterPtr, const char *,
				      const char *, const char *);
extern int xmlTextWriterEndCDATA(xmlTextWriterPtr);
extern int xmlTextWriterWriteBase64(xmlTextWriterPtr, const char *, int,
				    int);
extern xmlTextWriterPtr xmlNewTextWriterPushParser(xmlParserCtxtPtr, int);
extern int xmlTextWriterWriteElementNS(xmlTextWriterPtr, const xmlChar *,
				       const xmlChar *, const xmlChar *,
				       const xmlChar *);
extern int xmlTextWriterStartPI(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterEndElement(xmlTextWriterPtr);
extern int xmlTextWriterWriteFormatDTD(xmlTextWriterPtr, const xmlChar *,
				       const xmlChar *, const xmlChar *,
				       const char *, ...);
extern int xmlTextWriterWriteRaw(xmlTextWriterPtr, const xmlChar *);
extern xmlTextWriterPtr xmlNewTextWriterTree(xmlDocPtr, xmlNodePtr, int);
extern int xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr, const xmlChar *,
					const xmlChar *, const xmlChar *,
					const char *, va_list);
extern int xmlTextWriterEndDTDAttlist(xmlTextWriterPtr);
extern int xmlTextWriterStartDTDElement(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterSetIndentString(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterWriteElement(xmlTextWriterPtr, const xmlChar *,
				     const xmlChar *);
extern int xmlTextWriterEndDTDElement(xmlTextWriterPtr);
extern int xmlTextWriterStartDTD(xmlTextWriterPtr, const xmlChar *,
				 const xmlChar *, const xmlChar *);
extern int xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr,
					       const xmlChar *,
					       const xmlChar *,
					       const xmlChar *,
					       const char *, ...);
extern int xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr,
					     const xmlChar *, const char *,
					     ...);
extern int xmlTextWriterStartElementNS(xmlTextWriterPtr, const xmlChar *,
				       const xmlChar *, const xmlChar *);
extern int xmlTextWriterWriteVFormatElement(xmlTextWriterPtr,
					    const xmlChar *, const char *,
					    va_list);
extern int xmlTextWriterWriteFormatString(xmlTextWriterPtr, const char *,
					  ...);
extern int xmlTextWriterWriteAttribute(xmlTextWriterPtr, const xmlChar *,
				       const xmlChar *);
extern xmlTextWriterPtr xmlNewTextWriterMemory(xmlBufferPtr, int);
extern int xmlTextWriterWriteRawLen(xmlTextWriterPtr, const xmlChar *,
				    int);
extern int xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr, const char *,
					 ...);
extern int xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr,
					      const xmlChar *,
					      const xmlChar *,
					      const xmlChar *,
					      const char *, va_list);
extern int xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr,
					      const xmlChar *,
					      const char *, va_list);
extern int xmlTextWriterSetIndent(xmlTextWriterPtr, int);
extern int xmlTextWriterWriteDTDNotation(xmlTextWriterPtr, const xmlChar *,
					 const xmlChar *, const xmlChar *);
extern int xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr,
					      const xmlChar *,
					      const char *, ...);
extern int xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr, const char *,
					  va_list);
extern int xmlTextWriterWriteFormatElement(xmlTextWriterPtr,
					   const xmlChar *, const char *,
					   ...);
extern int xmlTextWriterWriteComment(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterFlush(xmlTextWriterPtr);
extern int xmlTextWriterWriteVFormatComment(xmlTextWriterPtr, const char *,
					    va_list);
extern int xmlTextWriterWriteString(xmlTextWriterPtr, const xmlChar *);
extern int xmlTextWriterWriteFormatPI(xmlTextWriterPtr, const xmlChar *,
				      const char *, ...);
extern int xmlTextWriterEndDTD(xmlTextWriterPtr);
extern int xmlTextWriterEndAttribute(xmlTextWriterPtr);
extern int xmlTextWriterWriteBinHex(xmlTextWriterPtr, const char *, int,
				    int);

18.2.37. libxml2/libxml/xpath.h


#define xmlXPathNodeSetItem(ns,index)	 \
	((((ns) != NULL) && ((index) >= 0) && ((index) < (ns)->nodeNr)) ? \
	(ns)->nodeTab[(index)] : NULL)
#define xmlXPathNodeSetIsEmpty(ns)	 \
	(((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL))
#define xmlXPathNodeSetGetLength(ns)	((ns) ? (ns)->nodeNr : 0)
#define XML_XPATH_CHECKNS	(1<<0)
#define XML_XPATH_NOVAR	(1<<1)

typedef struct _xmlXPathCompExpr xmlXPathCompExpr;
typedef xmlXPathCompExpr *xmlXPathCompExprPtr;
typedef enum {
    XPATH_UNDEFINED = 0,
    XPATH_NODESET = 1,
    XPATH_BOOLEAN = 2,
    XPATH_NUMBER = 3,
    XPATH_STRING = 4,
    XPATH_POINT = 5,
    XPATH_RANGE = 6,
    XPATH_LOCATIONSET = 7,
    XPATH_USERS = 8,
    XPATH_XSLT_TREE = 9
} xmlXPathObjectType;
typedef struct _xmlNodeSet {
    int nodeNr;
    int nodeMax;
    xmlNodePtr *nodeTab;
} xmlNodeSet;
typedef xmlNodeSet *xmlNodeSetPtr;
typedef struct _xmlXPathObject {
    xmlXPathObjectType type;
    xmlNodeSetPtr nodesetval;
    int boolval;
    double floatval;
    xmlChar *stringval;
    void *user;
    int index;
    void *user2;
    int index2;
} xmlXPathObject;
typedef xmlXPathObject *xmlXPathObjectPtr;
typedef int (*xmlXPathConvertFunc) (xmlXPathObjectPtr, int);
typedef struct _xmlXPathType {
    const xmlChar *name;
    xmlXPathConvertFunc func;
} xmlXPathType;
typedef xmlXPathType *xmlXPathTypePtr;
typedef struct _xmlXPathContext {
    xmlDocPtr doc;
    xmlNodePtr node;
    int nb_variables_unused;
    int max_variables_unused;
    xmlHashTablePtr varHash;
    int nb_types;
    int max_types;
    xmlXPathTypePtr types;
    int nb_funcs_unused;
    int max_funcs_unused;
    xmlHashTablePtr funcHash;
    int nb_axis;
    int max_axis;
    xmlXPathAxisPtr axis;
    xmlNsPtr *namespaces;
    int nsNr;
    void *user;
    int contextSize;
    int proximityPosition;
    int xptr;
    xmlNodePtr here;
    xmlNodePtr origin;
    xmlHashTablePtr nsHash;
    xmlXPathVariableLookupFunc varLookupFunc;
    void *varLookupData;
    void *extra;
    const xmlChar *function;
    const xmlChar *functionURI;
    xmlXPathFuncLookupFunc funcLookupFunc;
    void *funcLookupData;
    xmlNsPtr *tmpNsList;
    int tmpNsNr;
    void *userData;
    xmlStructuredErrorFunc error;
    xmlError lastError;
    xmlNodePtr debugNode;
    xmlDictPtr dict;
    int flags;
} xmlXPathContext;
typedef xmlXPathContext *xmlXPathContextPtr;
typedef struct _xmlXPathParserContext {
    const xmlChar *cur;
    const xmlChar *base;
    int error;
    xmlXPathContextPtr context;
    xmlXPathObjectPtr value;
    int valueNr;
    int valueMax;
    xmlXPathObjectPtr *valueTab;
    xmlXPathCompExprPtr comp;
    int xptr;
    xmlNodePtr ancestor;
} xmlXPathParserContext;
typedef xmlXPathParserContext *xmlXPathParserContextPtr;
typedef xmlXPathObjectPtr(*xmlXPathAxisFunc) (xmlXPathParserContextPtr,
					      xmlXPathObjectPtr);
typedef struct _xmlXPathAxis {
    const xmlChar *name;
    xmlXPathAxisFunc func;
} xmlXPathAxis;
typedef xmlXPathAxis *xmlXPathAxisPtr;
typedef xmlXPathObjectPtr(*xmlXPathVariableLookupFunc) (void *,
							const xmlChar *,
							const xmlChar *);
typedef void (*xmlXPathFunction) (xmlXPathParserContextPtr, int);
typedef xmlXPathFunction(*xmlXPathFuncLookupFunc) (void *, const xmlChar *,
						   const xmlChar *);
typedef enum {
    XPATH_EXPRESSION_OK = 0,
    XPATH_NUMBER_ERROR,
    XPATH_UNFINISHED_LITERAL_ERROR,
    XPATH_START_LITERAL_ERROR,
    XPATH_VARIABLE_REF_ERROR,
    XPATH_UNDEF_VARIABLE_ERROR,
    XPATH_INVALID_PREDICATE_ERROR,
    XPATH_EXPR_ERROR,
    XPATH_UNCLOSED_ERROR,
    XPATH_UNKNOWN_FUNC_ERROR,
    XPATH_INVALID_OPERAND,
    XPATH_INVALID_TYPE,
    XPATH_INVALID_ARITY,
    XPATH_INVALID_CTXT_SIZE,
    XPATH_INVALID_CTXT_POSITION,
    XPATH_MEMORY_ERROR,
    XPTR_SYNTAX_ERROR,
    XPTR_RESOURCE_ERROR,
    XPTR_SUB_RESOURCE_ERROR,
    XPATH_UNDEF_PREFIX_ERROR,
    XPATH_ENCODING_ERROR,
    XPATH_INVALID_CHAR_ERROR,
    XPATH_INVALID_CTXT
} xmlXPathError;
typedef void (*xmlXPathEvalFunc) (xmlXPathParserContextPtr, int);
typedef struct _xmlXPathFunct {
    const xmlChar *name;
    xmlXPathEvalFunc func;
} xmlXPathFunct;
typedef struct _xmlXPathVariable {
    const xmlChar *name;
    xmlXPathObjectPtr value;
} xmlXPathVariable;
typedef xmlXPathVariable *xmlXPathVariablePtr;
typedef xmlXPathFunct *xmlXPathFuncPtr;
extern double xmlXPathCastNodeToNumber(xmlNodePtr);
extern long int xmlXPathOrderDocElems(xmlDocPtr);
extern void xmlXPathFreeCompExpr(xmlXPathCompExprPtr);
extern int xmlXPathIsInf(double);
extern xmlXPathContextPtr xmlXPathNewContext(xmlDocPtr);
extern double xmlXPathCastNodeSetToNumber(xmlNodeSetPtr);
extern int xmlXPathCastNumberToBoolean(double);
extern int xmlXPathCmpNodes(xmlNodePtr, xmlNodePtr);
extern xmlChar *xmlXPathCastNodeSetToString(xmlNodeSetPtr);
extern xmlXPathCompExprPtr xmlXPathCtxtCompile(xmlXPathContextPtr,
					       const xmlChar *);
extern xmlXPathCompExprPtr xmlXPathCompile(const xmlChar *);
extern xmlXPathObjectPtr xmlXPathConvertNumber(xmlXPathObjectPtr);
extern int xmlXPathIsNaN(double);
extern xmlChar *xmlXPathCastNodeToString(xmlNodePtr);
extern int xmlXPathCastToBoolean(xmlXPathObjectPtr);
extern double xmlXPathCastStringToNumber(const xmlChar *);
extern xmlXPathObjectPtr xmlXPathCompiledEval(xmlXPathCompExprPtr,
					      xmlXPathContextPtr);
extern void xmlXPathFreeNodeSet(xmlNodeSetPtr);
extern int xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr);
extern xmlChar *xmlXPathCastToString(xmlXPathObjectPtr);
extern xmlChar *xmlXPathCastNumberToString(double);
extern void xmlXPathFreeObject(xmlXPathObjectPtr);
extern double xmlXPathCastToNumber(xmlXPathObjectPtr);
extern xmlXPathObjectPtr xmlXPathConvertBoolean(xmlXPathObjectPtr);
extern xmlXPathObjectPtr xmlXPathEvalExpression(const xmlChar *,
						xmlXPathContextPtr);
extern int xmlXPathEvalPredicate(xmlXPathContextPtr, xmlXPathObjectPtr);
extern int xmlXPathCastStringToBoolean(const xmlChar *);
extern xmlXPathObjectPtr xmlXPathObjectCopy(xmlXPathObjectPtr);
extern xmlNodeSetPtr xmlXPathNodeSetCreate(xmlNodePtr);
extern void xmlXPathFreeContext(xmlXPathContextPtr);
extern void xmlXPathInit(void);
extern xmlXPathObjectPtr xmlXPathConvertString(xmlXPathObjectPtr);
extern xmlChar *xmlXPathCastBooleanToString(int);
extern xmlXPathObjectPtr xmlXPathEval(const xmlChar *, xmlXPathContextPtr);
extern double xmlXPathCastBooleanToNumber(int);
extern void xmlXPathFreeNodeSetList(xmlXPathObjectPtr);
extern double xmlXPathNAN;
extern double xmlXPathNINF;
extern double xmlXPathPINF;

18.2.38. libxml2/libxml/xpathInternals.h


#define xmlXPathStackIsNodeSet(ctxt)	 \
	(((ctxt)->value != NULL) && (((ctxt)->value->type == XPATH_NODESET) \
	|| ((ctxt)->value->type == XPATH_XSLT_TREE)))
#define xmlXPathStackIsExternal(ctxt)	 \
	((ctxt->value != NULL) && (ctxt->value->type == XPATH_USERS))
#define CAST_TO_BOOLEAN	 \
	if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_BOOLEAN)) \
	xmlXPathBooleanFunction(ctxt, 1);
#define CAST_TO_NUMBER	 \
	if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_NUMBER)) \
	xmlXPathNumberFunction(ctxt, 1);
#define CAST_TO_STRING	 \
	if ((ctxt->value != NULL) && (ctxt->value->type != XPATH_STRING)) \
	xmlXPathStringFunction(ctxt, 1);
#define CHECK_TYPE(typeval)	 \
	if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \
	XP_ERROR(XPATH_INVALID_TYPE)
#define CHECK_TYPE0(typeval)	 \
	if ((ctxt->value == NULL) || (ctxt->value->type != typeval)) \
	XP_ERROR0(XPATH_INVALID_TYPE)
#define CHECK_ARITY(x)	 \
	if (ctxt == NULL) return; if (nargs != (x)) \
	XP_ERROR(XPATH_INVALID_ARITY);
#define xmlXPathReturnBoolean(ctxt,val)	 \
	valuePush((ctxt), xmlXPathNewBoolean(val))
#define xmlXPathReturnEmptyString(ctxt)	 \
	valuePush((ctxt), xmlXPathNewCString(""))
#define xmlXPathReturnNumber(ctxt,val)	 \
	valuePush((ctxt), xmlXPathNewFloat(val))
#define xmlXPathReturnEmptyNodeSet(ctxt)	 \
	valuePush((ctxt), xmlXPathNewNodeSet(NULL))
#define xmlXPathReturnExternal(ctxt,val)	 \
	valuePush((ctxt), xmlXPathWrapExternal(val))
#define xmlXPathReturnNodeSet(ctxt,ns)	 \
	valuePush((ctxt), xmlXPathWrapNodeSet(ns))
#define xmlXPathReturnString(ctxt,str)	 \
	valuePush((ctxt), xmlXPathWrapString(str))
#define xmlXPathSetArityError(ctxt)	 \
	xmlXPathSetError((ctxt), XPATH_INVALID_ARITY)
#define xmlXPathSetTypeError(ctxt)	 \
	xmlXPathSetError((ctxt), XPATH_INVALID_TYPE)
#define xmlXPathEmptyNodeSet(ns)	 \
	{ while ((ns)->nodeNr > 0) (ns)->nodeTab[(ns)->nodeNr--] = NULL; }
#define xmlXPathSetError(ctxt,err)	 \
	{ xmlXPatherror((ctxt), __FILE__, __LINE__, (err)); if ((ctxt) != \
	NULL) (ctxt)->error = (err); }
#define xmlXPathGetDocument(ctxt)	((ctxt)->context->doc)
#define xmlXPathGetContextNode(ctxt)	((ctxt)->context->node)
#define xmlXPathCheckError(ctxt)	((ctxt)->error != XPATH_EXPRESSION_OK)
#define xmlXPathGetError(ctxt)	((ctxt)->error)
#define CHECK_ERROR	if (ctxt->error != XPATH_EXPRESSION_OK) return
#define CHECK_ERROR0	if (ctxt->error != XPATH_EXPRESSION_OK) return(0)
#define xmlXPathReturnFalse(ctxt)	xmlXPathReturnBoolean((ctxt), 0)
#define xmlXPathReturnTrue(ctxt)	xmlXPathReturnBoolean((ctxt), 1)
#define XP_ERROR0(X)	{ xmlXPathErr(ctxt, X); return(0); }
#define XP_ERROR(X)	{ xmlXPathErr(ctxt, X); return; }

extern void xmlXPathStartsWithFunction(xmlXPathParserContextPtr, int);
extern const xmlChar *xmlXPathNsLookup(xmlXPathContextPtr,
				       const xmlChar *);
extern xmlNodeSetPtr xmlXPathNodeTrailing(xmlNodeSetPtr, xmlNodePtr);
extern xmlNodeSetPtr xmlXPathNodeLeadingSorted(xmlNodeSetPtr, xmlNodePtr);
extern xmlXPathObjectPtr xmlXPathNewBoolean(int);
extern double xmlXPathStringEvalNumber(const xmlChar *);
extern void xmlXPathNodeSetDel(xmlNodeSetPtr, xmlNodePtr);
extern void xmlXPathBooleanFunction(xmlXPathParserContextPtr, int);
extern xmlXPathObjectPtr xmlXPathNewCString(const char *);
extern void xmlXPathNodeSetAddNs(xmlNodeSetPtr, xmlNodePtr, xmlNsPtr);
extern xmlNodeSetPtr xmlXPathLeading(xmlNodeSetPtr, xmlNodeSetPtr);
extern void xmlXPathSumFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathSubstringAfterFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathNodeSetAdd(xmlNodeSetPtr, xmlNodePtr);
extern void xmlXPathCeilingFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathLastFunction(xmlXPathParserContextPtr, int);
extern xmlNodePtr xmlXPathNextPreceding(xmlXPathParserContextPtr,
					xmlNodePtr);
extern void xmlXPathDebugDumpCompExpr(FILE *, xmlXPathCompExprPtr, int);
extern void xmlXPathFreeParserContext(xmlXPathParserContextPtr);
extern xmlNodeSetPtr xmlXPathNodeLeading(xmlNodeSetPtr, xmlNodePtr);
extern void xmlXPathDivValues(xmlXPathParserContextPtr);
extern xmlNodePtr xmlXPathNextAttribute(xmlXPathParserContextPtr,
					xmlNodePtr);
extern void xmlXPathNodeSetRemove(xmlNodeSetPtr, int);
extern xmlNodeSetPtr xmlXPathDistinct(xmlNodeSetPtr);
extern int xmlXPathEvaluatePredicateResult(xmlXPathParserContextPtr,
					   xmlXPathObjectPtr);
extern xmlXPathObjectPtr xmlXPathNewFloat(double);
extern xmlXPathObjectPtr xmlXPathWrapExternal(void *);
extern xmlNodePtr xmlXPathNextFollowing(xmlXPathParserContextPtr,
					xmlNodePtr);
extern void xmlXPathRegisterFuncLookup(xmlXPathContextPtr,
				       xmlXPathFuncLookupFunc, void *);
extern void xmlXPathFloorFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathNotFunction(xmlXPathParserContextPtr, int);
extern xmlXPathObjectPtr xmlXPathNewNodeSet(xmlNodePtr);
extern xmlXPathObjectPtr xmlXPathVariableLookup(xmlXPathContextPtr,
						const xmlChar *);
extern xmlNodeSetPtr xmlXPathLeadingSorted(xmlNodeSetPtr, xmlNodeSetPtr);
extern void xmlXPathPositionFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathRegisterAllFunctions(xmlXPathContextPtr);
extern void xmlXPathRegisteredFuncsCleanup(xmlXPathContextPtr);
extern xmlNodePtr xmlXPathNextDescendantOrSelf(xmlXPathParserContextPtr,
					       xmlNodePtr);
extern int xmlXPathPopBoolean(xmlXPathParserContextPtr);
extern xmlNodePtr xmlXPathNextParent(xmlXPathParserContextPtr, xmlNodePtr);
extern xmlXPathParserContextPtr xmlXPathNewParserContext(const xmlChar *,
							 xmlXPathContextPtr);
extern void xmlXPathRoundFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathLangFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathStringLengthFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathLocalNameFunction(xmlXPathParserContextPtr, int);
extern int xmlXPathIsNodeType(const xmlChar *);
extern int valuePush(xmlXPathParserContextPtr, xmlXPathObjectPtr);
extern void xmlXPathNodeSetAddUnique(xmlNodeSetPtr, xmlNodePtr);
extern void xmlXPathModValues(xmlXPathParserContextPtr);
extern int xmlXPathRegisterVariable(xmlXPathContextPtr, const xmlChar *,
				    xmlXPathObjectPtr);
extern xmlXPathObjectPtr valuePop(xmlXPathParserContextPtr);
extern void xmlXPathNodeSetSort(xmlNodeSetPtr);
extern xmlNodeSetPtr xmlXPathNodeSetMerge(xmlNodeSetPtr, xmlNodeSetPtr);
extern void xmlXPathNormalizeFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathRoot(xmlXPathParserContextPtr);
extern void xmlXPathNodeSetFreeNs(xmlNsPtr);
extern void xmlXPathAddValues(xmlXPathParserContextPtr);
extern void xmlXPathIdFunction(xmlXPathParserContextPtr, int);
extern int xmlXPathRegisterVariableNS(xmlXPathContextPtr, const xmlChar *,
				      const xmlChar *, xmlXPathObjectPtr);
extern void xmlXPathContainsFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathStringFunction(xmlXPathParserContextPtr, int);
extern xmlNodePtr xmlXPathNextDescendant(xmlXPathParserContextPtr,
					 xmlNodePtr);
extern xmlNodePtr xmlXPathNextAncestor(xmlXPathParserContextPtr,
				       xmlNodePtr);
extern xmlXPathObjectPtr xmlXPathWrapNodeSet(xmlNodeSetPtr);
extern xmlXPathObjectPtr xmlXPathNewNodeSetList(xmlNodeSetPtr);
extern void xmlXPathTranslateFunction(xmlXPathParserContextPtr, int);
extern xmlNodeSetPtr xmlXPathPopNodeSet(xmlXPathParserContextPtr);
extern xmlNodePtr xmlXPathNextAncestorOrSelf(xmlXPathParserContextPtr,
					     xmlNodePtr);
extern xmlNodeSetPtr xmlXPathTrailing(xmlNodeSetPtr, xmlNodeSetPtr);
extern void xmlXPathEvalExpr(xmlXPathParserContextPtr);
extern void xmlXPathSubValues(xmlXPathParserContextPtr);
extern xmlNodePtr xmlXPathNextPrecedingSibling(xmlXPathParserContextPtr,
					       xmlNodePtr);
extern xmlXPathObjectPtr xmlXPathNewString(const xmlChar *);
extern xmlNodeSetPtr xmlXPathDistinctSorted(xmlNodeSetPtr);
extern int xmlXPathNotEqualValues(xmlXPathParserContextPtr);
extern xmlNodePtr xmlXPathNextChild(xmlXPathParserContextPtr, xmlNodePtr);
extern void xmlXPathRegisterVariableLookup(xmlXPathContextPtr,
					   xmlXPathVariableLookupFunc,
					   void *);
extern xmlChar *xmlXPathParseNCName(xmlXPathParserContextPtr);
extern xmlChar *xmlXPathParseName(xmlXPathParserContextPtr);
extern xmlNodePtr xmlXPathNextNamespace(xmlXPathParserContextPtr,
					xmlNodePtr);
extern xmlNodeSetPtr xmlXPathDifference(xmlNodeSetPtr, xmlNodeSetPtr);
extern xmlNodePtr xmlXPathNextSelf(xmlXPathParserContextPtr, xmlNodePtr);
extern void xmlXPathRegisteredNsCleanup(xmlXPathContextPtr);
extern xmlXPathObjectPtr xmlXPathNewValueTree(xmlNodePtr);
extern void xmlXPathSubstringBeforeFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathTrueFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathFalseFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathCountFunction(xmlXPathParserContextPtr, int);
extern void xmlXPathErr(xmlXPathParserContextPtr, int);
extern xmlNodeSetPtr xmlXPathIntersection(xmlNodeSetPtr, xmlNodeSetPtr);
extern void xmlXPathDebugDumpObject(FILE *, xmlXPathObjectPtr, int);
extern xmlXPathObjectPtr xmlXPathVariableLookupNS(xmlXPathContextPtr,
						  const xmlChar *,
						  const xmlChar *);
extern int xmlXPathRegisterFunc(xmlXPathContextPtr, const xmlChar *,
				xmlXPathFunction);
extern void xmlXPathValueFlipSign(xmlXPathParserContextPtr);
extern xmlNodePtr xmlXPathNextFollowingSibling(xmlXPathParserContextPtr,
					       xmlNodePtr);
extern xmlNodeSetPtr xmlXPathNodeTrailingSorted(xmlNodeSetPtr, xmlNodePtr);
extern void xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr);
extern double xmlXPathPopNumber(xmlXPathParserContextPtr);
extern void xmlXPathSubstringFunction(xmlXPathParserContextPtr, int);
extern int xmlXPathEqualValues(xmlXPathParserContextPtr);
extern void xmlXPathNamespaceURIFunction(xmlXPathParserContextPtr, int);
extern xmlNodeSetPtr xmlXPathTrailingSorted(xmlNodeSetPtr, xmlNodeSetPtr);
extern int xmlXPathHasSameNodes(xmlNodeSetPtr, xmlNodeSetPtr);
extern xmlXPathObjectPtr xmlXPathWrapCString(char *);
extern xmlChar *xmlXPathPopString(xmlXPathParserContextPtr);
extern int xmlXPathCompareValues(xmlXPathParserContextPtr, int, int);
extern int xmlXPathRegisterFuncNS(xmlXPathContextPtr, const xmlChar *,
				  const xmlChar *, xmlXPathFunction);
extern void xmlXPathNumberFunction(xmlXPathParserContextPtr, int);
extern void *xmlXPathPopExternal(xmlXPathParserContextPtr);
extern xmlXPathFunction xmlXPathFunctionLookupNS(xmlXPathContextPtr,
						 const xmlChar *,
						 const xmlChar *);
extern void xmlXPathConcatFunction(xmlXPathParserContextPtr, int);
extern int xmlXPathNodeSetContains(xmlNodeSetPtr, xmlNodePtr);
extern xmlXPathFunction xmlXPathFunctionLookup(xmlXPathContextPtr,
					       const xmlChar *);
extern xmlXPathObjectPtr xmlXPathWrapString(xmlChar *);
extern void xmlXPatherror(xmlXPathParserContextPtr, const char *, int,
			  int);
extern void xmlXPathMultValues(xmlXPathParserContextPtr);
extern int xmlXPathRegisterNs(xmlXPathContextPtr, const xmlChar *,
			      const xmlChar *);

18.2.39. libxml2/libxml/xpointer.h


typedef struct _xmlLocationSet {
    int locNr;
    int locMax;
    xmlXPathObjectPtr *locTab;
} xmlLocationSet;
typedef xmlLocationSet *xmlLocationSetPtr;
extern xmlLocationSetPtr xmlXPtrLocationSetCreate(xmlXPathObjectPtr);
extern xmlXPathObjectPtr xmlXPtrNewRange(xmlNodePtr, int, xmlNodePtr, int);
extern xmlXPathObjectPtr xmlXPtrNewRangeNodeObject(xmlNodePtr,
						   xmlXPathObjectPtr);
extern xmlXPathObjectPtr xmlXPtrEval(const xmlChar *, xmlXPathContextPtr);
extern void xmlXPtrEvalRangePredicate(xmlXPathParserContextPtr);
extern xmlXPathContextPtr xmlXPtrNewContext(xmlDocPtr, xmlNodePtr,
					    xmlNodePtr);
extern xmlXPathObjectPtr xmlXPtrNewRangePoints(xmlXPathObjectPtr,
					       xmlXPathObjectPtr);
extern void xmlXPtrRangeToFunction(xmlXPathParserContextPtr, int);
extern xmlXPathObjectPtr xmlXPtrNewRangeNodePoint(xmlNodePtr,
						  xmlXPathObjectPtr);
extern xmlLocationSetPtr xmlXPtrLocationSetMerge(xmlLocationSetPtr,
						 xmlLocationSetPtr);
extern xmlXPathObjectPtr xmlXPtrNewRangeNodes(xmlNodePtr, xmlNodePtr);
extern xmlNodePtr xmlXPtrBuildNodeList(xmlXPathObjectPtr);
extern xmlXPathObjectPtr xmlXPtrWrapLocationSet(xmlLocationSetPtr);
extern xmlXPathObjectPtr xmlXPtrNewLocationSetNodes(xmlNodePtr,
						    xmlNodePtr);
extern xmlXPathObjectPtr xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr);
extern void xmlXPtrLocationSetDel(xmlLocationSetPtr, xmlXPathObjectPtr);
extern void xmlXPtrLocationSetRemove(xmlLocationSetPtr, int);
extern xmlXPathObjectPtr xmlXPtrNewCollapsedRange(xmlNodePtr);
extern xmlXPathObjectPtr xmlXPtrNewRangePointNode(xmlXPathObjectPtr,
						  xmlNodePtr);
extern void xmlXPtrLocationSetAdd(xmlLocationSetPtr, xmlXPathObjectPtr);
extern void xmlXPtrFreeLocationSet(xmlLocationSetPtr);