From 7b1a4b6f16c5b2b6e328881ee2e101790663f7f6 Mon Sep 17 00:00:00 2001
From: "Fred L. Drake, Jr."
The bulk of this document was originally commissioned as an article by -XML.com. They graciously allowed -Clark Cooper to retain copyright and to distribute it with Expat.
+The bulk of this document was originally commissioned as an article +by XML.com. They graciously allowed +Clark Cooper to retain copyright and to distribute it with Expat. +This version has been substantially extended to include documentation +on features which have been added since the original article was +published, and additional information on using the original +interface.
XML_Char
. This is implied if
-XML_UNICODE_WCHAR_T
is defined.
+XML_UNICODE_WCHAR_T
is defined.XML_Char
character type to be
@@ -700,7 +704,7 @@ entity reference handler as described above.
-XML_Parser +XML_Parser XMLCALL XML_ParserCreate(const XML_Char *encoding);
-XML_Parser +XML_Parser XMLCALL XML_ParserCreateNS(const XML_Char *encoding, XML_Char sep);@@ -729,7 +733,7 @@ means that you should pick a character for sep that can't be part of a legal URI.
-XML_Parser +XML_Parser XMLCALL XML_ParserCreate_MM(const XML_Char *encoding, const XML_Memory_Handling_Suite *ms, const XML_Char *sep); @@ -751,7 +755,7 @@ the namespace URI and the local part of the name.-XML_Parser +XML_Parser XMLCALL XML_ExternalEntityParserCreate(XML_Parser p, const XML_Char *context, const XML_Char *encoding); @@ -767,7 +771,7 @@ differently than the parent parser).-void +void XMLCALL XML_ParserFree(XML_Parser p);@@ -776,7 +780,7 @@ freeing any memory associated with user data.-XML_Bool +XML_Bool XMLCALL XML_ParserReset(XML_Parser p, const XML_Char *encoding);@@ -805,7 +809,7 @@ created byXML_ExternalEntityParserCreate
.-enum XML_Status +enum XML_Status XMLCALL XML_Parse(XML_Parser p, const char *s, int len, @@ -832,7 +836,7 @@ Otherwise it returnsXML_STATUS_OK
value.-enum XML_Status +enum XML_Status XMLCALL XML_ParseBuffer(XML_Parser p, int len, int isFinal); @@ -846,7 +850,7 @@ copying of the input.-void * +void * XMLCALL XML_GetBuffer(XML_Parser p, int len);@@ -901,6 +905,7 @@ document.+void XMLCALL XML_SetStartElementHandler(XML_Parser p, XML_StartElementHandler start);@@ -921,6 +926,7 @@ by a null pointer.+void XMLCALL XML_SetEndElementHandler(XML_Parser p, XML_EndElementHandler);@@ -935,6 +941,7 @@ generates a call to both start and end handlers.+void XMLCALL XML_SetElementHandler(XML_Parser p, XML_StartElementHandler start, XML_EndElementHandler end); @@ -944,6 +951,7 @@ XML_SetElementHandler(XML_Parser p,+void XMLCALL XML_SetCharacterDataHandler(XML_Parser p, XML_CharacterDataHandler charhndl)@@ -963,6 +971,7 @@ be split across calls to this handler.+void XMLCALL XML_SetProcessingInstructionHandler(XML_Parser p, XML_ProcessingInstructionHandler proc)@@ -980,6 +989,7 @@ it after skipping all whitespace after the initial word.+void XMLCALL XML_SetCommentHandler(XML_Parser p, XML_CommentHandler cmnt)@@ -994,6 +1004,7 @@ delimiters.+void XMLCALL XML_SetStartCdataSectionHandler(XML_Parser p, XML_StartCdataSectionHandler start);@@ -1006,6 +1017,7 @@ typedef void+void XMLCALL XML_SetEndCdataSectionHandler(XML_Parser p, XML_EndCdataSectionHandler end);@@ -1018,6 +1030,7 @@ typedef void+void XMLCALL XML_SetCdataSectionHandler(XML_Parser p, XML_StartCdataSectionHandler start, XML_EndCdataSectionHandler end) @@ -1027,6 +1040,7 @@ XML_SetCdataSectionHandler(XML_Parser p,+void XMLCALL XML_SetDefaultHandler(XML_Parser p, XML_DefaultHandler hndl)@@ -1057,6 +1071,7 @@ href="#XML_DefaultCurrent">XML_DefaultCurrent.+void XMLCALL XML_SetDefaultHandlerExpand(XML_Parser p, XML_DefaultHandler hndl)@@ -1076,6 +1091,7 @@ href="#XML_DefaultCurrent">XML_DefaultCurrent.+void XMLCALL XML_SetExternalEntityRefHandler(XML_Parser p, XML_ExternalEntityRefHandler hndl)@@ -1128,6 +1144,7 @@ information into global or static variables.+void XMLCALL XML_SetExternalEntityRefHandlerArg(XML_Parser p, void *arg)@@ -1153,6 +1170,7 @@ properly.+void XMLCALL XML_SetSkippedEntityHandler(XML_Parser p, XML_SkippedEntityHandler handler)@@ -1179,6 +1197,7 @@ sync with the reporting of the declarations or attribute values+void XMLCALL XML_SetUnknownEncodingHandler(XML_Parser p, XML_UnknownEncodingHandler enchandler, void *encodingHandlerData) @@ -1227,6 +1246,7 @@ parser when it is finished with the encoding. It may be NULL.+void XMLCALL XML_SetStartNamespaceDeclHandler(XML_Parser p, XML_StartNamespaceDeclHandler start);@@ -1244,6 +1264,7 @@ in that start tag.+void XMLCALL XML_SetEndNamespaceDeclHandler(XML_Parser p, XML_EndNamespaceDeclHandler end);@@ -1260,6 +1281,7 @@ namespace was declared.+void XMLCALL XML_SetNamespaceDeclHandler(XML_Parser p, XML_StartNamespaceDeclHandler start, XML_EndNamespaceDeclHandler end) @@ -1269,6 +1291,7 @@ XML_SetNamespaceDeclHandler(XML_Parser p,+void XMLCALL XML_SetXmlDeclHandler(XML_Parser p, XML_XmlDeclHandler xmldecl);@@ -1291,6 +1314,7 @@ that it was given as yes.+void XMLCALL XML_SetStartDoctypeDeclHandler(XML_Parser p, XML_StartDoctypeDeclHandler start);@@ -1310,6 +1334,7 @@ will be non-zero if the DOCTYPE declaration has an internal subset.+void XMLCALL XML_SetEndDoctypeDeclHandler(XML_Parser p, XML_EndDoctypeDeclHandler end);@@ -1323,6 +1348,7 @@ after parsing any external subset.+void XMLCALL XML_SetDoctypeDeclHandler(XML_Parser p, XML_StartDoctypeDeclHandler start, XML_EndDoctypeDeclHandler end); @@ -1332,6 +1358,7 @@ XML_SetDoctypeDeclHandler(XML_Parser p,+void XMLCALL XML_SetElementDeclHandler(XML_Parser p, XML_ElementDeclHandler eldecl);@@ -1403,6 +1430,7 @@ or sequence andchildren
points to the nodes.+void XMLCALL XML_SetAttlistDeclHandler(XML_Parser p, XML_AttlistDeclHandler attdecl);@@ -1435,6 +1463,7 @@ in thedflt
parameter.+void XMLCALL XML_SetEntityDeclHandler(XML_Parser p, XML_EntityDeclHandler handler);@@ -1468,6 +1497,7 @@ declarations.+void XMLCALL XML_SetUnparsedEntityDeclHandler(XML_Parser p, XML_UnparsedEntityDeclHandler h)@@ -1493,6 +1523,7 @@ compatibility. Use instead+void XMLCALL XML_SetNotationDeclHandler(XML_Parser p, XML_NotationDeclHandler h)@@ -1509,6 +1540,7 @@ typedef void+void XMLCALL XML_SetNotStandaloneHandler(XML_Parser p, XML_NotStandaloneHandler h)@@ -1543,7 +1575,7 @@ DTD. In other words, they usually return bogus information when called from within a DTD declaration handler.-enum XML_Error +enum XML_Error XMLCALL XML_GetErrorCode(XML_Parser p);@@ -1551,7 +1583,7 @@ Return what type of error has occurred.-const XML_LChar * +const XML_LChar * XMLCALL XML_ErrorString(enum XML_Error code);@@ -1561,7 +1593,7 @@ The code should be one of the enums that can be returned from-long +long XMLCALL XML_GetCurrentByteIndex(XML_Parser p);-void * +void * XMLCALL XML_GetUserData(XML_Parser p);@@ -1654,7 +1686,7 @@ It is actually implemented as a macro.-void +void XMLCALL XML_UseParserAsHandlerArg(XML_Parser p);@@ -1665,7 +1697,7 @@ using the
-enum XML_Status +enum XML_Status XMLCALL XML_SetBase(XML_Parser p, const XML_Char *base);@@ -1677,7 +1709,7 @@ there's no memory to store base, otherwise it's-const XML_Char * +const XML_Char * XMLCALL XML_GetBase(XML_Parser p);@@ -1685,7 +1717,7 @@ Return the base for resolving relative URIs.-int +int XMLCALL XML_GetSpecifiedAttributeCount(XML_Parser p);@@ -1701,7 +1733,7 @@ means the current call.-int +int XMLCALL XML_GetIdAttributeIndex(XML_Parser p);@@ -1713,7 +1745,7 @@ current call.-enum XML_Status +enum XML_Status XMLCALL XML_SetEncoding(XML_Parser p, const XML_Char *encoding);@@ -1728,7 +1760,7 @@ ReturnsXML_STATUS_OK
on success or-int +int XMLCALL XML_SetParamEntityParsing(XML_Parser p, enum XML_ParamEntityParsing code);@@ -1745,7 +1777,7 @@ The choices forcode
are:-enum XML_Error +enum XML_Error XMLCALL XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);@@ -1777,7 +1809,7 @@ returnsXML_ERROR_NONE
.-void +void XMLCALL XML_SetReturnNSTriplet(XML_Parser parser, int do_nst);@@ -1799,7 +1831,7 @@ separator.-void +void XMLCALL XML_DefaultCurrent(XML_Parser parser);@@ -1813,7 +1845,7 @@ not a default handler.-XML_LChar * +XML_LChar * XMLCALL XML_ExpatVersion();@@ -1821,7 +1853,7 @@ Return the library version as a string (e.g."expat_1.95.1"
).-struct XML_Expat_Version +struct XML_Expat_Version XMLCALL XML_ExpatVersionInfo();@@ -1845,7 +1877,7 @@ particular parts of the Expat API are available.-const XML_Feature * +const XML_Feature * XMLCALL XML_GetFeatureList();@@ -1904,7 +1936,7 @@ time, the following features have been defined to have values:-void +void XMLCALL XML_FreeContentModel(XML_Parser parser, XML_Content *model);@@ -1923,7 +1955,7 @@ libraries which use different C standard libraries (this can happen on Windows, at least).-void * +void * XMLCALL XML_MemMalloc(XML_Parser parser, size_t size);