/ libxml2 / SAX.c
SAX.c
  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 */