You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
5.4 KiB
180 lines
5.4 KiB
/* |
|
* SAX.c : Old SAX v1 handlers to build a tree. |
|
* Deprecated except for compatibility |
|
* |
|
* See Copyright for the status of this software. |
|
* |
|
* Daniel Veillard <daniel@veillard.com> |
|
*/ |
|
|
|
|
|
#define IN_LIBXML |
|
#include "libxml.h" |
|
#include <stdlib.h> |
|
#include <string.h> |
|
#include <libxml/xmlmemory.h> |
|
#include <libxml/tree.h> |
|
#include <libxml/parser.h> |
|
#include <libxml/parserInternals.h> |
|
#include <libxml/valid.h> |
|
#include <libxml/entities.h> |
|
#include <libxml/xmlerror.h> |
|
#include <libxml/debugXML.h> |
|
#include <libxml/xmlIO.h> |
|
#include <libxml/SAX.h> |
|
#include <libxml/uri.h> |
|
#include <libxml/valid.h> |
|
#include <libxml/HTMLtree.h> |
|
#include <libxml/globals.h> |
|
#include <libxml/SAX2.h> |
|
|
|
#ifdef LIBXML_LEGACY_ENABLED |
|
#ifdef LIBXML_SAX1_ENABLED |
|
/** |
|
* initxmlDefaultSAXHandler: |
|
* @hdlr: the SAX handler |
|
* @warning: flag if non-zero sets the handler warning procedure |
|
* |
|
* Initialize the default XML SAX version 1 handler |
|
* DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks |
|
*/ |
|
void |
|
initxmlDefaultSAXHandler(xmlSAXHandlerV1 *hdlr, int warning) |
|
{ |
|
|
|
if(hdlr->initialized == 1) |
|
return; |
|
|
|
hdlr->internalSubset = xmlSAX2InternalSubset; |
|
hdlr->externalSubset = xmlSAX2ExternalSubset; |
|
hdlr->isStandalone = xmlSAX2IsStandalone; |
|
hdlr->hasInternalSubset = xmlSAX2HasInternalSubset; |
|
hdlr->hasExternalSubset = xmlSAX2HasExternalSubset; |
|
hdlr->resolveEntity = xmlSAX2ResolveEntity; |
|
hdlr->getEntity = xmlSAX2GetEntity; |
|
hdlr->getParameterEntity = xmlSAX2GetParameterEntity; |
|
hdlr->entityDecl = xmlSAX2EntityDecl; |
|
hdlr->attributeDecl = xmlSAX2AttributeDecl; |
|
hdlr->elementDecl = xmlSAX2ElementDecl; |
|
hdlr->notationDecl = xmlSAX2NotationDecl; |
|
hdlr->unparsedEntityDecl = xmlSAX2UnparsedEntityDecl; |
|
hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator; |
|
hdlr->startDocument = xmlSAX2StartDocument; |
|
hdlr->endDocument = xmlSAX2EndDocument; |
|
hdlr->startElement = xmlSAX2StartElement; |
|
hdlr->endElement = xmlSAX2EndElement; |
|
hdlr->reference = xmlSAX2Reference; |
|
hdlr->characters = xmlSAX2Characters; |
|
hdlr->cdataBlock = xmlSAX2CDataBlock; |
|
hdlr->ignorableWhitespace = xmlSAX2Characters; |
|
hdlr->processingInstruction = xmlSAX2ProcessingInstruction; |
|
if (warning == 0) |
|
hdlr->warning = NULL; |
|
else |
|
hdlr->warning = xmlParserWarning; |
|
hdlr->error = xmlParserError; |
|
hdlr->fatalError = xmlParserError; |
|
|
|
hdlr->initialized = 1; |
|
} |
|
|
|
#ifdef LIBXML_HTML_ENABLED |
|
|
|
/** |
|
* inithtmlDefaultSAXHandler: |
|
* @hdlr: the SAX handler |
|
* |
|
* Initialize the default HTML SAX version 1 handler |
|
* DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks |
|
*/ |
|
void |
|
inithtmlDefaultSAXHandler(xmlSAXHandlerV1 *hdlr) |
|
{ |
|
if(hdlr->initialized == 1) |
|
return; |
|
|
|
hdlr->internalSubset = xmlSAX2InternalSubset; |
|
hdlr->externalSubset = NULL; |
|
hdlr->isStandalone = NULL; |
|
hdlr->hasInternalSubset = NULL; |
|
hdlr->hasExternalSubset = NULL; |
|
hdlr->resolveEntity = NULL; |
|
hdlr->getEntity = xmlSAX2GetEntity; |
|
hdlr->getParameterEntity = NULL; |
|
hdlr->entityDecl = NULL; |
|
hdlr->attributeDecl = NULL; |
|
hdlr->elementDecl = NULL; |
|
hdlr->notationDecl = NULL; |
|
hdlr->unparsedEntityDecl = NULL; |
|
hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator; |
|
hdlr->startDocument = xmlSAX2StartDocument; |
|
hdlr->endDocument = xmlSAX2EndDocument; |
|
hdlr->startElement = xmlSAX2StartElement; |
|
hdlr->endElement = xmlSAX2EndElement; |
|
hdlr->reference = NULL; |
|
hdlr->characters = xmlSAX2Characters; |
|
hdlr->cdataBlock = xmlSAX2CDataBlock; |
|
hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace; |
|
hdlr->processingInstruction = xmlSAX2ProcessingInstruction; |
|
hdlr->comment = xmlSAX2Comment; |
|
hdlr->warning = xmlParserWarning; |
|
hdlr->error = xmlParserError; |
|
hdlr->fatalError = xmlParserError; |
|
|
|
hdlr->initialized = 1; |
|
} |
|
|
|
#endif /* LIBXML_HTML_ENABLED */ |
|
|
|
#ifdef LIBXML_DOCB_ENABLED |
|
/** |
|
* initdocbDefaultSAXHandler: |
|
* @hdlr: the SAX handler |
|
* |
|
* Initialize the default DocBook SAX version 1 handler |
|
* DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks |
|
*/ |
|
void |
|
initdocbDefaultSAXHandler(xmlSAXHandlerV1 *hdlr) |
|
{ |
|
if(hdlr->initialized == 1) |
|
return; |
|
|
|
hdlr->internalSubset = xmlSAX2InternalSubset; |
|
hdlr->externalSubset = NULL; |
|
hdlr->isStandalone = xmlSAX2IsStandalone; |
|
hdlr->hasInternalSubset = xmlSAX2HasInternalSubset; |
|
hdlr->hasExternalSubset = xmlSAX2HasExternalSubset; |
|
hdlr->resolveEntity = xmlSAX2ResolveEntity; |
|
hdlr->getEntity = xmlSAX2GetEntity; |
|
hdlr->getParameterEntity = NULL; |
|
hdlr->entityDecl = xmlSAX2EntityDecl; |
|
hdlr->attributeDecl = NULL; |
|
hdlr->elementDecl = NULL; |
|
hdlr->notationDecl = NULL; |
|
hdlr->unparsedEntityDecl = NULL; |
|
hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator; |
|
hdlr->startDocument = xmlSAX2StartDocument; |
|
hdlr->endDocument = xmlSAX2EndDocument; |
|
hdlr->startElement = xmlSAX2StartElement; |
|
hdlr->endElement = xmlSAX2EndElement; |
|
hdlr->reference = xmlSAX2Reference; |
|
hdlr->characters = xmlSAX2Characters; |
|
hdlr->cdataBlock = NULL; |
|
hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace; |
|
hdlr->processingInstruction = NULL; |
|
hdlr->comment = xmlSAX2Comment; |
|
hdlr->warning = xmlParserWarning; |
|
hdlr->error = xmlParserError; |
|
hdlr->fatalError = xmlParserError; |
|
|
|
hdlr->initialized = 1; |
|
} |
|
|
|
#endif /* LIBXML_DOCB_ENABLED */ |
|
|
|
#endif /* LIBXML_SAX1_ENABLED */ |
|
|
|
#define bottom_SAX |
|
#include "elfgcchack.h" |
|
#endif /* LIBXML_LEGACY_ENABLED */
|
|
|