Jabber WindowGram Client (JWGC)

Introduction Screenshots Installation Downloads
Documentation Browse Source Resources Project Site

Stable Version
-none-

Latest Version
beta5



Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

expat.h File Reference

#include <stdlib.h>
#include <string.h>

Go to the source code of this file.

Data Structures

struct  XML_cp
struct  XML_Memory_Handling_Suite
struct  XML_Encoding

Defines

#define XmlParse_INCLUDED   1
#define XMLPARSEAPI
#define XML_GetUserData(parser)   (*(void **)(parser))
#define XML_GetErrorLineNumber   XML_GetCurrentLineNumber
#define XML_GetErrorColumnNumber   XML_GetCurrentColumnNumber
#define XML_GetErrorByteIndex   XML_GetCurrentByteIndex

Typedefs

typedef void * XML_Parser
typedef char XML_Char
typedef char XML_LChar
typedef XML_cp XML_Content
typedef void(* XML_ElementDeclHandler )(void *userData, const XML_Char *name, XML_Content *model)
typedef void(* XML_AttlistDeclHandler )(void *userData, const XML_Char *elname, const XML_Char *attname, const XML_Char *att_type, const XML_Char *dflt, int isrequired)
typedef void(* XML_XmlDeclHandler )(void *userData, const XML_Char *version, const XML_Char *encoding, int standalone)
typedef void(* XML_StartElementHandler )(void *userData, const XML_Char *name, const XML_Char **atts)
typedef void(* XML_EndElementHandler )(void *userData, const XML_Char *name)
typedef void(* XML_CharacterDataHandler )(void *userData, const XML_Char *s, int len)
typedef void(* XML_ProcessingInstructionHandler )(void *userData, const XML_Char *target, const XML_Char *data)
typedef void(* XML_CommentHandler )(void *userData, const XML_Char *data)
typedef void(* XML_StartCdataSectionHandler )(void *userData)
typedef void(* XML_EndCdataSectionHandler )(void *userData)
typedef void(* XML_DefaultHandler )(void *userData, const XML_Char *s, int len)
typedef void(* XML_StartDoctypeDeclHandler )(void *userData, const XML_Char *doctypeName, const XML_Char *sysid, const XML_Char *pubid, int has_internal_subset)
typedef void(* XML_EndDoctypeDeclHandler )(void *userData)
typedef void(* XML_EntityDeclHandler )(void *userData, const XML_Char *entityName, int is_parameter_entity, const XML_Char *value, int value_length, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId, const XML_Char *notationName)
typedef void(* XML_UnparsedEntityDeclHandler )(void *userData, const XML_Char *entityName, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId, const XML_Char *notationName)
typedef void(* XML_NotationDeclHandler )(void *userData, const XML_Char *notationName, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
typedef void(* XML_StartNamespaceDeclHandler )(void *userData, const XML_Char *prefix, const XML_Char *uri)
typedef void(* XML_EndNamespaceDeclHandler )(void *userData, const XML_Char *prefix)
typedef int(* XML_NotStandaloneHandler )(void *userData)
typedef int(* XML_ExternalEntityRefHandler )(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
typedef int(* XML_UnknownEncodingHandler )(void *encodingHandlerData, const XML_Char *name, XML_Encoding *info)

Enumerations

enum  XML_Content_Type {
  XML_CTYPE_EMPTY = 1, XML_CTYPE_ANY, XML_CTYPE_MIXED, XML_CTYPE_NAME,
  XML_CTYPE_CHOICE, XML_CTYPE_SEQ
}
enum  XML_Content_Quant { XML_CQUANT_NONE, XML_CQUANT_OPT, XML_CQUANT_REP, XML_CQUANT_PLUS }
enum  XML_ParamEntityParsing { XML_PARAM_ENTITY_PARSING_NEVER, XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE, XML_PARAM_ENTITY_PARSING_ALWAYS }
enum  XML_Error {
  XML_ERROR_NONE, XML_ERROR_NO_MEMORY, XML_ERROR_SYNTAX, XML_ERROR_NO_ELEMENTS,
  XML_ERROR_INVALID_TOKEN, XML_ERROR_UNCLOSED_TOKEN, XML_ERROR_PARTIAL_CHAR, XML_ERROR_TAG_MISMATCH,
  XML_ERROR_DUPLICATE_ATTRIBUTE, XML_ERROR_JUNK_AFTER_DOC_ELEMENT, XML_ERROR_PARAM_ENTITY_REF, XML_ERROR_UNDEFINED_ENTITY,
  XML_ERROR_RECURSIVE_ENTITY_REF, XML_ERROR_ASYNC_ENTITY, XML_ERROR_BAD_CHAR_REF, XML_ERROR_BINARY_ENTITY_REF,
  XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF, XML_ERROR_MISPLACED_XML_PI, XML_ERROR_UNKNOWN_ENCODING, XML_ERROR_INCORRECT_ENCODING,
  XML_ERROR_UNCLOSED_CDATA_SECTION, XML_ERROR_EXTERNAL_ENTITY_HANDLING, XML_ERROR_NOT_STANDALONE, XML_ERROR_UNEXPECTED_STATE
}

Functions

void XMLPARSEAPI XML_SetElementDeclHandler (XML_Parser parser, XML_ElementDeclHandler eldecl)
void XMLPARSEAPI XML_SetAttlistDeclHandler (XML_Parser parser, XML_AttlistDeclHandler attdecl)
void XMLPARSEAPI XML_SetXmlDeclHandler (XML_Parser parser, XML_XmlDeclHandler xmldecl)
XML_Parser XMLPARSEAPI XML_ParserCreate (const XML_Char *encoding)
XML_Parser XMLPARSEAPI XML_ParserCreateNS (const XML_Char *encoding, XML_Char namespaceSeparator)
XML_Parser XMLPARSEAPI XML_ParserCreate_MM (const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite, const XML_Char *namespaceSeparator)
void XMLPARSEAPI XML_SetEntityDeclHandler (XML_Parser parser, XML_EntityDeclHandler handler)
void XMLPARSEAPI XML_SetElementHandler (XML_Parser parser, XML_StartElementHandler start, XML_EndElementHandler end)
void XMLPARSEAPI XML_SetStartElementHandler (XML_Parser, XML_StartElementHandler)
void XMLPARSEAPI XML_SetEndElementHandler (XML_Parser, XML_EndElementHandler)
void XMLPARSEAPI XML_SetCharacterDataHandler (XML_Parser parser, XML_CharacterDataHandler handler)
void XMLPARSEAPI XML_SetProcessingInstructionHandler (XML_Parser parser, XML_ProcessingInstructionHandler handler)
void XMLPARSEAPI XML_SetCommentHandler (XML_Parser parser, XML_CommentHandler handler)
void XMLPARSEAPI XML_SetCdataSectionHandler (XML_Parser parser, XML_StartCdataSectionHandler start, XML_EndCdataSectionHandler end)
void XMLPARSEAPI XML_SetStartCdataSectionHandler (XML_Parser parser, XML_StartCdataSectionHandler start)
void XMLPARSEAPI XML_SetEndCdataSectionHandler (XML_Parser parser, XML_EndCdataSectionHandler end)
void XMLPARSEAPI XML_SetDefaultHandler (XML_Parser parser, XML_DefaultHandler handler)
void XMLPARSEAPI XML_SetDefaultHandlerExpand (XML_Parser parser, XML_DefaultHandler handler)
void XMLPARSEAPI XML_SetDoctypeDeclHandler (XML_Parser parser, XML_StartDoctypeDeclHandler start, XML_EndDoctypeDeclHandler end)
void XMLPARSEAPI XML_SetStartDoctypeDeclHandler (XML_Parser parser, XML_StartDoctypeDeclHandler start)
void XMLPARSEAPI XML_SetEndDoctypeDeclHandler (XML_Parser parser, XML_EndDoctypeDeclHandler end)
void XMLPARSEAPI XML_SetUnparsedEntityDeclHandler (XML_Parser parser, XML_UnparsedEntityDeclHandler handler)
void XMLPARSEAPI XML_SetNotationDeclHandler (XML_Parser parser, XML_NotationDeclHandler handler)
void XMLPARSEAPI XML_SetNamespaceDeclHandler (XML_Parser parser, XML_StartNamespaceDeclHandler start, XML_EndNamespaceDeclHandler end)
void XMLPARSEAPI XML_SetStartNamespaceDeclHandler (XML_Parser parser, XML_StartNamespaceDeclHandler start)
void XMLPARSEAPI XML_SetEndNamespaceDeclHandler (XML_Parser parser, XML_EndNamespaceDeclHandler end)
void XMLPARSEAPI XML_SetNotStandaloneHandler (XML_Parser parser, XML_NotStandaloneHandler handler)
void XMLPARSEAPI XML_SetExternalEntityRefHandler (XML_Parser parser, XML_ExternalEntityRefHandler handler)
void XMLPARSEAPI XML_SetExternalEntityRefHandlerArg (XML_Parser, void *arg)
void XMLPARSEAPI XML_SetUnknownEncodingHandler (XML_Parser parser, XML_UnknownEncodingHandler handler, void *encodingHandlerData)
void XML_DefaultCurrent (XML_Parser parser)
void XMLPARSEAPI XML_SetReturnNSTriplet (XML_Parser parser, int do_nst)
void XMLPARSEAPI XML_SetUserData (XML_Parser parser, void *userData)
int XMLPARSEAPI XML_SetEncoding (XML_Parser parser, const XML_Char *encoding)
void XMLPARSEAPI XML_UseParserAsHandlerArg (XML_Parser parser)
int XMLPARSEAPI XML_SetBase (XML_Parser parser, const XML_Char *base)
const XML_Char XMLPARSEAPI * XML_GetBase (XML_Parser parser)
int XMLPARSEAPI XML_GetSpecifiedAttributeCount (XML_Parser parser)
int XMLPARSEAPI XML_GetIdAttributeIndex (XML_Parser parser)
int XMLPARSEAPI XML_Parse (XML_Parser parser, const char *s, int len, int isFinal)
void XMLPARSEAPI * XML_GetBuffer (XML_Parser parser, int len)
int XMLPARSEAPI XML_ParseBuffer (XML_Parser parser, int len, int isFinal)
XML_Parser XMLPARSEAPI XML_ExternalEntityParserCreate (XML_Parser parser, const XML_Char *context, const XML_Char *encoding)
int XMLPARSEAPI XML_SetParamEntityParsing (XML_Parser parser, enum XML_ParamEntityParsing parsing)
enum XML_Error XMLPARSEAPI XML_GetErrorCode (XML_Parser parser)
int XMLPARSEAPI XML_GetCurrentLineNumber (XML_Parser parser)
int XMLPARSEAPI XML_GetCurrentColumnNumber (XML_Parser parser)
long XMLPARSEAPI XML_GetCurrentByteIndex (XML_Parser parser)
int XMLPARSEAPI XML_GetCurrentByteCount (XML_Parser parser)
const char XMLPARSEAPI * XML_GetInputContext (XML_Parser parser, int *offset, int *size)
void XMLPARSEAPI XML_ParserFree (XML_Parser parser)
const XML_LChar XMLPARSEAPI * XML_ErrorString (int code)
const XML_LChar XMLPARSEAPI * XML_ExpatVersion ()


Define Documentation

#define XML_GetErrorByteIndex   XML_GetCurrentByteIndex
 

Definition at line 695 of file expat.h.

#define XML_GetErrorColumnNumber   XML_GetCurrentColumnNumber
 

Definition at line 694 of file expat.h.

Referenced by xode_file_borked().

#define XML_GetErrorLineNumber   XML_GetCurrentLineNumber
 

Definition at line 693 of file expat.h.

Referenced by xode_file_borked().

#define XML_GetUserData parser   )     (*(void **)(parser))
 

Definition at line 522 of file expat.h.

#define XmlParse_INCLUDED   1
 

Definition at line 7 of file expat.h.

#define XMLPARSEAPI
 

Definition at line 16 of file expat.h.


Typedef Documentation

typedef void(* XML_AttlistDeclHandler)(void *userData, const XML_Char *elname, const XML_Char *attname, const XML_Char *att_type, const XML_Char *dflt, int isrequired)
 

Definition at line 98 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef char XML_Char
 

Definition at line 27 of file expat.h.

Referenced by XML_ExternalEntityParserCreate(), XML_GetBase(), XML_ParserCreate_MM(), and XML_ParserCreateNS().

typedef void(* XML_CharacterDataHandler)(void *userData, const XML_Char *s, int len)
 

Definition at line 181 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_CommentHandler)(void *userData, const XML_Char *data)
 

Definition at line 191 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef struct XML_cp XML_Content
 

Definition at line 64 of file expat.h.

typedef void(* XML_DefaultHandler)(void *userData, const XML_Char *s, int len)
 

Definition at line 209 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_ElementDeclHandler)(void *userData, const XML_Char *name, XML_Content *model)
 

Definition at line 80 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_EndCdataSectionHandler)(void *userData)
 

Definition at line 194 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_EndDoctypeDeclHandler)(void *userData)
 

Definition at line 225 of file expat.h.

typedef void(* XML_EndElementHandler)(void *userData, const XML_Char *name)
 

Definition at line 176 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_EndNamespaceDeclHandler)(void *userData, const XML_Char *prefix)
 

Definition at line 292 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_EntityDeclHandler)(void *userData, const XML_Char *entityName, int is_parameter_entity, const XML_Char *value, int value_length, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId, const XML_Char *notationName)
 

Definition at line 243 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef int(* XML_ExternalEntityRefHandler)(XML_Parser parser, const XML_Char *context, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
 

Definition at line 327 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef char XML_LChar
 

Definition at line 28 of file expat.h.

Referenced by XML_ErrorString().

typedef void(* XML_NotationDeclHandler)(void *userData, const XML_Char *notationName, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId)
 

Definition at line 276 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef int(* XML_NotStandaloneHandler)(void *userData)
 

Definition at line 301 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void* XML_Parser
 

Definition at line 24 of file expat.h.

Referenced by XML_ExternalEntityParserCreate(), XML_ParserCreate(), XML_ParserCreate_MM(), XML_ParserCreateNS(), xode_file(), xode_file_borked(), xode_from_file(), xode_from_str(), and xode_str().

typedef void(* XML_ProcessingInstructionHandler)(void *userData, const XML_Char *target, const XML_Char *data)
 

Definition at line 186 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_StartCdataSectionHandler)(void *userData)
 

Definition at line 193 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_StartDoctypeDeclHandler)(void *userData, const XML_Char *doctypeName, const XML_Char *sysid, const XML_Char *pubid, int has_internal_subset)
 

Definition at line 216 of file expat.h.

typedef void(* XML_StartElementHandler)(void *userData, const XML_Char *name, const XML_Char **atts)
 

Definition at line 172 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_StartNamespaceDeclHandler)(void *userData, const XML_Char *prefix, const XML_Char *uri)
 

Definition at line 288 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef int(* XML_UnknownEncodingHandler)(void *encodingHandlerData, const XML_Char *name, XML_Encoding *info)
 

Definition at line 392 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_UnparsedEntityDeclHandler)(void *userData, const XML_Char *entityName, const XML_Char *base, const XML_Char *systemId, const XML_Char *publicId, const XML_Char *notationName)
 

Definition at line 265 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().

typedef void(* XML_XmlDeclHandler)(void *userData, const XML_Char *version, const XML_Char *encoding, int standalone)
 

Definition at line 118 of file expat.h.

Referenced by XML_ExternalEntityParserCreate().


Enumeration Type Documentation

enum XML_Content_Quant
 

Enumeration values:
XML_CQUANT_NONE 
XML_CQUANT_OPT 
XML_CQUANT_REP 
XML_CQUANT_PLUS 

Definition at line 39 of file expat.h.

00039                        {
00040   XML_CQUANT_NONE,
00041   XML_CQUANT_OPT,
00042   XML_CQUANT_REP,
00043   XML_CQUANT_PLUS
00044 };

enum XML_Content_Type
 

Enumeration values:
XML_CTYPE_EMPTY 
XML_CTYPE_ANY 
XML_CTYPE_MIXED 
XML_CTYPE_NAME 
XML_CTYPE_CHOICE 
XML_CTYPE_SEQ 

Definition at line 30 of file expat.h.

00030                       {
00031   XML_CTYPE_EMPTY = 1,
00032   XML_CTYPE_ANY,
00033   XML_CTYPE_MIXED,
00034   XML_CTYPE_NAME,
00035   XML_CTYPE_CHOICE,
00036   XML_CTYPE_SEQ
00037 };

enum XML_Error
 

Enumeration values:
XML_ERROR_NONE 
XML_ERROR_NO_MEMORY 
XML_ERROR_SYNTAX 
XML_ERROR_NO_ELEMENTS 
XML_ERROR_INVALID_TOKEN 
XML_ERROR_UNCLOSED_TOKEN 
XML_ERROR_PARTIAL_CHAR 
XML_ERROR_TAG_MISMATCH 
XML_ERROR_DUPLICATE_ATTRIBUTE 
XML_ERROR_JUNK_AFTER_DOC_ELEMENT 
XML_ERROR_PARAM_ENTITY_REF 
XML_ERROR_UNDEFINED_ENTITY 
XML_ERROR_RECURSIVE_ENTITY_REF 
XML_ERROR_ASYNC_ENTITY 
XML_ERROR_BAD_CHAR_REF 
XML_ERROR_BINARY_ENTITY_REF 
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF 
XML_ERROR_MISPLACED_XML_PI 
XML_ERROR_UNKNOWN_ENCODING 
XML_ERROR_INCORRECT_ENCODING 
XML_ERROR_UNCLOSED_CDATA_SECTION 
XML_ERROR_EXTERNAL_ENTITY_HANDLING 
XML_ERROR_NOT_STANDALONE 
XML_ERROR_UNEXPECTED_STATE 

Definition at line 627 of file expat.h.

Referenced by XML_GetErrorCode().

00627                {
00628   XML_ERROR_NONE,
00629   XML_ERROR_NO_MEMORY,
00630   XML_ERROR_SYNTAX,
00631   XML_ERROR_NO_ELEMENTS,
00632   XML_ERROR_INVALID_TOKEN,
00633   XML_ERROR_UNCLOSED_TOKEN,
00634   XML_ERROR_PARTIAL_CHAR,
00635   XML_ERROR_TAG_MISMATCH,
00636   XML_ERROR_DUPLICATE_ATTRIBUTE,
00637   XML_ERROR_JUNK_AFTER_DOC_ELEMENT,
00638   XML_ERROR_PARAM_ENTITY_REF,
00639   XML_ERROR_UNDEFINED_ENTITY,
00640   XML_ERROR_RECURSIVE_ENTITY_REF,
00641   XML_ERROR_ASYNC_ENTITY,
00642   XML_ERROR_BAD_CHAR_REF,
00643   XML_ERROR_BINARY_ENTITY_REF,
00644   XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,
00645   XML_ERROR_MISPLACED_XML_PI,
00646   XML_ERROR_UNKNOWN_ENCODING,
00647   XML_ERROR_INCORRECT_ENCODING,
00648   XML_ERROR_UNCLOSED_CDATA_SECTION,
00649   XML_ERROR_EXTERNAL_ENTITY_HANDLING,
00650   XML_ERROR_NOT_STANDALONE,
00651   XML_ERROR_UNEXPECTED_STATE
00652 };

enum XML_ParamEntityParsing
 

Enumeration values:
XML_PARAM_ENTITY_PARSING_NEVER 
XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE 
XML_PARAM_ENTITY_PARSING_ALWAYS 

Definition at line 598 of file expat.h.

00598                             {
00599   XML_PARAM_ENTITY_PARSING_NEVER,
00600   XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE,
00601   XML_PARAM_ENTITY_PARSING_ALWAYS
00602 };


Function Documentation

void XML_DefaultCurrent XML_Parser  parser  ) 
 

Definition at line 1276 of file xmlparse.c.

References eventEndPtr, eventPtr, internalEncoding, and openInternalEntities.

01277 {
01278   if (defaultHandler) {
01279     if (openInternalEntities)
01280       reportDefault(parser,
01281                     internalEncoding,
01282                     openInternalEntities->internalEventPtr,
01283                     openInternalEntities->internalEventEndPtr);
01284     else
01285       reportDefault(parser, encoding, eventPtr, eventEndPtr);
01286   }
01287 }

const XML_LChar XMLPARSEAPI* XML_ErrorString int  code  ) 
 

Definition at line 1289 of file xmlparse.c.

References XML_LChar, and XML_T.

Referenced by jab_recv(), jwg_recv(), jwg_servrecv(), xode_file_borked(), xode_from_file(), xode_from_str(), and xode_stream_eat().

01290 {
01291   static const XML_LChar *message[] = {
01292     0,
01293     XML_T("out of memory"),
01294     XML_T("syntax error"),
01295     XML_T("no element found"),
01296     XML_T("not well-formed (invalid token)"),
01297     XML_T("unclosed token"),
01298     XML_T("unclosed token"),
01299     XML_T("mismatched tag"),
01300     XML_T("duplicate attribute"),
01301     XML_T("junk after document element"),
01302     XML_T("illegal parameter entity reference"),
01303     XML_T("undefined entity"),
01304     XML_T("recursive entity reference"),
01305     XML_T("asynchronous entity"),
01306     XML_T("reference to invalid character number"),
01307     XML_T("reference to binary entity"),
01308     XML_T("reference to external entity in attribute"),
01309     XML_T("xml processing instruction not at start of external entity"),
01310     XML_T("unknown encoding"),
01311     XML_T("encoding specified in XML declaration is incorrect"),
01312     XML_T("unclosed CDATA section"),
01313     XML_T("error in processing external entity reference"),
01314     XML_T("document is not standalone"),
01315     XML_T("unexpected parser state - please send a bug report")
01316   };
01317   if (code > 0 && code < sizeof(message)/sizeof(message[0]))
01318     return message[code];
01319   return 0;
01320 }

const XML_LChar XMLPARSEAPI* XML_ExpatVersion  ) 
 

Definition at line 1323 of file xmlparse.c.

01323                    {
01324   return VERSION;
01325 }

XML_Parser XMLPARSEAPI XML_ExternalEntityParserCreate XML_Parser  parser,
const XML_Char context,
const XML_Char encoding
 

Definition at line 697 of file xmlparse.c.

References attlistDeclHandler, characterDataHandler, commentHandler, declElementType, defaultExpandInternalEntities, defaultHandler, dtd, elementDeclHandler, endCdataSectionHandler, endElementHandler, endNamespaceDeclHandler, entityDeclHandler, externalEntityRefHandler, externalEntityRefHandlerArg, hadExternalDoctype, handlerArg, notationDeclHandler, notStandaloneHandler, ns_triplets, NULL, processingInstructionHandler, processor, prologState, startCdataSectionHandler, startElementHandler, startNamespaceDeclHandler, unknownEncodingHandler, unparsedEntityDeclHandler, userData, XML_AttlistDeclHandler, XML_Char, XML_CharacterDataHandler, XML_CommentHandler, XML_DefaultHandler, XML_ElementDeclHandler, XML_EndCdataSectionHandler, XML_EndElementHandler, XML_EndNamespaceDeclHandler, XML_EntityDeclHandler, XML_ExternalEntityRefHandler, XML_NotationDeclHandler, XML_NotStandaloneHandler, XML_Parser, XML_ParserCreate_MM(), XML_ParserFree(), XML_ProcessingInstructionHandler, XML_StartCdataSectionHandler, XML_StartElementHandler, XML_StartNamespaceDeclHandler, XML_UnknownEncodingHandler, XML_UnparsedEntityDeclHandler, XML_XmlDeclHandler, and xmlDeclHandler.

00700 {
00701   XML_Parser parser = oldParser;
00702   DTD *oldDtd = &dtd;
00703   XML_StartElementHandler oldStartElementHandler = startElementHandler;
00704   XML_EndElementHandler oldEndElementHandler = endElementHandler;
00705   XML_CharacterDataHandler oldCharacterDataHandler = characterDataHandler;
00706   XML_ProcessingInstructionHandler oldProcessingInstructionHandler = processingInstructionHandler;
00707   XML_CommentHandler oldCommentHandler = commentHandler;
00708   XML_StartCdataSectionHandler oldStartCdataSectionHandler = startCdataSectionHandler;
00709   XML_EndCdataSectionHandler oldEndCdataSectionHandler = endCdataSectionHandler;
00710   XML_DefaultHandler oldDefaultHandler = defaultHandler;
00711   XML_UnparsedEntityDeclHandler oldUnparsedEntityDeclHandler = unparsedEntityDeclHandler;
00712   XML_NotationDeclHandler oldNotationDeclHandler = notationDeclHandler;
00713   XML_StartNamespaceDeclHandler oldStartNamespaceDeclHandler = startNamespaceDeclHandler;
00714   XML_EndNamespaceDeclHandler oldEndNamespaceDeclHandler = endNamespaceDeclHandler;
00715   XML_NotStandaloneHandler oldNotStandaloneHandler = notStandaloneHandler;
00716   XML_ExternalEntityRefHandler oldExternalEntityRefHandler = externalEntityRefHandler;
00717   XML_UnknownEncodingHandler oldUnknownEncodingHandler = unknownEncodingHandler;
00718   XML_ElementDeclHandler oldElementDeclHandler = elementDeclHandler;
00719   XML_AttlistDeclHandler oldAttlistDeclHandler = attlistDeclHandler;
00720   XML_EntityDeclHandler oldEntityDeclHandler = entityDeclHandler;
00721   XML_XmlDeclHandler oldXmlDeclHandler = xmlDeclHandler;
00722   ELEMENT_TYPE * oldDeclElementType = declElementType;
00723 
00724   void *oldUserData = userData;
00725   void *oldHandlerArg = handlerArg;
00726   int oldDefaultExpandInternalEntities = defaultExpandInternalEntities;
00727   void *oldExternalEntityRefHandlerArg = externalEntityRefHandlerArg;
00728 #ifdef XML_DTD
00729   int oldParamEntityParsing = paramEntityParsing;
00730 #endif
00731   int oldns_triplets = ns_triplets;
00732 
00733   if (ns) {
00734     XML_Char tmp[2];
00735 
00736     *tmp = namespaceSeparator;
00737     parser = XML_ParserCreate_MM(encodingName, &((Parser *)parser)->m_mem,
00738                                  tmp);
00739   }
00740   else {
00741     parser = XML_ParserCreate_MM(encodingName, &((Parser *)parser)->m_mem,
00742                                  NULL);
00743   }
00744 
00745   if (!parser)
00746     return 0;
00747 
00748   startElementHandler = oldStartElementHandler;
00749   endElementHandler = oldEndElementHandler;
00750   characterDataHandler = oldCharacterDataHandler;
00751   processingInstructionHandler = oldProcessingInstructionHandler;
00752   commentHandler = oldCommentHandler;
00753   startCdataSectionHandler = oldStartCdataSectionHandler;
00754   endCdataSectionHandler = oldEndCdataSectionHandler;
00755   defaultHandler = oldDefaultHandler;
00756   unparsedEntityDeclHandler = oldUnparsedEntityDeclHandler;
00757   notationDeclHandler = oldNotationDeclHandler;
00758   startNamespaceDeclHandler = oldStartNamespaceDeclHandler;
00759   endNamespaceDeclHandler = oldEndNamespaceDeclHandler;
00760   notStandaloneHandler = oldNotStandaloneHandler;
00761   externalEntityRefHandler = oldExternalEntityRefHandler;
00762   unknownEncodingHandler = oldUnknownEncodingHandler;
00763   elementDeclHandler = oldElementDeclHandler;
00764   attlistDeclHandler = oldAttlistDeclHandler;
00765   entityDeclHandler = oldEntityDeclHandler;
00766   xmlDeclHandler = oldXmlDeclHandler;
00767   declElementType = oldDeclElementType;
00768   userData = oldUserData;
00769   if (oldUserData == oldHandlerArg)
00770     handlerArg = userData;
00771   else
00772     handlerArg = parser;
00773   if (oldExternalEntityRefHandlerArg != oldParser)
00774     externalEntityRefHandlerArg = oldExternalEntityRefHandlerArg;
00775   defaultExpandInternalEntities = oldDefaultExpandInternalEntities;
00776   ns_triplets = oldns_triplets;
00777 #ifdef XML_DTD
00778   paramEntityParsing = oldParamEntityParsing;
00779   if (context) {
00780 #endif /* XML_DTD */
00781     if (!dtdCopy(&dtd, oldDtd, parser) || !setContext(parser, context)) {
00782       XML_ParserFree(parser);
00783       return 0;
00784     }
00785     processor = externalEntityInitProcessor;
00786 #ifdef XML_DTD
00787   }
00788   else {
00789     dtdSwap(&dtd, oldDtd);
00790     parentParser = oldParser;
00791     XmlPrologStateInitExternalEntity(&prologState);
00792     dtd.complete = 1;
00793     hadExternalDoctype = 1;
00794   }
00795 #endif /* XML_DTD */
00796   return parser;
00797 }

const XML_Char XMLPARSEAPI* XML_GetBase XML_Parser  parser  ) 
 

Definition at line 884 of file xmlparse.c.

References XML_Char.

00885 {
00886   return curBase;
00887 }

void XMLPARSEAPI* XML_GetBuffer XML_Parser  parser,
int  len
 

Definition at line 1159 of file xmlparse.c.

References buffer, bufferEnd, bufferLim, bufferPtr, errorCode, FREE, and MALLOC.

Referenced by XML_Parse().

01160 {
01161   if (len > bufferLim - bufferEnd) {
01162     /* FIXME avoid integer overflow */
01163     int neededSize = len + (bufferEnd - bufferPtr);
01164 #ifdef XML_CONTEXT_BYTES
01165     int keep = bufferPtr - buffer;
01166 
01167     if (keep > XML_CONTEXT_BYTES)
01168       keep = XML_CONTEXT_BYTES;
01169     neededSize += keep;
01170 #endif  /* defined XML_CONTEXT_BYTES */
01171     if (neededSize  <= bufferLim - buffer) {
01172 #ifdef XML_CONTEXT_BYTES
01173       if (keep < bufferPtr - buffer) {
01174         int offset = (bufferPtr - buffer) - keep;
01175         memmove(buffer, &buffer[offset], bufferEnd - bufferPtr + keep);
01176         bufferEnd -= offset;
01177         bufferPtr -= offset;
01178       }
01179 #else
01180       memmove(buffer, bufferPtr, bufferEnd - bufferPtr);
01181       bufferEnd = buffer + (bufferEnd - bufferPtr);
01182       bufferPtr = buffer;
01183 #endif  /* not defined XML_CONTEXT_BYTES */
01184     }
01185     else {
01186       char *newBuf;
01187       int bufferSize = bufferLim - bufferPtr;
01188       if (bufferSize == 0)
01189         bufferSize = INIT_BUFFER_SIZE;
01190       do {
01191         bufferSize *= 2;
01192       } while (bufferSize < neededSize);
01193       newBuf = MALLOC(bufferSize);
01194       if (newBuf == 0) {
01195         errorCode = XML_ERROR_NO_MEMORY;
01196         return 0;
01197       }
01198       bufferLim = newBuf + bufferSize;
01199 #ifdef XML_CONTEXT_BYTES
01200       if (bufferPtr) {
01201         int keep = bufferPtr - buffer;
01202         if (keep > XML_CONTEXT_BYTES)
01203           keep = XML_CONTEXT_BYTES;
01204         memcpy(newBuf, &bufferPtr[-keep], bufferEnd - bufferPtr + keep);
01205         FREE(buffer);
01206         buffer = newBuf;
01207         bufferEnd = buffer + (bufferEnd - bufferPtr) + keep;
01208         bufferPtr = buffer + keep;
01209       }
01210       else {
01211         bufferEnd = newBuf + (bufferEnd - bufferPtr);
01212         bufferPtr = buffer = newBuf;
01213       }
01214 #else
01215       if (bufferPtr) {
01216         memcpy(newBuf, bufferPtr, bufferEnd - bufferPtr);
01217         FREE(buffer);
01218       }
01219       bufferEnd = newBuf + (bufferEnd - bufferPtr);
01220       bufferPtr = buffer = newBuf;
01221 #endif  /* not defined XML_CONTEXT_BYTES */
01222     }
01223   }
01224   return bufferEnd;
01225 }

int XMLPARSEAPI XML_GetCurrentByteCount XML_Parser  parser  ) 
 

Definition at line 1239 of file xmlparse.c.

References eventEndPtr.

01240 {
01241   if (eventEndPtr && eventPtr)
01242     return eventEndPtr - eventPtr;
01243   return 0;
01244 }

long XMLPARSEAPI XML_GetCurrentByteIndex XML_Parser  parser  ) 
 

Definition at line 1232 of file xmlparse.c.

References parseEndByteIndex, and parseEndPtr.

Referenced by jab_recv(), jwg_recv(), and jwg_servrecv().

01233 {
01234   if (eventPtr)
01235     return parseEndByteIndex - (parseEndPtr - eventPtr);
01236   return -1;
01237 }

int XMLPARSEAPI XML_GetCurrentColumnNumber XML_Parser  parser  ) 
 

Definition at line 1267 of file xmlparse.c.

References eventPtr, positionPtr, and XmlUpdatePosition.

Referenced by jab_recv(), jwg_recv(), and jwg_servrecv().

01268 {
01269   if (eventPtr) {
01270     XmlUpdatePosition(encoding, positionPtr, eventPtr, &position);
01271     positionPtr = eventPtr;
01272   }
01273   return position.columnNumber;
01274 }

int XMLPARSEAPI XML_GetCurrentLineNumber XML_Parser  parser  ) 
 

Definition at line 1258 of file xmlparse.c.

References eventPtr, positionPtr, and XmlUpdatePosition.

Referenced by jab_recv(), jwg_recv(), and jwg_servrecv().

01259 {
01260   if (eventPtr) {
01261     XmlUpdatePosition(encoding, positionPtr, eventPtr, &position);
01262     positionPtr = eventPtr;
01263   }
01264   return position.lineNumber + 1;
01265 }

enum XML_Error XMLPARSEAPI XML_GetErrorCode XML_Parser  parser  ) 
 

Definition at line 1227 of file xmlparse.c.

References XML_Error.

Referenced by jab_recv(), jwg_recv(), jwg_servrecv(), xode_file_borked(), xode_from_file(), xode_from_str(), and xode_stream_eat().

01228 {
01229   return errorCode;
01230 }

int XMLPARSEAPI XML_GetIdAttributeIndex XML_Parser  parser  ) 
 

Definition at line 894 of file xmlparse.c.

00895 {
00896   return idAttIndex;
00897 }

const char XMLPARSEAPI* XML_GetInputContext XML_Parser  parser,
int *  offset,
int *  size
 

Definition at line 1246 of file xmlparse.c.

References bufferEnd, and eventPtr.

01247 {
01248 #ifdef XML_CONTEXT_BYTES
01249   if (eventPtr && buffer) {
01250     *offset = eventPtr - buffer;
01251     *size   = bufferEnd - buffer;
01252     return buffer;
01253   }
01254 #endif /* defined XML_CONTEXT_BYTES */
01255   return (char *) 0;
01256 }

int XMLPARSEAPI XML_GetSpecifiedAttributeCount XML_Parser  parser  ) 
 

Definition at line 889 of file xmlparse.c.

00890 {
00891   return nSpecifiedAtts;
00892 }

int XMLPARSEAPI XML_Parse XML_Parser  parser,
const char *  s,
int  len,
int  isFinal
 

Definition at line 1078 of file xmlparse.c.

References buffer, bufferEnd, bufferLim, bufferPtr, errorCode, eventEndPtr, eventPtr, MALLOC, parseEndByteIndex, parseEndPtr, positionPtr, processor, REALLOC, XML_GetBuffer(), XML_ParseBuffer(), and XmlUpdatePosition.

Referenced by jab_recv(), jwg_recv(), jwg_servrecv(), xode_file(), xode_file_borked(), xode_from_file(), xode_from_str(), xode_str(), and xode_stream_eat().

01079 {
01080   if (len == 0) {
01081     if (!isFinal)
01082       return 1;
01083     positionPtr = bufferPtr;
01084     errorCode = processor(parser, bufferPtr, parseEndPtr = bufferEnd, 0);
01085     if (errorCode == XML_ERROR_NONE)
01086       return 1;
01087     eventEndPtr = eventPtr;
01088     processor = errorProcessor;
01089     return 0;
01090   }
01091 #ifndef XML_CONTEXT_BYTES
01092   else if (bufferPtr == bufferEnd) {
01093     const char *end;
01094     int nLeftOver;
01095     parseEndByteIndex += len;
01096     positionPtr = s;
01097     if (isFinal) {
01098       errorCode = processor(parser, s, parseEndPtr = s + len, 0);
01099       if (errorCode == XML_ERROR_NONE)
01100         return 1;
01101       eventEndPtr = eventPtr;
01102       processor = errorProcessor;
01103       return 0;
01104     }
01105     errorCode = processor(parser, s, parseEndPtr = s + len, &end);
01106     if (errorCode != XML_ERROR_NONE) {
01107       eventEndPtr = eventPtr;
01108       processor = errorProcessor;
01109       return 0;
01110     }
01111     XmlUpdatePosition(encoding, positionPtr, end, &position);
01112     nLeftOver = s + len - end;
01113     if (nLeftOver) {
01114       if (buffer == 0 || nLeftOver > bufferLim - buffer) {
01115         /* FIXME avoid integer overflow */
01116         buffer = buffer == 0 ? MALLOC(len * 2) : REALLOC(buffer, len * 2);
01117         /* FIXME storage leak if realloc fails */
01118         if (!buffer) {
01119           errorCode = XML_ERROR_NO_MEMORY;
01120           eventPtr = eventEndPtr = 0;
01121           processor = errorProcessor;
01122           return 0;
01123         }
01124         bufferLim = buffer + len * 2;
01125       }
01126       memcpy(buffer, end, nLeftOver);
01127       bufferPtr = buffer;
01128       bufferEnd = buffer + nLeftOver;
01129     }
01130     return 1;
01131   }
01132 #endif  /* not defined XML_CONTEXT_BYTES */
01133   else {
01134     memcpy(XML_GetBuffer(parser, len), s, len);
01135     return XML_ParseBuffer(parser, len, isFinal);
01136   }
01137 }

int XMLPARSEAPI XML_ParseBuffer XML_Parser  parser,
int  len,
int  isFinal
 

Definition at line 1139 of file xmlparse.c.

References bufferEnd, bufferPtr, errorCode, eventEndPtr, parseEndByteIndex, parseEndPtr, positionPtr, processor, and XmlUpdatePosition.

Referenced by XML_Parse().

01140 {
01141   const char *start = bufferPtr;
01142   positionPtr = start;
01143   bufferEnd += len;
01144   parseEndByteIndex += len;
01145   errorCode = processor(parser, start, parseEndPtr = bufferEnd,
01146                         isFinal ? (const char **)0 : &bufferPtr);
01147   if (errorCode == XML_ERROR_NONE) {
01148     if (!isFinal)
01149       XmlUpdatePosition(encoding, positionPtr, bufferPtr, &position);
01150     return 1;
01151   }
01152   else {
01153     eventEndPtr = eventPtr;
01154     processor = errorProcessor;
01155     return 0;
01156   }
01157 }

XML_Parser XMLPARSEAPI XML_ParserCreate const XML_Char encoding  ) 
 

Definition at line 533 of file xmlparse.c.

References NULL, XML_Parser, and XML_ParserCreate_MM().

Referenced by jab_start(), jwg_reset(), jwg_servstart(), jwg_start(), xode_file(), xode_file_borked(), xode_from_file(), xode_from_str(), xode_str(), and xode_stream_new().

00534 {
00535   return XML_ParserCreate_MM(encodingName, NULL, NULL);
00536 }

XML_Parser XMLPARSEAPI XML_ParserCreate_MM const XML_Char encoding,
const XML_Memory_Handling_Suite memsuite,
const XML_Char namespaceSeparator
 

Definition at line 546 of file xmlparse.c.

References attlistDeclHandler, atts, attsSize, buffer, bufferEnd, bufferLim, bufferPtr, characterDataHandler, commentHandler, curBase, dataBuf, dataBufEnd, declAttributeId, declAttributeType, declElementType, declEntity, declNotationName, declNotationPublicId, defaultHandler, doctypeName, doctypePubid, doctypeSysid, dtd, elementDeclHandler, endCdataSectionHandler, endDoctypeDeclHandler, endElementHandler, endNamespaceDeclHandler, entityDeclHandler, errorCode, eventEndPtr, eventPtr, externalEntityRefHandler, externalEntityRefHandlerArg, XML_Memory_Handling_Suite::free_fcn, freeBindingList, freeTagList, groupConnector, groupSize, hadExternalDoctype, handlerArg, inheritedBindings, INIT_DATA_BUF_SIZE, initEncoding, internalEncoding, MALLOC, XML_Memory_Handling_Suite::malloc_fcn, namespaceSeparator, notationDeclHandler, notStandaloneHandler, ns, ns_triplets, nSpecifiedAtts, openInternalEntities, parseEndByteIndex, parseEndPtr, POSITION, positionPtr, processingInstructionHandler, processor, prologState, protocolEncodingName, XML_Memory_Handling_Suite::realloc_fcn, startCdataSectionHandler, startDoctypeDeclHandler, startElementHandler, startNamespaceDeclHandler, tagLevel, tagStack, temp2Pool, tempPool, unknownEncodingData, unknownEncodingHandler, unknownEncodingHandlerData, unknownEncodingMem, unknownEncodingRelease, unparsedEntityDeclHandler, userData, XML_Char, XML_Parser, XML_ParserFree(), XML_T, xmlDeclHandler, XmlGetInternalEncoding, XmlGetInternalEncodingNS, XmlInitEncoding(), XmlInitEncodingNS, and XmlPrologStateInit().

Referenced by XML_ExternalEntityParserCreate(), XML_ParserCreate(), and XML_ParserCreateNS().

00548                                              {
00549   
00550   XML_Parser parser;
00551   static
00552   const XML_Char implicitContext[] = {
00553     XML_T('x'), XML_T('m'), XML_T('l'), XML_T('='),
00554     XML_T('h'), XML_T('t'), XML_T('t'), XML_T('p'), XML_T(':'),
00555     XML_T('/'), XML_T('/'), XML_T('w'), XML_T('w'), XML_T('w'),
00556     XML_T('.'), XML_T('w'), XML_T('3'),
00557     XML_T('.'), XML_T('o'), XML_T('r'), XML_T('g'),
00558     XML_T('/'), XML_T('X'), XML_T('M'), XML_T('L'),
00559     XML_T('/'), XML_T('1'), XML_T('9'), XML_T('9'), XML_T('8'),
00560     XML_T('/'), XML_T('n'), XML_T('a'), XML_T('m'), XML_T('e'),
00561     XML_T('s'), XML_T('p'), XML_T('a'), XML_T('c'), XML_T('e'),
00562     XML_T('\0')
00563   };
00564 
00565 
00566   if (memsuite) {
00567     XML_Memory_Handling_Suite *mtemp;
00568     parser = memsuite->malloc_fcn(sizeof(Parser));
00569     mtemp = &(((Parser *) parser)->m_mem);
00570     mtemp->malloc_fcn = memsuite->malloc_fcn;
00571     mtemp->realloc_fcn = memsuite->realloc_fcn;
00572     mtemp->free_fcn = memsuite->free_fcn;
00573   }
00574   else {
00575     XML_Memory_Handling_Suite *mtemp;
00576     parser = malloc(sizeof(Parser));
00577     mtemp = &(((Parser *) parser)->m_mem);
00578     mtemp->malloc_fcn = malloc;
00579     mtemp->realloc_fcn = realloc;
00580     mtemp->free_fcn = free;
00581   }
00582 
00583   if (!parser)
00584     return parser;
00585   processor = prologInitProcessor;
00586   XmlPrologStateInit(&prologState);
00587   userData = 0;
00588   handlerArg = 0;
00589   startElementHandler = 0;
00590   endElementHandler = 0;
00591   characterDataHandler = 0;
00592   processingInstructionHandler = 0;
00593   commentHandler = 0;
00594   startCdataSectionHandler = 0;
00595   endCdataSectionHandler = 0;
00596   defaultHandler = 0;
00597   startDoctypeDeclHandler = 0;
00598   endDoctypeDeclHandler = 0;
00599   unparsedEntityDeclHandler = 0;
00600   notationDeclHandler = 0;
00601   startNamespaceDeclHandler = 0;
00602   endNamespaceDeclHandler = 0;
00603   notStandaloneHandler = 0;
00604   externalEntityRefHandler = 0;
00605   externalEntityRefHandlerArg = parser;
00606   unknownEncodingHandler = 0;
00607   elementDeclHandler = 0;
00608   attlistDeclHandler = 0;
00609   entityDeclHandler = 0;
00610   xmlDeclHandler = 0;
00611   buffer = 0;
00612   bufferPtr = 0;
00613   bufferEnd = 0;
00614   parseEndByteIndex = 0;
00615   parseEndPtr = 0;
00616   bufferLim = 0;
00617   declElementType = 0;
00618   declAttributeId = 0;
00619   declEntity = 0;
00620   doctypeName = 0;
00621   doctypeSysid = 0;
00622   doctypePubid = 0;
00623   declAttributeType = 0;
00624   declNotationName = 0;
00625   declNotationPublicId = 0;
00626   memset(&position, 0, sizeof(POSITION));
00627   errorCode = XML_ERROR_NONE;
00628   eventPtr = 0;
00629   eventEndPtr = 0;
00630   positionPtr = 0;
00631   openInternalEntities = 0;
00632   tagLevel = 0;
00633   tagStack = 0;
00634   freeTagList = 0;
00635   freeBindingList = 0;
00636   inheritedBindings = 0;
00637   attsSize = INIT_ATTS_SIZE;
00638   atts = MALLOC(attsSize * sizeof(ATTRIBUTE));
00639   nSpecifiedAtts = 0;
00640   dataBuf = MALLOC(INIT_DATA_BUF_SIZE * sizeof(XML_Char));
00641   groupSize = 0;
00642   groupConnector = 0;
00643   hadExternalDoctype = 0;
00644   unknownEncodingMem = 0;
00645   unknownEncodingRelease = 0;
00646   unknownEncodingData = 0;
00647   unknownEncodingHandlerData = 0;
00648   namespaceSeparator = '!';
00649 #ifdef XML_DTD
00650   parentParser = 0;
00651   paramEntityParsing = XML_PARAM_ENTITY_PARSING_NEVER;
00652 #endif
00653   ns = 0;
00654   ns_triplets = 0;
00655   poolInit(&tempPool, &(((Parser *) parser)->m_mem));
00656   poolInit(&temp2Pool, &(((Parser *) parser)->m_mem));
00657   protocolEncodingName = encodingName ? poolCopyString(&tempPool, encodingName) : 0;
00658   curBase = 0;
00659   if (!dtdInit(&dtd, parser) || !atts || !dataBuf
00660       || (encodingName && !protocolEncodingName)) {
00661     XML_ParserFree(parser);
00662     return 0;
00663   }
00664   dataBufEnd = dataBuf + INIT_DATA_BUF_SIZE;
00665 
00666   if (nameSep) {
00667     XmlInitEncodingNS(&initEncoding, &encoding, 0);
00668     ns = 1;
00669     internalEncoding = XmlGetInternalEncodingNS();
00670     namespaceSeparator = *nameSep;
00671 
00672     if (! setContext(parser, implicitContext)) {
00673       XML_ParserFree(parser);
00674       return 0;
00675     }
00676   }
00677   else {
00678     XmlInitEncoding(&initEncoding, &encoding, 0);
00679     internalEncoding = XmlGetInternalEncoding();
00680   }
00681 
00682   return parser;
00683 }  /* End XML_ParserCreate_MM */

XML_Parser XMLPARSEAPI XML_ParserCreateNS const XML_Char encoding,
XML_Char  namespaceSeparator
 

Definition at line 538 of file xmlparse.c.

References NULL, XML_Char, XML_Parser, and XML_ParserCreate_MM().

00539 {
00540   XML_Char tmp[2];
00541   *tmp = nsSep;
00542   return XML_ParserCreate_MM(encodingName, NULL, tmp);
00543 }

void XMLPARSEAPI XML_ParserFree XML_Parser  parser  ) 
 

Definition at line 812 of file xmlparse.c.

References atts, tag::bindings, tag::buf, buffer, dataBuf, dtd, FREE, freeBindingList, freeTagList, groupConnector, inheritedBindings, tag::parent, TAG, tagStack, temp2Pool, tempPool, unknownEncodingData, unknownEncodingMem, and unknownEncodingRelease.

Referenced by jab_stop(), jwg_reset(), jwg_stop(), XML_ExternalEntityParserCreate(), XML_ParserCreate_MM(), xode_file(), xode_file_borked(), xode_from_file(), xode_from_str(), and xode_str().

00813 {
00814   for (;;) {
00815     TAG *p;
00816     if (tagStack == 0) {
00817       if (freeTagList == 0)
00818         break;
00819       tagStack = freeTagList;
00820       freeTagList = 0;
00821     }
00822     p = tagStack;
00823     tagStack = tagStack->parent;
00824     FREE(p->buf);
00825     destroyBindings(p->bindings, parser);
00826     FREE(p);
00827   }
00828   destroyBindings(freeBindingList, parser);
00829   destroyBindings(inheritedBindings, parser);
00830   poolDestroy(&tempPool);
00831   poolDestroy(&temp2Pool);
00832 #ifdef XML_DTD
00833   if (parentParser) {
00834     if (hadExternalDoctype)
00835       dtd.complete = 0;
00836     dtdSwap(&dtd, &((Parser *)parentParser)->m_dtd);
00837   }
00838 #endif /* XML_DTD */
00839   dtdDestroy(&dtd, parser);
00840   FREE((void *)atts);
00841   if (groupConnector)
00842     FREE(groupConnector);
00843   if (buffer)
00844     FREE(buffer);
00845   FREE(dataBuf);
00846   if (unknownEncodingMem)
00847     FREE(unknownEncodingMem);
00848   if (unknownEncodingRelease)
00849     unknownEncodingRelease(unknownEncodingData);
00850   FREE(parser);
00851 }

void XMLPARSEAPI XML_SetAttlistDeclHandler XML_Parser  parser,
XML_AttlistDeclHandler  attdecl
 

Definition at line 1050 of file xmlparse.c.

References attlistDeclHandler.

01052 {
01053   attlistDeclHandler = attdecl;
01054 }

int XMLPARSEAPI XML_SetBase XML_Parser  parser,
const XML_Char base
 

Definition at line 871 of file xmlparse.c.

References curBase, and dtd.

00872 {
00873   if (p) {
00874     p = poolCopyString(&dtd.pool, p);
00875     if (!p)
00876       return 0;
00877     curBase = p;
00878   }
00879   else
00880     curBase = 0;
00881   return 1;
00882 }

void XMLPARSEAPI XML_SetCdataSectionHandler XML_Parser  parser,
XML_StartCdataSectionHandler  start,
XML_EndCdataSectionHandler  end
 

Definition at line 935 of file xmlparse.c.

References endCdataSectionHandler, and startCdataSectionHandler.

00938 {
00939   startCdataSectionHandler = start;
00940   endCdataSectionHandler = end;
00941 }

void XMLPARSEAPI XML_SetCharacterDataHandler XML_Parser  parser,
XML_CharacterDataHandler  handler
 

Definition at line 917 of file xmlparse.c.

References characterDataHandler.

Referenced by jab_start(), jwg_reset(), jwg_servstart(), jwg_start(), xode_file(), xode_from_file(), xode_from_str(), xode_str(), and xode_stream_new().

00919 {
00920   characterDataHandler = handler;
00921 }

void XMLPARSEAPI XML_SetCommentHandler XML_Parser  parser,
XML_CommentHandler  handler
 

Definition at line 929 of file xmlparse.c.

References commentHandler.

00931 {
00932   commentHandler = handler;
00933 }

void XMLPARSEAPI XML_SetDefaultHandler XML_Parser  parser,
XML_DefaultHandler  handler
 

Definition at line 953 of file xmlparse.c.

References defaultExpandInternalEntities, and defaultHandler.

00955 {
00956   defaultHandler = handler;
00957   defaultExpandInternalEntities = 0;
00958 }

void XMLPARSEAPI XML_SetDefaultHandlerExpand XML_Parser  parser,
XML_DefaultHandler  handler
 

Definition at line 960 of file xmlparse.c.

References defaultExpandInternalEntities, and defaultHandler.

00962 {
00963   defaultHandler = handler;
00964   defaultExpandInternalEntities = 1;
00965 }

void XMLPARSEAPI XML_SetDoctypeDeclHandler XML_Parser  parser,
XML_StartDoctypeDeclHandler  start,
XML_EndDoctypeDeclHandler  end
 

Definition at line 967 of file xmlparse.c.

References endDoctypeDeclHandler, and startDoctypeDeclHandler.

00970 {
00971   startDoctypeDeclHandler = start;
00972   endDoctypeDeclHandler = end;
00973 }

void XMLPARSEAPI XML_SetElementDeclHandler XML_Parser  parser,
XML_ElementDeclHandler  eldecl
 

Definition at line 1044 of file xmlparse.c.

References elementDeclHandler.

01046 {
01047   elementDeclHandler = eldecl;
01048 }

void XMLPARSEAPI XML_SetElementHandler XML_Parser  parser,
XML_StartElementHandler  start,
XML_EndElementHandler  end
 

Definition at line 899 of file xmlparse.c.

References endElementHandler, and startElementHandler.

Referenced by jab_start(), jwg_reset(), jwg_servstart(), jwg_start(), xode_file(), xode_from_file(), xode_from_str(), xode_str(), and xode_stream_new().

00902 {
00903   startElementHandler = start;
00904   endElementHandler = end;
00905 }

int XMLPARSEAPI XML_SetEncoding XML_Parser  parser,
const XML_Char encoding
 

Definition at line 685 of file xmlparse.c.

References protocolEncodingName, and tempPool.

00686 {
00687   if (!encodingName)
00688     protocolEncodingName = 0;
00689   else {
00690     protocolEncodingName = poolCopyString(&tempPool, encodingName);
00691     if (!protocolEncodingName)
00692       return 0;
00693   }
00694   return 1;
00695 }

void XMLPARSEAPI XML_SetEndCdataSectionHandler XML_Parser  parser,
XML_EndCdataSectionHandler  end
 

Definition at line 948 of file xmlparse.c.

References endCdataSectionHandler.

00949                                                                    {
00950   endCdataSectionHandler = end;
00951 }

void XMLPARSEAPI XML_SetEndDoctypeDeclHandler XML_Parser  parser,
XML_EndDoctypeDeclHandler  end
 

Definition at line 980 of file xmlparse.c.

References endDoctypeDeclHandler.

00981                                                                  {
00982   endDoctypeDeclHandler = end;
00983 }

void XMLPARSEAPI XML_SetEndElementHandler XML_Parser  ,
XML_EndElementHandler 
 

Definition at line 912 of file xmlparse.c.

References endElementHandler.

00913                                                          {
00914   endElementHandler = end;
00915 }

void XMLPARSEAPI XML_SetEndNamespaceDeclHandler XML_Parser  parser,
XML_EndNamespaceDeclHandler  end
 

Definition at line 1010 of file xmlparse.c.

References endNamespaceDeclHandler.

01011                                                                      {
01012   endNamespaceDeclHandler = end;
01013 }

void XMLPARSEAPI XML_SetEntityDeclHandler XML_Parser  parser,
XML_EntityDeclHandler  handler
 

Definition at line 1056 of file xmlparse.c.

References entityDeclHandler.

01058 {
01059   entityDeclHandler = handler;
01060 }

void XMLPARSEAPI XML_SetExternalEntityRefHandler XML_Parser  parser,
XML_ExternalEntityRefHandler  handler
 

Definition at line 1022 of file xmlparse.c.

References externalEntityRefHandler.

01024 {
01025   externalEntityRefHandler = handler;
01026 }

void XMLPARSEAPI XML_SetExternalEntityRefHandlerArg XML_Parser  ,
void *  arg
 

Definition at line 1028 of file xmlparse.c.

References externalEntityRefHandlerArg.

01029 {
01030   if (arg)
01031     externalEntityRefHandlerArg = arg;
01032   else
01033     externalEntityRefHandlerArg = parser;
01034 }

void XMLPARSEAPI XML_SetNamespaceDeclHandler XML_Parser  parser,
XML_StartNamespaceDeclHandler  start,
XML_EndNamespaceDeclHandler  end
 

Definition at line 997 of file xmlparse.c.

References endNamespaceDeclHandler, and startNamespaceDeclHandler.

01000 {
01001   startNamespaceDeclHandler = start;
01002   endNamespaceDeclHandler = end;
01003 }

void XMLPARSEAPI XML_SetNotationDeclHandler XML_Parser  parser,
XML_NotationDeclHandler  handler
 

Definition at line 991 of file xmlparse.c.

References notationDeclHandler.

00993 {
00994   notationDeclHandler = handler;
00995 }

void XMLPARSEAPI XML_SetNotStandaloneHandler XML_Parser  parser,
XML_NotStandaloneHandler  handler
 

Definition at line 1016 of file xmlparse.c.

References notStandaloneHandler.

01018 {
01019   notStandaloneHandler = handler;
01020 }

int XMLPARSEAPI XML_SetParamEntityParsing XML_Parser  parser,
enum XML_ParamEntityParsing  parsing
 

Definition at line 1067 of file xmlparse.c.

01069 {
01070 #ifdef XML_DTD
01071   paramEntityParsing = parsing;
01072   return 1;
01073 #else
01074   return parsing == XML_PARAM_ENTITY_PARSING_NEVER;
01075 #endif
01076 }

void XMLPARSEAPI XML_SetProcessingInstructionHandler XML_Parser  parser,
XML_ProcessingInstructionHandler  handler
 

Definition at line 923 of file xmlparse.c.

References processingInstructionHandler.

00925 {
00926   processingInstructionHandler = handler;
00927 }

void XMLPARSEAPI XML_SetReturnNSTriplet XML_Parser  parser,
int  do_nst
 

Definition at line 859 of file xmlparse.c.

References ns_triplets.

00859                                                       {
00860   ns_triplets = do_nst;
00861 }

void XMLPARSEAPI XML_SetStartCdataSectionHandler XML_Parser  parser,
XML_StartCdataSectionHandler  start
 

Definition at line 943 of file xmlparse.c.

References startCdataSectionHandler.

00944                                                                          {
00945   startCdataSectionHandler = start;
00946 }

void XMLPARSEAPI XML_SetStartDoctypeDeclHandler XML_Parser  parser,
XML_StartDoctypeDeclHandler  start
 

Definition at line 975 of file xmlparse.c.

References startDoctypeDeclHandler.

00976                                                                        {
00977   startDoctypeDeclHandler = start;
00978 }

void XMLPARSEAPI XML_SetStartElementHandler XML_Parser  ,
XML_StartElementHandler 
 

Definition at line 907 of file xmlparse.c.

References startElementHandler.

00908                                                                {
00909   startElementHandler = start;
00910 }

void XMLPARSEAPI XML_SetStartNamespaceDeclHandler XML_Parser  parser,
XML_StartNamespaceDeclHandler  start
 

Definition at line 1005 of file xmlparse.c.

References startNamespaceDeclHandler.

01006                                                                            {
01007   startNamespaceDeclHandler = start;
01008 }

void XMLPARSEAPI XML_SetUnknownEncodingHandler XML_Parser  parser,
XML_UnknownEncodingHandler  handler,
void *  encodingHandlerData
 

Definition at line 1036 of file xmlparse.c.

References unknownEncodingHandler, and unknownEncodingHandlerData.

01039 {
01040   unknownEncodingHandler = handler;
01041   unknownEncodingHandlerData = data;
01042 }

void XMLPARSEAPI XML_SetUnparsedEntityDeclHandler XML_Parser  parser,
XML_UnparsedEntityDeclHandler  handler
 

Definition at line 985 of file xmlparse.c.

References unparsedEntityDeclHandler.

00987 {
00988   unparsedEntityDeclHandler = handler;
00989 }

void XMLPARSEAPI XML_SetUserData XML_Parser  parser,
void *  userData
 

Definition at line 863 of file xmlparse.c.

References handlerArg, and userData.

Referenced by jab_start(), jwg_reset(), jwg_servstart(), jwg_start(), xode_file(), xode_from_file(), xode_from_str(), xode_str(), and xode_stream_new().

00864 {
00865   if (handlerArg == userData)
00866     handlerArg = userData = p;
00867   else
00868     userData = p;
00869 }

void XMLPARSEAPI XML_SetXmlDeclHandler XML_Parser  parser,
XML_XmlDeclHandler  xmldecl
 

Definition at line 1062 of file xmlparse.c.

References xmlDeclHandler.

01063                                                        {
01064   xmlDeclHandler = handler;
01065 }

void XMLPARSEAPI XML_UseParserAsHandlerArg XML_Parser  parser  ) 
 

Definition at line 853 of file xmlparse.c.

References handlerArg.

00854 {
00855   handlerArg = parser;
00856 }



Last updated at Tue Dec 18 21:07:42 PST 2007. This site and project hosted by...SourceForge.net Logo

Source Perspective by Fisheye