| 1 |
/* |
| 2 |
* SAX.c : Old SAX v1 handlers to build a tree. |
| 3 |
* Deprecated except for compatibility |
| 4 |
* |
| 5 |
* See Copyright for the status of this software. |
| 6 |
* |
| 7 |
* Daniel Veillard <daniel@veillard.com> |
| 8 |
*/ |
| 9 |
|
| 10 |
|
| 11 |
#define IN_LIBXML |
| 12 |
#include "libxml.h" |
| 13 |
#include <stdlib.h> |
| 14 |
#include <string.h> |
| 15 |
#include <libxml/xmlmemory.h> |
| 16 |
#include <libxml/tree.h> |
| 17 |
#include <libxml/parser.h> |
| 18 |
#include <libxml/parserInternals.h> |
| 19 |
#include <libxml/valid.h> |
| 20 |
#include <libxml/entities.h> |
| 21 |
#include <libxml/xmlerror.h> |
| 22 |
#include <libxml/debugXML.h> |
| 23 |
#include <libxml/xmlIO.h> |
| 24 |
#include <libxml/SAX.h> |
| 25 |
#include <libxml/uri.h> |
| 26 |
#include <libxml/valid.h> |
| 27 |
#include <libxml/HTMLtree.h> |
| 28 |
#include <libxml/globals.h> |
| 29 |
#include <libxml/SAX2.h> |
| 30 |
|
| 31 |
#ifdef LIBXML_LEGACY_ENABLED |
| 32 |
#ifdef LIBXML_SAX1_ENABLED |
| 33 |
/** |
| 34 |
* initxmlDefaultSAXHandler: |
| 35 |
* @hdlr: the SAX handler |
| 36 |
* @warning: flag if non-zero sets the handler warning procedure |
| 37 |
* |
| 38 |
* Initialize the default XML SAX version 1 handler |
| 39 |
* DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks |
| 40 |
*/ |
| 41 |
void |
| 42 |
initxmlDefaultSAXHandler(xmlSAXHandlerV1 *hdlr, int warning) |
| 43 |
{ |
| 44 |
|
| 45 |
if(hdlr->initialized == 1) |
| 46 |
return; |
| 47 |
|
| 48 |
hdlr->internalSubset = xmlSAX2InternalSubset; |
| 49 |
hdlr->externalSubset = xmlSAX2ExternalSubset; |
| 50 |
hdlr->isStandalone = xmlSAX2IsStandalone; |
| 51 |
hdlr->hasInternalSubset = xmlSAX2HasInternalSubset; |
| 52 |
hdlr->hasExternalSubset = xmlSAX2HasExternalSubset; |
| 53 |
hdlr->resolveEntity = xmlSAX2ResolveEntity; |
| 54 |
hdlr->getEntity = xmlSAX2GetEntity; |
| 55 |
hdlr->getParameterEntity = xmlSAX2GetParameterEntity; |
| 56 |
hdlr->entityDecl = xmlSAX2EntityDecl; |
| 57 |
hdlr->attributeDecl = xmlSAX2AttributeDecl; |
| 58 |
hdlr->elementDecl = xmlSAX2ElementDecl; |
| 59 |
hdlr->notationDecl = xmlSAX2NotationDecl; |
| 60 |
hdlr->unparsedEntityDecl = xmlSAX2UnparsedEntityDecl; |
| 61 |
hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator; |
| 62 |
hdlr->startDocument = xmlSAX2StartDocument; |
| 63 |
hdlr->endDocument = xmlSAX2EndDocument; |
| 64 |
hdlr->startElement = xmlSAX2StartElement; |
| 65 |
hdlr->endElement = xmlSAX2EndElement; |
| 66 |
hdlr->reference = xmlSAX2Reference; |
| 67 |
hdlr->characters = xmlSAX2Characters; |
| 68 |
hdlr->cdataBlock = xmlSAX2CDataBlock; |
| 69 |
hdlr->ignorableWhitespace = xmlSAX2Characters; |
| 70 |
hdlr->processingInstruction = xmlSAX2ProcessingInstruction; |
| 71 |
if (warning == 0) |
| 72 |
hdlr->warning = NULL; |
| 73 |
else |
| 74 |
hdlr->warning = xmlParserWarning; |
| 75 |
hdlr->error = xmlParserError; |
| 76 |
hdlr->fatalError = xmlParserError; |
| 77 |
|
| 78 |
hdlr->initialized = 1; |
| 79 |
} |
| 80 |
|
| 81 |
#ifdef LIBXML_HTML_ENABLED |
| 82 |
|
| 83 |
/** |
| 84 |
* inithtmlDefaultSAXHandler: |
| 85 |
* @hdlr: the SAX handler |
| 86 |
* |
| 87 |
* Initialize the default HTML SAX version 1 handler |
| 88 |
* DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks |
| 89 |
*/ |
| 90 |
void |
| 91 |
inithtmlDefaultSAXHandler(xmlSAXHandlerV1 *hdlr) |
| 92 |
{ |
| 93 |
if(hdlr->initialized == 1) |
| 94 |
return; |
| 95 |
|
| 96 |
hdlr->internalSubset = xmlSAX2InternalSubset; |
| 97 |
hdlr->externalSubset = NULL; |
| 98 |
hdlr->isStandalone = NULL; |
| 99 |
hdlr->hasInternalSubset = NULL; |
| 100 |
hdlr->hasExternalSubset = NULL; |
| 101 |
hdlr->resolveEntity = NULL; |
| 102 |
hdlr->getEntity = xmlSAX2GetEntity; |
| 103 |
hdlr->getParameterEntity = NULL; |
| 104 |
hdlr->entityDecl = NULL; |
| 105 |
hdlr->attributeDecl = NULL; |
| 106 |
hdlr->elementDecl = NULL; |
| 107 |
hdlr->notationDecl = NULL; |
| 108 |
hdlr->unparsedEntityDecl = NULL; |
| 109 |
hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator; |
| 110 |
hdlr->startDocument = xmlSAX2StartDocument; |
| 111 |
hdlr->endDocument = xmlSAX2EndDocument; |
| 112 |
hdlr->startElement = xmlSAX2StartElement; |
| 113 |
hdlr->endElement = xmlSAX2EndElement; |
| 114 |
hdlr->reference = NULL; |
| 115 |
hdlr->characters = xmlSAX2Characters; |
| 116 |
hdlr->cdataBlock = xmlSAX2CDataBlock; |
| 117 |
hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace; |
| 118 |
hdlr->processingInstruction = xmlSAX2ProcessingInstruction; |
| 119 |
hdlr->comment = xmlSAX2Comment; |
| 120 |
hdlr->warning = xmlParserWarning; |
| 121 |
hdlr->error = xmlParserError; |
| 122 |
hdlr->fatalError = xmlParserError; |
| 123 |
|
| 124 |
hdlr->initialized = 1; |
| 125 |
} |
| 126 |
|
| 127 |
#endif /* LIBXML_HTML_ENABLED */ |
| 128 |
|
| 129 |
#ifdef LIBXML_DOCB_ENABLED |
| 130 |
/** |
| 131 |
* initdocbDefaultSAXHandler: |
| 132 |
* @hdlr: the SAX handler |
| 133 |
* |
| 134 |
* Initialize the default DocBook SAX version 1 handler |
| 135 |
* DEPRECATED: use xmlSAX2InitDocbDefaultSAXHandler() for the new SAX2 blocks |
| 136 |
*/ |
| 137 |
void |
| 138 |
initdocbDefaultSAXHandler(xmlSAXHandlerV1 *hdlr) |
| 139 |
{ |
| 140 |
if(hdlr->initialized == 1) |
| 141 |
return; |
| 142 |
|
| 143 |
hdlr->internalSubset = xmlSAX2InternalSubset; |
| 144 |
hdlr->externalSubset = NULL; |
| 145 |
hdlr->isStandalone = xmlSAX2IsStandalone; |
| 146 |
hdlr->hasInternalSubset = xmlSAX2HasInternalSubset; |
| 147 |
hdlr->hasExternalSubset = xmlSAX2HasExternalSubset; |
| 148 |
hdlr->resolveEntity = xmlSAX2ResolveEntity; |
| 149 |
hdlr->getEntity = xmlSAX2GetEntity; |
| 150 |
hdlr->getParameterEntity = NULL; |
| 151 |
hdlr->entityDecl = xmlSAX2EntityDecl; |
| 152 |
hdlr->attributeDecl = NULL; |
| 153 |
hdlr->elementDecl = NULL; |
| 154 |
hdlr->notationDecl = NULL; |
| 155 |
hdlr->unparsedEntityDecl = NULL; |
| 156 |
hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator; |
| 157 |
hdlr->startDocument = xmlSAX2StartDocument; |
| 158 |
hdlr->endDocument = xmlSAX2EndDocument; |
| 159 |
hdlr->startElement = xmlSAX2StartElement; |
| 160 |
hdlr->endElement = xmlSAX2EndElement; |
| 161 |
hdlr->reference = xmlSAX2Reference; |
| 162 |
hdlr->characters = xmlSAX2Characters; |
| 163 |
hdlr->cdataBlock = NULL; |
| 164 |
hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace; |
| 165 |
hdlr->processingInstruction = NULL; |
| 166 |
hdlr->comment = xmlSAX2Comment; |
| 167 |
hdlr->warning = xmlParserWarning; |
| 168 |
hdlr->error = xmlParserError; |
| 169 |
hdlr->fatalError = xmlParserError; |
| 170 |
|
| 171 |
hdlr->initialized = 1; |
| 172 |
} |
| 173 |
|
| 174 |
#endif /* LIBXML_DOCB_ENABLED */ |
| 175 |
|
| 176 |
#endif /* LIBXML_SAX1_ENABLED */ |
| 177 |
|
| 178 |
#define bottom_SAX |
| 179 |
#include "elfgcchack.h" |
| 180 |
#endif /* LIBXML_LEGACY_ENABLED */ |