(root)/
libxml2-2.12.3/
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/SAX2.h>
      29  
      30  #ifdef LIBXML_LEGACY_ENABLED
      31  #ifdef LIBXML_SAX1_ENABLED
      32  /**
      33   * initxmlDefaultSAXHandler:
      34   * @hdlr:  the SAX handler
      35   * @warning:  flag if non-zero sets the handler warning procedure
      36   *
      37   * Initialize the default XML SAX version 1 handler
      38   * DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the new SAX2 blocks
      39   */
      40  void
      41  initxmlDefaultSAXHandler(xmlSAXHandlerV1 *hdlr, int warning)
      42  {
      43  
      44      if(hdlr->initialized == 1)
      45  	return;
      46  
      47      hdlr->internalSubset = xmlSAX2InternalSubset;
      48      hdlr->externalSubset = xmlSAX2ExternalSubset;
      49      hdlr->isStandalone = xmlSAX2IsStandalone;
      50      hdlr->hasInternalSubset = xmlSAX2HasInternalSubset;
      51      hdlr->hasExternalSubset = xmlSAX2HasExternalSubset;
      52      hdlr->resolveEntity = xmlSAX2ResolveEntity;
      53      hdlr->getEntity = xmlSAX2GetEntity;
      54      hdlr->getParameterEntity = xmlSAX2GetParameterEntity;
      55      hdlr->entityDecl = xmlSAX2EntityDecl;
      56      hdlr->attributeDecl = xmlSAX2AttributeDecl;
      57      hdlr->elementDecl = xmlSAX2ElementDecl;
      58      hdlr->notationDecl = xmlSAX2NotationDecl;
      59      hdlr->unparsedEntityDecl = xmlSAX2UnparsedEntityDecl;
      60      hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator;
      61      hdlr->startDocument = xmlSAX2StartDocument;
      62      hdlr->endDocument = xmlSAX2EndDocument;
      63      hdlr->startElement = xmlSAX2StartElement;
      64      hdlr->endElement = xmlSAX2EndElement;
      65      hdlr->reference = xmlSAX2Reference;
      66      hdlr->characters = xmlSAX2Characters;
      67      hdlr->cdataBlock = xmlSAX2CDataBlock;
      68      hdlr->ignorableWhitespace = xmlSAX2Characters;
      69      hdlr->processingInstruction = xmlSAX2ProcessingInstruction;
      70      if (warning == 0)
      71  	hdlr->warning = NULL;
      72      else
      73  	hdlr->warning = xmlParserWarning;
      74      hdlr->error = xmlParserError;
      75      hdlr->fatalError = xmlParserError;
      76  
      77      hdlr->initialized = 1;
      78  }
      79  
      80  #ifdef LIBXML_HTML_ENABLED
      81  
      82  /**
      83   * inithtmlDefaultSAXHandler:
      84   * @hdlr:  the SAX handler
      85   *
      86   * Initialize the default HTML SAX version 1 handler
      87   * DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks
      88   */
      89  void
      90  inithtmlDefaultSAXHandler(xmlSAXHandlerV1 *hdlr)
      91  {
      92      if(hdlr->initialized == 1)
      93  	return;
      94  
      95      hdlr->internalSubset = xmlSAX2InternalSubset;
      96      hdlr->externalSubset = NULL;
      97      hdlr->isStandalone = NULL;
      98      hdlr->hasInternalSubset = NULL;
      99      hdlr->hasExternalSubset = NULL;
     100      hdlr->resolveEntity = NULL;
     101      hdlr->getEntity = xmlSAX2GetEntity;
     102      hdlr->getParameterEntity = NULL;
     103      hdlr->entityDecl = NULL;
     104      hdlr->attributeDecl = NULL;
     105      hdlr->elementDecl = NULL;
     106      hdlr->notationDecl = NULL;
     107      hdlr->unparsedEntityDecl = NULL;
     108      hdlr->setDocumentLocator = xmlSAX2SetDocumentLocator;
     109      hdlr->startDocument = xmlSAX2StartDocument;
     110      hdlr->endDocument = xmlSAX2EndDocument;
     111      hdlr->startElement = xmlSAX2StartElement;
     112      hdlr->endElement = xmlSAX2EndElement;
     113      hdlr->reference = NULL;
     114      hdlr->characters = xmlSAX2Characters;
     115      hdlr->cdataBlock = xmlSAX2CDataBlock;
     116      hdlr->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
     117      hdlr->processingInstruction = xmlSAX2ProcessingInstruction;
     118      hdlr->comment = xmlSAX2Comment;
     119      hdlr->warning = xmlParserWarning;
     120      hdlr->error = xmlParserError;
     121      hdlr->fatalError = xmlParserError;
     122  
     123      hdlr->initialized = 1;
     124  }
     125  
     126  #endif /* LIBXML_HTML_ENABLED */
     127  
     128  #endif /* LIBXML_SAX1_ENABLED */
     129  
     130  #endif /* LIBXML_LEGACY_ENABLED */