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 */
|
---|