blob: 565de0ef5510672603758e07ca8d7765674f535d [file] [log] [blame]
Daniel Veillardb8478642001-10-12 17:29:10 +00001/*
2 * globals.c: definition and handling of the set of global variables
3 * of the library
4 *
5 * The bottom of this file is automatically generated by build_glob.py
6 * based on the description file global.data
7 *
8 * See Copyright for the status of this software.
9 *
10 * Gary Pennington <Gary.Pennington@uk.sun.com>
11 * daniel@veillard.com
12 */
13
14#include "libxml.h"
15
Daniel Veillarde7090612001-10-13 12:18:28 +000016#ifdef HAVE_STDLIB_H
Jaka Mocnik77d19ae2001-10-13 12:06:09 +000017#include <stdlib.h>
Daniel Veillarde7090612001-10-13 12:18:28 +000018#endif
Jaka Mocnik77d19ae2001-10-13 12:06:09 +000019#include <string.h>
20
Daniel Veillard3c01b1d2001-10-17 15:58:35 +000021#include <libxml/xmlversion.h>
22#include <libxml/globals.h>
Daniel Veillarde7090612001-10-13 12:18:28 +000023#include <libxml/xmlmemory.h>
24
Daniel Veillard3c01b1d2001-10-17 15:58:35 +000025/* #define DEBUG_GLOBALS */
26
Daniel Veillardb8478642001-10-12 17:29:10 +000027/*
28 * Helpful Macro
29 */
Daniel Veillard3c01b1d2001-10-17 15:58:35 +000030#ifdef LIBXML_THREAD_ENABLED
31#define IS_MAIN_THREAD (xmlIsMainThread())
Daniel Veillardb8478642001-10-12 17:29:10 +000032#else
33#define IS_MAIN_THREAD 1
34#endif
35
36/************************************************************************
37 * *
38 * All the user accessible global variables of the library *
39 * *
40 ************************************************************************/
41
Daniel Veillardb8478642001-10-12 17:29:10 +000042/*
43 * Memory allocation routines
44 */
45#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY)
Daniel Veillardd0463562001-10-13 09:15:48 +000046extern void xmlMemFree(void *ptr);
47extern void * xmlMemMalloc(size_t size);
48extern void * xmlMemRealloc(void *ptr,size_t size);
49extern char * xmlMemoryStrdup(const char *str);
50
Daniel Veillardb8478642001-10-12 17:29:10 +000051xmlFreeFunc xmlFree = (xmlFreeFunc) xmlMemFree;
52xmlMallocFunc xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
53xmlReallocFunc xmlRealloc = (xmlReallocFunc) xmlMemRealloc;
54xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup;
55#else
56xmlFreeFunc xmlFree = (xmlFreeFunc) free;
57xmlMallocFunc xmlMalloc = (xmlMallocFunc) malloc;
58xmlReallocFunc xmlRealloc = (xmlReallocFunc) realloc;
59xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) strdup;
60#endif
61
Daniel Veillardd0463562001-10-13 09:15:48 +000062#include <libxml/threads.h>
63#include <libxml/globals.h>
64#include <libxml/SAX.h>
65
66#undef docbDefaultSAXHandler
67#undef htmlDefaultSAXHandler
68#undef oldXMLWDcompatibility
69#undef xmlBufferAllocScheme
70#undef xmlDefaultBufferSize
71#undef xmlDefaultSAXHandler
72#undef xmlDefaultSAXLocator
73#undef xmlDoValidityCheckingDefaultValue
74#undef xmlGenericError
75#undef xmlGenericErrorContext
76#undef xmlGetWarningsDefaultValue
77#undef xmlIndentTreeOutput
78#undef xmlKeepBlanksDefaultValue
79#undef xmlLineNumbersDefaultValue
80#undef xmlLoadExtDtdDefaultValue
81#undef xmlParserDebugEntities
82#undef xmlParserVersion
83#undef xmlPedanticParserDefaultValue
84#undef xmlSaveNoEmptyTags
85#undef xmlSubstituteEntitiesDefaultValue
86
87#undef xmlFree
88#undef xmlMalloc
89#undef xmlMemStrdup
90#undef xmlRealloc
91
Daniel Veillard3c01b1d2001-10-17 15:58:35 +000092const char *xmlParserVersion = LIBXML_VERSION_STRING;
93
Daniel Veillardb8478642001-10-12 17:29:10 +000094/*
95 * Buffers stuff
96 */
97xmlBufferAllocationScheme xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT;
98int xmlDefaultBufferSize = BASE_BUFFER_SIZE;
99
100/*
101 * Parser defaults
102 */
Daniel Veillardd0463562001-10-13 09:15:48 +0000103
Daniel Veillardb8478642001-10-12 17:29:10 +0000104int oldXMLWDcompatibility = 0; /* DEPRECATED */
105int xmlParserDebugEntities = 0;
106int xmlDoValidityCheckingDefaultValue = 0;
107int xmlGetWarningsDefaultValue = 1;
108int xmlLoadExtDtdDefaultValue = 0;
109int xmlPedanticParserDefaultValue = 0;
110int xmlLineNumbersDefaultValue = 0;
111int xmlKeepBlanksDefaultValue = 1;
112int xmlSubstituteEntitiesDefaultValue = 0;
113
114/*
115 * Error handling
116 */
117
118/* xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc; */
119/* Must initialize xmlGenericError in xmlInitParser */
Daniel Veillard635ef722001-10-29 11:48:19 +0000120void xmlGenericErrorDefaultFunc (void *ctx ATTRIBUTE_UNUSED,
121 const char *msg,
122 ...);
123xmlGenericErrorFunc xmlGenericError = xmlGenericErrorDefaultFunc;
Daniel Veillardb8478642001-10-12 17:29:10 +0000124void *xmlGenericErrorContext = NULL;
125
126/*
127 * output defaults
128 */
129int xmlIndentTreeOutput = 0;
130int xmlSaveNoEmptyTags = 0;
131
132/*
133 * Default handler for XML, builds the DOM tree
134 */
135xmlSAXHandler xmlDefaultSAXHandler = {
136 internalSubset,
137 isStandalone,
138 hasInternalSubset,
139 hasExternalSubset,
140 resolveEntity,
141 getEntity,
142 entityDecl,
143 notationDecl,
144 attributeDecl,
145 elementDecl,
146 unparsedEntityDecl,
147 setDocumentLocator,
148 startDocument,
149 endDocument,
150 startElement,
151 endElement,
152 reference,
153 characters,
154 characters,
155 processingInstruction,
156 comment,
157 xmlParserWarning,
158 xmlParserError,
159 xmlParserError,
160 getParameterEntity,
161 cdataBlock,
162 externalSubset,
163 0
164};
165
166/*
167 * The default SAX Locator.
168 */
169
170xmlSAXLocator xmlDefaultSAXLocator = {
171 getPublicId, getSystemId, getLineNumber, getColumnNumber
172};
173
174#ifdef LIBXML_HTML_ENABLED
175/*
176 * Default handler for HTML, builds the DOM tree
177 */
178xmlSAXHandler htmlDefaultSAXHandler = {
179 internalSubset,
180 NULL,
181 NULL,
182 NULL,
183 NULL,
184 getEntity,
185 NULL,
186 NULL,
187 NULL,
188 NULL,
189 NULL,
190 setDocumentLocator,
191 startDocument,
192 endDocument,
193 startElement,
194 endElement,
195 NULL,
196 characters,
197 ignorableWhitespace,
198 NULL,
199 comment,
200 xmlParserWarning,
201 xmlParserError,
202 xmlParserError,
203 getParameterEntity,
204 cdataBlock,
205 NULL,
206 0
207};
208#endif /* LIBXML_HTML_ENABLED */
209
210#ifdef LIBXML_DOCB_ENABLED
211/*
212 * Default handler for SGML DocBook, builds the DOM tree
213 */
214xmlSAXHandler docbDefaultSAXHandler = {
215 internalSubset,
216 isStandalone,
217 hasInternalSubset,
218 hasExternalSubset,
219 resolveEntity,
220 getEntity,
221 entityDecl,
222 NULL,
223 NULL,
224 NULL,
225 NULL,
226 setDocumentLocator,
227 startDocument,
228 endDocument,
229 startElement,
230 endElement,
231 reference,
232 characters,
233 ignorableWhitespace,
234 NULL,
235 comment,
236 xmlParserWarning,
237 xmlParserError,
238 xmlParserError,
239 getParameterEntity,
240 NULL,
241 NULL,
242 0
243};
244#endif /* LIBXML_DOCB_ENABLED */
245
246/**
247 * xmlInitializeGlobalState:
248 * @gs: a pointer to a newly allocated global state
249 *
250 * xmlInitializeGlobalState() initialize a global state with all the
251 * default values of the library.
252 */
253void
254xmlInitializeGlobalState(xmlGlobalStatePtr gs)
255{
Daniel Veillard3c01b1d2001-10-17 15:58:35 +0000256#ifdef DEBUG_GLOBALS
257 fprintf(stderr, "Initializing globals at %lu for thread %d\n",
258 (unsigned long) gs, xmlGetThreadId());
259#endif
260
Daniel Veillardb8478642001-10-12 17:29:10 +0000261 /*
262 * Perform initialisation as required by libxml
263 */
Daniel Veillard3c01b1d2001-10-17 15:58:35 +0000264 initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1);
Daniel Veillarda4617b82001-11-04 20:19:12 +0000265#ifdef LIBXML_DOCB_ENABLED
Daniel Veillardb8478642001-10-12 17:29:10 +0000266 initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler);
Daniel Veillarda4617b82001-11-04 20:19:12 +0000267#endif
268#ifdef LIBXML_HTML_ENABLED
Daniel Veillardb8478642001-10-12 17:29:10 +0000269 inithtmlDefaultSAXHandler(&gs->htmlDefaultSAXHandler);
Daniel Veillarda4617b82001-11-04 20:19:12 +0000270#endif
Daniel Veillard3c01b1d2001-10-17 15:58:35 +0000271 initGenericErrorDefaultFunc(&gs->xmlGenericError);
272
Daniel Veillardb8478642001-10-12 17:29:10 +0000273 gs->oldXMLWDcompatibility = 0;
274 gs->xmlBufferAllocScheme = XML_BUFFER_ALLOC_EXACT;
275 gs->xmlDefaultBufferSize = BASE_BUFFER_SIZE;
276 initxmlDefaultSAXHandler(&gs->xmlDefaultSAXHandler, 1);
277 gs->xmlDefaultSAXLocator.getPublicId = getPublicId;
278 gs->xmlDefaultSAXLocator.getSystemId = getSystemId;
279 gs->xmlDefaultSAXLocator.getLineNumber = getLineNumber;
280 gs->xmlDefaultSAXLocator.getColumnNumber = getColumnNumber;
281 gs->xmlDoValidityCheckingDefaultValue = 0;
282#if defined(DEBUG_MEMORY_LOCATION) | defined(DEBUG_MEMORY)
283 gs->xmlFree = (xmlFreeFunc) xmlMemFree;
284 gs->xmlMalloc = (xmlMallocFunc) xmlMemMalloc;
285 gs->xmlRealloc = (xmlReallocFunc) xmlMemRealloc;
286 gs->xmlMemStrdup = (xmlStrdupFunc) xmlMemoryStrdup;
287#else
288 gs->xmlFree = (xmlFreeFunc) free;
289 gs->xmlMalloc = (xmlMallocFunc) malloc;
290 gs->xmlRealloc = (xmlReallocFunc) realloc;
291 gs->xmlMemStrdup = (xmlStrdupFunc) strdup;
292#endif
Daniel Veillardb8478642001-10-12 17:29:10 +0000293 gs->xmlGenericErrorContext = NULL;
294 gs->xmlGetWarningsDefaultValue = 1;
295 gs->xmlIndentTreeOutput = 0;
296 gs->xmlKeepBlanksDefaultValue = 1;
297 gs->xmlLineNumbersDefaultValue = 0;
298 gs->xmlLoadExtDtdDefaultValue = 0;
299 gs->xmlParserDebugEntities = 0;
300 gs->xmlParserVersion = LIBXML_VERSION_STRING;
301 gs->xmlPedanticParserDefaultValue = 0;
302 gs->xmlSaveNoEmptyTags = 0;
303 gs->xmlSubstituteEntitiesDefaultValue = 0;
304}
305
Daniel Veillarda4617b82001-11-04 20:19:12 +0000306#ifdef LIBXML_DOCB_ENABLED
Daniel Veillardb8478642001-10-12 17:29:10 +0000307extern xmlSAXHandler docbDefaultSAXHandler;
308#undef docbDefaultSAXHandler
309xmlSAXHandler *
310__docbDefaultSAXHandler(void) {
311 if (IS_MAIN_THREAD)
312 return (&docbDefaultSAXHandler);
313 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000314 return (&xmlGetGlobalState()->docbDefaultSAXHandler);
Daniel Veillardb8478642001-10-12 17:29:10 +0000315}
Daniel Veillarda4617b82001-11-04 20:19:12 +0000316#endif
Daniel Veillardb8478642001-10-12 17:29:10 +0000317
Daniel Veillarda4617b82001-11-04 20:19:12 +0000318#ifdef LIBXML_HTML_ENABLED
Daniel Veillardb8478642001-10-12 17:29:10 +0000319extern xmlSAXHandler htmlDefaultSAXHandler;
320#undef htmlDefaultSAXHandler
321xmlSAXHandler *
322__htmlDefaultSAXHandler(void) {
323 if (IS_MAIN_THREAD)
324 return (&htmlDefaultSAXHandler);
325 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000326 return (&xmlGetGlobalState()->htmlDefaultSAXHandler);
Daniel Veillardb8478642001-10-12 17:29:10 +0000327}
Daniel Veillarda4617b82001-11-04 20:19:12 +0000328#endif
329
330/*
331 * Everything starting from the line below is
332 * Automatically generated by build_glob.py.
333 * Do not modify the previous line.
334 */
335
Daniel Veillardb8478642001-10-12 17:29:10 +0000336
337extern int oldXMLWDcompatibility;
338#undef oldXMLWDcompatibility
339int *
340__oldXMLWDcompatibility(void) {
341 if (IS_MAIN_THREAD)
342 return (&oldXMLWDcompatibility);
343 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000344 return (&xmlGetGlobalState()->oldXMLWDcompatibility);
Daniel Veillardb8478642001-10-12 17:29:10 +0000345}
346
347extern xmlBufferAllocationScheme xmlBufferAllocScheme;
348#undef xmlBufferAllocScheme
349xmlBufferAllocationScheme *
350__xmlBufferAllocScheme(void) {
351 if (IS_MAIN_THREAD)
352 return (&xmlBufferAllocScheme);
353 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000354 return (&xmlGetGlobalState()->xmlBufferAllocScheme);
Daniel Veillardb8478642001-10-12 17:29:10 +0000355}
356
357extern int xmlDefaultBufferSize;
358#undef xmlDefaultBufferSize
359int *
360__xmlDefaultBufferSize(void) {
361 if (IS_MAIN_THREAD)
362 return (&xmlDefaultBufferSize);
363 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000364 return (&xmlGetGlobalState()->xmlDefaultBufferSize);
Daniel Veillardb8478642001-10-12 17:29:10 +0000365}
366
367extern xmlSAXHandler xmlDefaultSAXHandler;
368#undef xmlDefaultSAXHandler
369xmlSAXHandler *
370__xmlDefaultSAXHandler(void) {
371 if (IS_MAIN_THREAD)
372 return (&xmlDefaultSAXHandler);
373 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000374 return (&xmlGetGlobalState()->xmlDefaultSAXHandler);
Daniel Veillardb8478642001-10-12 17:29:10 +0000375}
376
377extern xmlSAXLocator xmlDefaultSAXLocator;
378#undef xmlDefaultSAXLocator
379xmlSAXLocator *
380__xmlDefaultSAXLocator(void) {
381 if (IS_MAIN_THREAD)
382 return (&xmlDefaultSAXLocator);
383 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000384 return (&xmlGetGlobalState()->xmlDefaultSAXLocator);
Daniel Veillardb8478642001-10-12 17:29:10 +0000385}
386
387extern int xmlDoValidityCheckingDefaultValue;
388#undef xmlDoValidityCheckingDefaultValue
389int *
390__xmlDoValidityCheckingDefaultValue(void) {
391 if (IS_MAIN_THREAD)
392 return (&xmlDoValidityCheckingDefaultValue);
393 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000394 return (&xmlGetGlobalState()->xmlDoValidityCheckingDefaultValue);
Daniel Veillardb8478642001-10-12 17:29:10 +0000395}
396
397extern xmlFreeFunc xmlFree;
398#undef xmlFree
399xmlFreeFunc *
400__xmlFree(void) {
401 if (IS_MAIN_THREAD)
402 return (&xmlFree);
403 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000404 return (&xmlGetGlobalState()->xmlFree);
Daniel Veillardb8478642001-10-12 17:29:10 +0000405}
406
407extern xmlGenericErrorFunc xmlGenericError;
408#undef xmlGenericError
409xmlGenericErrorFunc *
410__xmlGenericError(void) {
411 if (IS_MAIN_THREAD)
412 return (&xmlGenericError);
413 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000414 return (&xmlGetGlobalState()->xmlGenericError);
Daniel Veillardb8478642001-10-12 17:29:10 +0000415}
416
417extern void * xmlGenericErrorContext;
418#undef xmlGenericErrorContext
419void * *
420__xmlGenericErrorContext(void) {
421 if (IS_MAIN_THREAD)
422 return (&xmlGenericErrorContext);
423 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000424 return (&xmlGetGlobalState()->xmlGenericErrorContext);
Daniel Veillardb8478642001-10-12 17:29:10 +0000425}
426
427extern int xmlGetWarningsDefaultValue;
428#undef xmlGetWarningsDefaultValue
429int *
430__xmlGetWarningsDefaultValue(void) {
431 if (IS_MAIN_THREAD)
432 return (&xmlGetWarningsDefaultValue);
433 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000434 return (&xmlGetGlobalState()->xmlGetWarningsDefaultValue);
Daniel Veillardb8478642001-10-12 17:29:10 +0000435}
436
437extern int xmlIndentTreeOutput;
438#undef xmlIndentTreeOutput
439int *
440__xmlIndentTreeOutput(void) {
441 if (IS_MAIN_THREAD)
442 return (&xmlIndentTreeOutput);
443 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000444 return (&xmlGetGlobalState()->xmlIndentTreeOutput);
Daniel Veillardb8478642001-10-12 17:29:10 +0000445}
446
447extern int xmlKeepBlanksDefaultValue;
448#undef xmlKeepBlanksDefaultValue
449int *
450__xmlKeepBlanksDefaultValue(void) {
451 if (IS_MAIN_THREAD)
452 return (&xmlKeepBlanksDefaultValue);
453 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000454 return (&xmlGetGlobalState()->xmlKeepBlanksDefaultValue);
Daniel Veillardb8478642001-10-12 17:29:10 +0000455}
456
457extern int xmlLineNumbersDefaultValue;
458#undef xmlLineNumbersDefaultValue
459int *
460__xmlLineNumbersDefaultValue(void) {
461 if (IS_MAIN_THREAD)
462 return (&xmlLineNumbersDefaultValue);
463 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000464 return (&xmlGetGlobalState()->xmlLineNumbersDefaultValue);
Daniel Veillardb8478642001-10-12 17:29:10 +0000465}
466
467extern int xmlLoadExtDtdDefaultValue;
468#undef xmlLoadExtDtdDefaultValue
469int *
470__xmlLoadExtDtdDefaultValue(void) {
471 if (IS_MAIN_THREAD)
472 return (&xmlLoadExtDtdDefaultValue);
473 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000474 return (&xmlGetGlobalState()->xmlLoadExtDtdDefaultValue);
Daniel Veillardb8478642001-10-12 17:29:10 +0000475}
476
477extern xmlMallocFunc xmlMalloc;
478#undef xmlMalloc
479xmlMallocFunc *
480__xmlMalloc(void) {
481 if (IS_MAIN_THREAD)
482 return (&xmlMalloc);
483 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000484 return (&xmlGetGlobalState()->xmlMalloc);
Daniel Veillardb8478642001-10-12 17:29:10 +0000485}
486
487extern xmlStrdupFunc xmlMemStrdup;
488#undef xmlMemStrdup
489xmlStrdupFunc *
490__xmlMemStrdup(void) {
491 if (IS_MAIN_THREAD)
492 return (&xmlMemStrdup);
493 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000494 return (&xmlGetGlobalState()->xmlMemStrdup);
Daniel Veillardb8478642001-10-12 17:29:10 +0000495}
496
497extern int xmlParserDebugEntities;
498#undef xmlParserDebugEntities
499int *
500__xmlParserDebugEntities(void) {
501 if (IS_MAIN_THREAD)
502 return (&xmlParserDebugEntities);
503 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000504 return (&xmlGetGlobalState()->xmlParserDebugEntities);
Daniel Veillardb8478642001-10-12 17:29:10 +0000505}
506
507extern const char * xmlParserVersion;
508#undef xmlParserVersion
509const char * *
510__xmlParserVersion(void) {
511 if (IS_MAIN_THREAD)
512 return (&xmlParserVersion);
513 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000514 return (&xmlGetGlobalState()->xmlParserVersion);
Daniel Veillardb8478642001-10-12 17:29:10 +0000515}
516
517extern int xmlPedanticParserDefaultValue;
518#undef xmlPedanticParserDefaultValue
519int *
520__xmlPedanticParserDefaultValue(void) {
521 if (IS_MAIN_THREAD)
522 return (&xmlPedanticParserDefaultValue);
523 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000524 return (&xmlGetGlobalState()->xmlPedanticParserDefaultValue);
Daniel Veillardb8478642001-10-12 17:29:10 +0000525}
526
527extern xmlReallocFunc xmlRealloc;
528#undef xmlRealloc
529xmlReallocFunc *
530__xmlRealloc(void) {
531 if (IS_MAIN_THREAD)
532 return (&xmlRealloc);
533 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000534 return (&xmlGetGlobalState()->xmlRealloc);
Daniel Veillardb8478642001-10-12 17:29:10 +0000535}
536
537extern int xmlSaveNoEmptyTags;
538#undef xmlSaveNoEmptyTags
539int *
540__xmlSaveNoEmptyTags(void) {
541 if (IS_MAIN_THREAD)
542 return (&xmlSaveNoEmptyTags);
543 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000544 return (&xmlGetGlobalState()->xmlSaveNoEmptyTags);
Daniel Veillardb8478642001-10-12 17:29:10 +0000545}
546
547extern int xmlSubstituteEntitiesDefaultValue;
548#undef xmlSubstituteEntitiesDefaultValue
549int *
550__xmlSubstituteEntitiesDefaultValue(void) {
551 if (IS_MAIN_THREAD)
552 return (&xmlSubstituteEntitiesDefaultValue);
553 else
Daniel Veillardd0463562001-10-13 09:15:48 +0000554 return (&xmlGetGlobalState()->xmlSubstituteEntitiesDefaultValue);
Daniel Veillardb8478642001-10-12 17:29:10 +0000555}