nokogiri 1.13.0-aarch64-linux
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of nokogiri might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/Gemfile +5 -0
- data/LICENSE-DEPENDENCIES.md +1903 -0
- data/LICENSE.md +9 -0
- data/README.md +280 -0
- data/bin/nokogiri +131 -0
- data/dependencies.yml +73 -0
- data/ext/nokogiri/depend +38 -0
- data/ext/nokogiri/extconf.rb +1000 -0
- data/ext/nokogiri/gumbo.c +584 -0
- data/ext/nokogiri/html4_document.c +166 -0
- data/ext/nokogiri/html4_element_description.c +294 -0
- data/ext/nokogiri/html4_entity_lookup.c +37 -0
- data/ext/nokogiri/html4_sax_parser_context.c +120 -0
- data/ext/nokogiri/html4_sax_push_parser.c +95 -0
- data/ext/nokogiri/include/libexslt/exslt.h +102 -0
- data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
- data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
- data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
- data/ext/nokogiri/include/libxml2/libxml/c14n.h +128 -0
- data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
- data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
- data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
- data/ext/nokogiri/include/libxml2/libxml/dict.h +79 -0
- data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
- data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
- data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
- data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
- data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
- data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
- data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
- data/ext/nokogiri/include/libxml2/libxml/parser.h +1243 -0
- data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
- data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
- data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
- data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
- data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
- data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
- data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
- data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
- data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
- data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
- data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +368 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +946 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
- data/ext/nokogiri/include/libxml2/libxml/xpath.h +564 -0
- data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
- data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
- data/ext/nokogiri/include/libxslt/attributes.h +38 -0
- data/ext/nokogiri/include/libxslt/documents.h +93 -0
- data/ext/nokogiri/include/libxslt/extensions.h +262 -0
- data/ext/nokogiri/include/libxslt/extra.h +72 -0
- data/ext/nokogiri/include/libxslt/functions.h +78 -0
- data/ext/nokogiri/include/libxslt/imports.h +75 -0
- data/ext/nokogiri/include/libxslt/keys.h +53 -0
- data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
- data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
- data/ext/nokogiri/include/libxslt/pattern.h +84 -0
- data/ext/nokogiri/include/libxslt/preproc.h +43 -0
- data/ext/nokogiri/include/libxslt/security.h +104 -0
- data/ext/nokogiri/include/libxslt/templates.h +77 -0
- data/ext/nokogiri/include/libxslt/transform.h +207 -0
- data/ext/nokogiri/include/libxslt/variables.h +118 -0
- data/ext/nokogiri/include/libxslt/xslt.h +110 -0
- data/ext/nokogiri/include/libxslt/xsltInternals.h +1978 -0
- data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
- data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
- data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
- data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
- data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
- data/ext/nokogiri/nokogiri.c +278 -0
- data/ext/nokogiri/nokogiri.h +223 -0
- data/ext/nokogiri/test_global_handlers.c +40 -0
- data/ext/nokogiri/xml_attr.c +103 -0
- data/ext/nokogiri/xml_attribute_decl.c +70 -0
- data/ext/nokogiri/xml_cdata.c +57 -0
- data/ext/nokogiri/xml_comment.c +62 -0
- data/ext/nokogiri/xml_document.c +680 -0
- data/ext/nokogiri/xml_document_fragment.c +44 -0
- data/ext/nokogiri/xml_dtd.c +208 -0
- data/ext/nokogiri/xml_element_content.c +128 -0
- data/ext/nokogiri/xml_element_decl.c +69 -0
- data/ext/nokogiri/xml_encoding_handler.c +104 -0
- data/ext/nokogiri/xml_entity_decl.c +112 -0
- data/ext/nokogiri/xml_entity_reference.c +50 -0
- data/ext/nokogiri/xml_namespace.c +120 -0
- data/ext/nokogiri/xml_node.c +2144 -0
- data/ext/nokogiri/xml_node_set.c +498 -0
- data/ext/nokogiri/xml_processing_instruction.c +54 -0
- data/ext/nokogiri/xml_reader.c +719 -0
- data/ext/nokogiri/xml_relax_ng.c +185 -0
- data/ext/nokogiri/xml_sax_parser.c +310 -0
- data/ext/nokogiri/xml_sax_parser_context.c +281 -0
- data/ext/nokogiri/xml_sax_push_parser.c +168 -0
- data/ext/nokogiri/xml_schema.c +284 -0
- data/ext/nokogiri/xml_syntax_error.c +85 -0
- data/ext/nokogiri/xml_text.c +48 -0
- data/ext/nokogiri/xml_xpath_context.c +406 -0
- data/ext/nokogiri/xslt_stylesheet.c +264 -0
- data/gumbo-parser/CHANGES.md +63 -0
- data/gumbo-parser/Makefile +101 -0
- data/gumbo-parser/THANKS +27 -0
- data/lib/nokogiri/2.6/nokogiri.so +0 -0
- data/lib/nokogiri/2.7/nokogiri.so +0 -0
- data/lib/nokogiri/3.0/nokogiri.so +0 -0
- data/lib/nokogiri/3.1/nokogiri.so +0 -0
- data/lib/nokogiri/class_resolver.rb +67 -0
- data/lib/nokogiri/css/node.rb +54 -0
- data/lib/nokogiri/css/parser.rb +759 -0
- data/lib/nokogiri/css/parser.y +280 -0
- data/lib/nokogiri/css/parser_extras.rb +94 -0
- data/lib/nokogiri/css/syntax_error.rb +9 -0
- data/lib/nokogiri/css/tokenizer.rb +155 -0
- data/lib/nokogiri/css/tokenizer.rex +56 -0
- data/lib/nokogiri/css/xpath_visitor.rb +359 -0
- data/lib/nokogiri/css.rb +60 -0
- data/lib/nokogiri/decorators/slop.rb +44 -0
- data/lib/nokogiri/extension.rb +31 -0
- data/lib/nokogiri/gumbo.rb +15 -0
- data/lib/nokogiri/html.rb +48 -0
- data/lib/nokogiri/html4/builder.rb +37 -0
- data/lib/nokogiri/html4/document.rb +331 -0
- data/lib/nokogiri/html4/document_fragment.rb +54 -0
- data/lib/nokogiri/html4/element_description.rb +25 -0
- data/lib/nokogiri/html4/element_description_defaults.rb +578 -0
- data/lib/nokogiri/html4/entity_lookup.rb +15 -0
- data/lib/nokogiri/html4/sax/parser.rb +61 -0
- data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
- data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
- data/lib/nokogiri/html4.rb +46 -0
- data/lib/nokogiri/html5/document.rb +88 -0
- data/lib/nokogiri/html5/document_fragment.rb +83 -0
- data/lib/nokogiri/html5/node.rb +96 -0
- data/lib/nokogiri/html5.rb +477 -0
- data/lib/nokogiri/jruby/dependencies.rb +21 -0
- data/lib/nokogiri/syntax_error.rb +6 -0
- data/lib/nokogiri/version/constant.rb +6 -0
- data/lib/nokogiri/version/info.rb +221 -0
- data/lib/nokogiri/version.rb +4 -0
- data/lib/nokogiri/xml/attr.rb +17 -0
- data/lib/nokogiri/xml/attribute_decl.rb +20 -0
- data/lib/nokogiri/xml/builder.rb +485 -0
- data/lib/nokogiri/xml/cdata.rb +13 -0
- data/lib/nokogiri/xml/character_data.rb +9 -0
- data/lib/nokogiri/xml/document.rb +418 -0
- data/lib/nokogiri/xml/document_fragment.rb +162 -0
- data/lib/nokogiri/xml/dtd.rb +34 -0
- data/lib/nokogiri/xml/element_content.rb +38 -0
- data/lib/nokogiri/xml/element_decl.rb +15 -0
- data/lib/nokogiri/xml/entity_decl.rb +21 -0
- data/lib/nokogiri/xml/entity_reference.rb +20 -0
- data/lib/nokogiri/xml/namespace.rb +16 -0
- data/lib/nokogiri/xml/node/save_options.rb +65 -0
- data/lib/nokogiri/xml/node.rb +1402 -0
- data/lib/nokogiri/xml/node_set.rb +364 -0
- data/lib/nokogiri/xml/notation.rb +19 -0
- data/lib/nokogiri/xml/parse_options.rb +133 -0
- data/lib/nokogiri/xml/pp/character_data.rb +21 -0
- data/lib/nokogiri/xml/pp/node.rb +55 -0
- data/lib/nokogiri/xml/pp.rb +4 -0
- data/lib/nokogiri/xml/processing_instruction.rb +10 -0
- data/lib/nokogiri/xml/reader.rb +107 -0
- data/lib/nokogiri/xml/relax_ng.rb +38 -0
- data/lib/nokogiri/xml/sax/document.rb +167 -0
- data/lib/nokogiri/xml/sax/parser.rb +125 -0
- data/lib/nokogiri/xml/sax/parser_context.rb +21 -0
- data/lib/nokogiri/xml/sax/push_parser.rb +61 -0
- data/lib/nokogiri/xml/sax.rb +6 -0
- data/lib/nokogiri/xml/schema.rb +73 -0
- data/lib/nokogiri/xml/searchable.rb +259 -0
- data/lib/nokogiri/xml/syntax_error.rb +71 -0
- data/lib/nokogiri/xml/text.rb +11 -0
- data/lib/nokogiri/xml/xpath/syntax_error.rb +13 -0
- data/lib/nokogiri/xml/xpath.rb +21 -0
- data/lib/nokogiri/xml/xpath_context.rb +16 -0
- data/lib/nokogiri/xml.rb +75 -0
- data/lib/nokogiri/xslt/stylesheet.rb +27 -0
- data/lib/nokogiri/xslt.rb +58 -0
- data/lib/nokogiri.rb +128 -0
- data/lib/xsd/xmlparser/nokogiri.rb +104 -0
- metadata +539 -0
@@ -0,0 +1,182 @@
|
|
1
|
+
/**
|
2
|
+
* Summary: interfaces to the Catalog handling system
|
3
|
+
* Description: the catalog module implements the support for
|
4
|
+
* XML Catalogs and SGML catalogs
|
5
|
+
*
|
6
|
+
* SGML Open Technical Resolution TR9401:1997.
|
7
|
+
* http://www.jclark.com/sp/catalog.htm
|
8
|
+
*
|
9
|
+
* XML Catalogs Working Draft 06 August 2001
|
10
|
+
* http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
|
11
|
+
*
|
12
|
+
* Copy: See Copyright for the status of this software.
|
13
|
+
*
|
14
|
+
* Author: Daniel Veillard
|
15
|
+
*/
|
16
|
+
|
17
|
+
#ifndef __XML_CATALOG_H__
|
18
|
+
#define __XML_CATALOG_H__
|
19
|
+
|
20
|
+
#include <stdio.h>
|
21
|
+
|
22
|
+
#include <libxml/xmlversion.h>
|
23
|
+
#include <libxml/xmlstring.h>
|
24
|
+
#include <libxml/tree.h>
|
25
|
+
|
26
|
+
#ifdef LIBXML_CATALOG_ENABLED
|
27
|
+
|
28
|
+
#ifdef __cplusplus
|
29
|
+
extern "C" {
|
30
|
+
#endif
|
31
|
+
|
32
|
+
/**
|
33
|
+
* XML_CATALOGS_NAMESPACE:
|
34
|
+
*
|
35
|
+
* The namespace for the XML Catalogs elements.
|
36
|
+
*/
|
37
|
+
#define XML_CATALOGS_NAMESPACE \
|
38
|
+
(const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
|
39
|
+
/**
|
40
|
+
* XML_CATALOG_PI:
|
41
|
+
*
|
42
|
+
* The specific XML Catalog Processing Instruction name.
|
43
|
+
*/
|
44
|
+
#define XML_CATALOG_PI \
|
45
|
+
(const xmlChar *) "oasis-xml-catalog"
|
46
|
+
|
47
|
+
/*
|
48
|
+
* The API is voluntarily limited to general cataloging.
|
49
|
+
*/
|
50
|
+
typedef enum {
|
51
|
+
XML_CATA_PREFER_NONE = 0,
|
52
|
+
XML_CATA_PREFER_PUBLIC = 1,
|
53
|
+
XML_CATA_PREFER_SYSTEM
|
54
|
+
} xmlCatalogPrefer;
|
55
|
+
|
56
|
+
typedef enum {
|
57
|
+
XML_CATA_ALLOW_NONE = 0,
|
58
|
+
XML_CATA_ALLOW_GLOBAL = 1,
|
59
|
+
XML_CATA_ALLOW_DOCUMENT = 2,
|
60
|
+
XML_CATA_ALLOW_ALL = 3
|
61
|
+
} xmlCatalogAllow;
|
62
|
+
|
63
|
+
typedef struct _xmlCatalog xmlCatalog;
|
64
|
+
typedef xmlCatalog *xmlCatalogPtr;
|
65
|
+
|
66
|
+
/*
|
67
|
+
* Operations on a given catalog.
|
68
|
+
*/
|
69
|
+
XMLPUBFUN xmlCatalogPtr XMLCALL
|
70
|
+
xmlNewCatalog (int sgml);
|
71
|
+
XMLPUBFUN xmlCatalogPtr XMLCALL
|
72
|
+
xmlLoadACatalog (const char *filename);
|
73
|
+
XMLPUBFUN xmlCatalogPtr XMLCALL
|
74
|
+
xmlLoadSGMLSuperCatalog (const char *filename);
|
75
|
+
XMLPUBFUN int XMLCALL
|
76
|
+
xmlConvertSGMLCatalog (xmlCatalogPtr catal);
|
77
|
+
XMLPUBFUN int XMLCALL
|
78
|
+
xmlACatalogAdd (xmlCatalogPtr catal,
|
79
|
+
const xmlChar *type,
|
80
|
+
const xmlChar *orig,
|
81
|
+
const xmlChar *replace);
|
82
|
+
XMLPUBFUN int XMLCALL
|
83
|
+
xmlACatalogRemove (xmlCatalogPtr catal,
|
84
|
+
const xmlChar *value);
|
85
|
+
XMLPUBFUN xmlChar * XMLCALL
|
86
|
+
xmlACatalogResolve (xmlCatalogPtr catal,
|
87
|
+
const xmlChar *pubID,
|
88
|
+
const xmlChar *sysID);
|
89
|
+
XMLPUBFUN xmlChar * XMLCALL
|
90
|
+
xmlACatalogResolveSystem(xmlCatalogPtr catal,
|
91
|
+
const xmlChar *sysID);
|
92
|
+
XMLPUBFUN xmlChar * XMLCALL
|
93
|
+
xmlACatalogResolvePublic(xmlCatalogPtr catal,
|
94
|
+
const xmlChar *pubID);
|
95
|
+
XMLPUBFUN xmlChar * XMLCALL
|
96
|
+
xmlACatalogResolveURI (xmlCatalogPtr catal,
|
97
|
+
const xmlChar *URI);
|
98
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
99
|
+
XMLPUBFUN void XMLCALL
|
100
|
+
xmlACatalogDump (xmlCatalogPtr catal,
|
101
|
+
FILE *out);
|
102
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
103
|
+
XMLPUBFUN void XMLCALL
|
104
|
+
xmlFreeCatalog (xmlCatalogPtr catal);
|
105
|
+
XMLPUBFUN int XMLCALL
|
106
|
+
xmlCatalogIsEmpty (xmlCatalogPtr catal);
|
107
|
+
|
108
|
+
/*
|
109
|
+
* Global operations.
|
110
|
+
*/
|
111
|
+
XMLPUBFUN void XMLCALL
|
112
|
+
xmlInitializeCatalog (void);
|
113
|
+
XMLPUBFUN int XMLCALL
|
114
|
+
xmlLoadCatalog (const char *filename);
|
115
|
+
XMLPUBFUN void XMLCALL
|
116
|
+
xmlLoadCatalogs (const char *paths);
|
117
|
+
XMLPUBFUN void XMLCALL
|
118
|
+
xmlCatalogCleanup (void);
|
119
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
120
|
+
XMLPUBFUN void XMLCALL
|
121
|
+
xmlCatalogDump (FILE *out);
|
122
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
123
|
+
XMLPUBFUN xmlChar * XMLCALL
|
124
|
+
xmlCatalogResolve (const xmlChar *pubID,
|
125
|
+
const xmlChar *sysID);
|
126
|
+
XMLPUBFUN xmlChar * XMLCALL
|
127
|
+
xmlCatalogResolveSystem (const xmlChar *sysID);
|
128
|
+
XMLPUBFUN xmlChar * XMLCALL
|
129
|
+
xmlCatalogResolvePublic (const xmlChar *pubID);
|
130
|
+
XMLPUBFUN xmlChar * XMLCALL
|
131
|
+
xmlCatalogResolveURI (const xmlChar *URI);
|
132
|
+
XMLPUBFUN int XMLCALL
|
133
|
+
xmlCatalogAdd (const xmlChar *type,
|
134
|
+
const xmlChar *orig,
|
135
|
+
const xmlChar *replace);
|
136
|
+
XMLPUBFUN int XMLCALL
|
137
|
+
xmlCatalogRemove (const xmlChar *value);
|
138
|
+
XMLPUBFUN xmlDocPtr XMLCALL
|
139
|
+
xmlParseCatalogFile (const char *filename);
|
140
|
+
XMLPUBFUN int XMLCALL
|
141
|
+
xmlCatalogConvert (void);
|
142
|
+
|
143
|
+
/*
|
144
|
+
* Strictly minimal interfaces for per-document catalogs used
|
145
|
+
* by the parser.
|
146
|
+
*/
|
147
|
+
XMLPUBFUN void XMLCALL
|
148
|
+
xmlCatalogFreeLocal (void *catalogs);
|
149
|
+
XMLPUBFUN void * XMLCALL
|
150
|
+
xmlCatalogAddLocal (void *catalogs,
|
151
|
+
const xmlChar *URL);
|
152
|
+
XMLPUBFUN xmlChar * XMLCALL
|
153
|
+
xmlCatalogLocalResolve (void *catalogs,
|
154
|
+
const xmlChar *pubID,
|
155
|
+
const xmlChar *sysID);
|
156
|
+
XMLPUBFUN xmlChar * XMLCALL
|
157
|
+
xmlCatalogLocalResolveURI(void *catalogs,
|
158
|
+
const xmlChar *URI);
|
159
|
+
/*
|
160
|
+
* Preference settings.
|
161
|
+
*/
|
162
|
+
XMLPUBFUN int XMLCALL
|
163
|
+
xmlCatalogSetDebug (int level);
|
164
|
+
XMLPUBFUN xmlCatalogPrefer XMLCALL
|
165
|
+
xmlCatalogSetDefaultPrefer(xmlCatalogPrefer prefer);
|
166
|
+
XMLPUBFUN void XMLCALL
|
167
|
+
xmlCatalogSetDefaults (xmlCatalogAllow allow);
|
168
|
+
XMLPUBFUN xmlCatalogAllow XMLCALL
|
169
|
+
xmlCatalogGetDefaults (void);
|
170
|
+
|
171
|
+
|
172
|
+
/* DEPRECATED interfaces */
|
173
|
+
XMLPUBFUN const xmlChar * XMLCALL
|
174
|
+
xmlCatalogGetSystem (const xmlChar *sysID);
|
175
|
+
XMLPUBFUN const xmlChar * XMLCALL
|
176
|
+
xmlCatalogGetPublic (const xmlChar *pubID);
|
177
|
+
|
178
|
+
#ifdef __cplusplus
|
179
|
+
}
|
180
|
+
#endif
|
181
|
+
#endif /* LIBXML_CATALOG_ENABLED */
|
182
|
+
#endif /* __XML_CATALOG_H__ */
|
@@ -0,0 +1,230 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: Unicode character range checking
|
3
|
+
* Description: this module exports interfaces for the character
|
4
|
+
* range validation APIs
|
5
|
+
*
|
6
|
+
* This file is automatically generated from the cvs source
|
7
|
+
* definition files using the genChRanges.py Python script
|
8
|
+
*
|
9
|
+
* Generation date: Mon Mar 27 11:09:48 2006
|
10
|
+
* Sources: chvalid.def
|
11
|
+
* Author: William Brack <wbrack@mmm.com.hk>
|
12
|
+
*/
|
13
|
+
|
14
|
+
#ifndef __XML_CHVALID_H__
|
15
|
+
#define __XML_CHVALID_H__
|
16
|
+
|
17
|
+
#include <libxml/xmlversion.h>
|
18
|
+
#include <libxml/xmlstring.h>
|
19
|
+
|
20
|
+
#ifdef __cplusplus
|
21
|
+
extern "C" {
|
22
|
+
#endif
|
23
|
+
|
24
|
+
/*
|
25
|
+
* Define our typedefs and structures
|
26
|
+
*
|
27
|
+
*/
|
28
|
+
typedef struct _xmlChSRange xmlChSRange;
|
29
|
+
typedef xmlChSRange *xmlChSRangePtr;
|
30
|
+
struct _xmlChSRange {
|
31
|
+
unsigned short low;
|
32
|
+
unsigned short high;
|
33
|
+
};
|
34
|
+
|
35
|
+
typedef struct _xmlChLRange xmlChLRange;
|
36
|
+
typedef xmlChLRange *xmlChLRangePtr;
|
37
|
+
struct _xmlChLRange {
|
38
|
+
unsigned int low;
|
39
|
+
unsigned int high;
|
40
|
+
};
|
41
|
+
|
42
|
+
typedef struct _xmlChRangeGroup xmlChRangeGroup;
|
43
|
+
typedef xmlChRangeGroup *xmlChRangeGroupPtr;
|
44
|
+
struct _xmlChRangeGroup {
|
45
|
+
int nbShortRange;
|
46
|
+
int nbLongRange;
|
47
|
+
const xmlChSRange *shortRange; /* points to an array of ranges */
|
48
|
+
const xmlChLRange *longRange;
|
49
|
+
};
|
50
|
+
|
51
|
+
/**
|
52
|
+
* Range checking routine
|
53
|
+
*/
|
54
|
+
XMLPUBFUN int XMLCALL
|
55
|
+
xmlCharInRange(unsigned int val, const xmlChRangeGroup *group);
|
56
|
+
|
57
|
+
|
58
|
+
/**
|
59
|
+
* xmlIsBaseChar_ch:
|
60
|
+
* @c: char to validate
|
61
|
+
*
|
62
|
+
* Automatically generated by genChRanges.py
|
63
|
+
*/
|
64
|
+
#define xmlIsBaseChar_ch(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \
|
65
|
+
((0x61 <= (c)) && ((c) <= 0x7a)) || \
|
66
|
+
((0xc0 <= (c)) && ((c) <= 0xd6)) || \
|
67
|
+
((0xd8 <= (c)) && ((c) <= 0xf6)) || \
|
68
|
+
(0xf8 <= (c)))
|
69
|
+
|
70
|
+
/**
|
71
|
+
* xmlIsBaseCharQ:
|
72
|
+
* @c: char to validate
|
73
|
+
*
|
74
|
+
* Automatically generated by genChRanges.py
|
75
|
+
*/
|
76
|
+
#define xmlIsBaseCharQ(c) (((c) < 0x100) ? \
|
77
|
+
xmlIsBaseChar_ch((c)) : \
|
78
|
+
xmlCharInRange((c), &xmlIsBaseCharGroup))
|
79
|
+
|
80
|
+
XMLPUBVAR const xmlChRangeGroup xmlIsBaseCharGroup;
|
81
|
+
|
82
|
+
/**
|
83
|
+
* xmlIsBlank_ch:
|
84
|
+
* @c: char to validate
|
85
|
+
*
|
86
|
+
* Automatically generated by genChRanges.py
|
87
|
+
*/
|
88
|
+
#define xmlIsBlank_ch(c) (((c) == 0x20) || \
|
89
|
+
((0x9 <= (c)) && ((c) <= 0xa)) || \
|
90
|
+
((c) == 0xd))
|
91
|
+
|
92
|
+
/**
|
93
|
+
* xmlIsBlankQ:
|
94
|
+
* @c: char to validate
|
95
|
+
*
|
96
|
+
* Automatically generated by genChRanges.py
|
97
|
+
*/
|
98
|
+
#define xmlIsBlankQ(c) (((c) < 0x100) ? \
|
99
|
+
xmlIsBlank_ch((c)) : 0)
|
100
|
+
|
101
|
+
|
102
|
+
/**
|
103
|
+
* xmlIsChar_ch:
|
104
|
+
* @c: char to validate
|
105
|
+
*
|
106
|
+
* Automatically generated by genChRanges.py
|
107
|
+
*/
|
108
|
+
#define xmlIsChar_ch(c) (((0x9 <= (c)) && ((c) <= 0xa)) || \
|
109
|
+
((c) == 0xd) || \
|
110
|
+
(0x20 <= (c)))
|
111
|
+
|
112
|
+
/**
|
113
|
+
* xmlIsCharQ:
|
114
|
+
* @c: char to validate
|
115
|
+
*
|
116
|
+
* Automatically generated by genChRanges.py
|
117
|
+
*/
|
118
|
+
#define xmlIsCharQ(c) (((c) < 0x100) ? \
|
119
|
+
xmlIsChar_ch((c)) :\
|
120
|
+
(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
|
121
|
+
((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
|
122
|
+
((0x10000 <= (c)) && ((c) <= 0x10ffff))))
|
123
|
+
|
124
|
+
XMLPUBVAR const xmlChRangeGroup xmlIsCharGroup;
|
125
|
+
|
126
|
+
/**
|
127
|
+
* xmlIsCombiningQ:
|
128
|
+
* @c: char to validate
|
129
|
+
*
|
130
|
+
* Automatically generated by genChRanges.py
|
131
|
+
*/
|
132
|
+
#define xmlIsCombiningQ(c) (((c) < 0x100) ? \
|
133
|
+
0 : \
|
134
|
+
xmlCharInRange((c), &xmlIsCombiningGroup))
|
135
|
+
|
136
|
+
XMLPUBVAR const xmlChRangeGroup xmlIsCombiningGroup;
|
137
|
+
|
138
|
+
/**
|
139
|
+
* xmlIsDigit_ch:
|
140
|
+
* @c: char to validate
|
141
|
+
*
|
142
|
+
* Automatically generated by genChRanges.py
|
143
|
+
*/
|
144
|
+
#define xmlIsDigit_ch(c) (((0x30 <= (c)) && ((c) <= 0x39)))
|
145
|
+
|
146
|
+
/**
|
147
|
+
* xmlIsDigitQ:
|
148
|
+
* @c: char to validate
|
149
|
+
*
|
150
|
+
* Automatically generated by genChRanges.py
|
151
|
+
*/
|
152
|
+
#define xmlIsDigitQ(c) (((c) < 0x100) ? \
|
153
|
+
xmlIsDigit_ch((c)) : \
|
154
|
+
xmlCharInRange((c), &xmlIsDigitGroup))
|
155
|
+
|
156
|
+
XMLPUBVAR const xmlChRangeGroup xmlIsDigitGroup;
|
157
|
+
|
158
|
+
/**
|
159
|
+
* xmlIsExtender_ch:
|
160
|
+
* @c: char to validate
|
161
|
+
*
|
162
|
+
* Automatically generated by genChRanges.py
|
163
|
+
*/
|
164
|
+
#define xmlIsExtender_ch(c) (((c) == 0xb7))
|
165
|
+
|
166
|
+
/**
|
167
|
+
* xmlIsExtenderQ:
|
168
|
+
* @c: char to validate
|
169
|
+
*
|
170
|
+
* Automatically generated by genChRanges.py
|
171
|
+
*/
|
172
|
+
#define xmlIsExtenderQ(c) (((c) < 0x100) ? \
|
173
|
+
xmlIsExtender_ch((c)) : \
|
174
|
+
xmlCharInRange((c), &xmlIsExtenderGroup))
|
175
|
+
|
176
|
+
XMLPUBVAR const xmlChRangeGroup xmlIsExtenderGroup;
|
177
|
+
|
178
|
+
/**
|
179
|
+
* xmlIsIdeographicQ:
|
180
|
+
* @c: char to validate
|
181
|
+
*
|
182
|
+
* Automatically generated by genChRanges.py
|
183
|
+
*/
|
184
|
+
#define xmlIsIdeographicQ(c) (((c) < 0x100) ? \
|
185
|
+
0 :\
|
186
|
+
(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
|
187
|
+
((c) == 0x3007) || \
|
188
|
+
((0x3021 <= (c)) && ((c) <= 0x3029))))
|
189
|
+
|
190
|
+
XMLPUBVAR const xmlChRangeGroup xmlIsIdeographicGroup;
|
191
|
+
XMLPUBVAR const unsigned char xmlIsPubidChar_tab[256];
|
192
|
+
|
193
|
+
/**
|
194
|
+
* xmlIsPubidChar_ch:
|
195
|
+
* @c: char to validate
|
196
|
+
*
|
197
|
+
* Automatically generated by genChRanges.py
|
198
|
+
*/
|
199
|
+
#define xmlIsPubidChar_ch(c) (xmlIsPubidChar_tab[(c)])
|
200
|
+
|
201
|
+
/**
|
202
|
+
* xmlIsPubidCharQ:
|
203
|
+
* @c: char to validate
|
204
|
+
*
|
205
|
+
* Automatically generated by genChRanges.py
|
206
|
+
*/
|
207
|
+
#define xmlIsPubidCharQ(c) (((c) < 0x100) ? \
|
208
|
+
xmlIsPubidChar_ch((c)) : 0)
|
209
|
+
|
210
|
+
XMLPUBFUN int XMLCALL
|
211
|
+
xmlIsBaseChar(unsigned int ch);
|
212
|
+
XMLPUBFUN int XMLCALL
|
213
|
+
xmlIsBlank(unsigned int ch);
|
214
|
+
XMLPUBFUN int XMLCALL
|
215
|
+
xmlIsChar(unsigned int ch);
|
216
|
+
XMLPUBFUN int XMLCALL
|
217
|
+
xmlIsCombining(unsigned int ch);
|
218
|
+
XMLPUBFUN int XMLCALL
|
219
|
+
xmlIsDigit(unsigned int ch);
|
220
|
+
XMLPUBFUN int XMLCALL
|
221
|
+
xmlIsExtender(unsigned int ch);
|
222
|
+
XMLPUBFUN int XMLCALL
|
223
|
+
xmlIsIdeographic(unsigned int ch);
|
224
|
+
XMLPUBFUN int XMLCALL
|
225
|
+
xmlIsPubidChar(unsigned int ch);
|
226
|
+
|
227
|
+
#ifdef __cplusplus
|
228
|
+
}
|
229
|
+
#endif
|
230
|
+
#endif /* __XML_CHVALID_H__ */
|
@@ -0,0 +1,217 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: Tree debugging APIs
|
3
|
+
* Description: Interfaces to a set of routines used for debugging the tree
|
4
|
+
* produced by the XML parser.
|
5
|
+
*
|
6
|
+
* Copy: See Copyright for the status of this software.
|
7
|
+
*
|
8
|
+
* Author: Daniel Veillard
|
9
|
+
*/
|
10
|
+
|
11
|
+
#ifndef __DEBUG_XML__
|
12
|
+
#define __DEBUG_XML__
|
13
|
+
#include <stdio.h>
|
14
|
+
#include <libxml/xmlversion.h>
|
15
|
+
#include <libxml/tree.h>
|
16
|
+
|
17
|
+
#ifdef LIBXML_DEBUG_ENABLED
|
18
|
+
|
19
|
+
#include <libxml/xpath.h>
|
20
|
+
|
21
|
+
#ifdef __cplusplus
|
22
|
+
extern "C" {
|
23
|
+
#endif
|
24
|
+
|
25
|
+
/*
|
26
|
+
* The standard Dump routines.
|
27
|
+
*/
|
28
|
+
XMLPUBFUN void XMLCALL
|
29
|
+
xmlDebugDumpString (FILE *output,
|
30
|
+
const xmlChar *str);
|
31
|
+
XMLPUBFUN void XMLCALL
|
32
|
+
xmlDebugDumpAttr (FILE *output,
|
33
|
+
xmlAttrPtr attr,
|
34
|
+
int depth);
|
35
|
+
XMLPUBFUN void XMLCALL
|
36
|
+
xmlDebugDumpAttrList (FILE *output,
|
37
|
+
xmlAttrPtr attr,
|
38
|
+
int depth);
|
39
|
+
XMLPUBFUN void XMLCALL
|
40
|
+
xmlDebugDumpOneNode (FILE *output,
|
41
|
+
xmlNodePtr node,
|
42
|
+
int depth);
|
43
|
+
XMLPUBFUN void XMLCALL
|
44
|
+
xmlDebugDumpNode (FILE *output,
|
45
|
+
xmlNodePtr node,
|
46
|
+
int depth);
|
47
|
+
XMLPUBFUN void XMLCALL
|
48
|
+
xmlDebugDumpNodeList (FILE *output,
|
49
|
+
xmlNodePtr node,
|
50
|
+
int depth);
|
51
|
+
XMLPUBFUN void XMLCALL
|
52
|
+
xmlDebugDumpDocumentHead(FILE *output,
|
53
|
+
xmlDocPtr doc);
|
54
|
+
XMLPUBFUN void XMLCALL
|
55
|
+
xmlDebugDumpDocument (FILE *output,
|
56
|
+
xmlDocPtr doc);
|
57
|
+
XMLPUBFUN void XMLCALL
|
58
|
+
xmlDebugDumpDTD (FILE *output,
|
59
|
+
xmlDtdPtr dtd);
|
60
|
+
XMLPUBFUN void XMLCALL
|
61
|
+
xmlDebugDumpEntities (FILE *output,
|
62
|
+
xmlDocPtr doc);
|
63
|
+
|
64
|
+
/****************************************************************
|
65
|
+
* *
|
66
|
+
* Checking routines *
|
67
|
+
* *
|
68
|
+
****************************************************************/
|
69
|
+
|
70
|
+
XMLPUBFUN int XMLCALL
|
71
|
+
xmlDebugCheckDocument (FILE * output,
|
72
|
+
xmlDocPtr doc);
|
73
|
+
|
74
|
+
/****************************************************************
|
75
|
+
* *
|
76
|
+
* XML shell helpers *
|
77
|
+
* *
|
78
|
+
****************************************************************/
|
79
|
+
|
80
|
+
XMLPUBFUN void XMLCALL
|
81
|
+
xmlLsOneNode (FILE *output, xmlNodePtr node);
|
82
|
+
XMLPUBFUN int XMLCALL
|
83
|
+
xmlLsCountNode (xmlNodePtr node);
|
84
|
+
|
85
|
+
XMLPUBFUN const char * XMLCALL
|
86
|
+
xmlBoolToText (int boolval);
|
87
|
+
|
88
|
+
/****************************************************************
|
89
|
+
* *
|
90
|
+
* The XML shell related structures and functions *
|
91
|
+
* *
|
92
|
+
****************************************************************/
|
93
|
+
|
94
|
+
#ifdef LIBXML_XPATH_ENABLED
|
95
|
+
/**
|
96
|
+
* xmlShellReadlineFunc:
|
97
|
+
* @prompt: a string prompt
|
98
|
+
*
|
99
|
+
* This is a generic signature for the XML shell input function.
|
100
|
+
*
|
101
|
+
* Returns a string which will be freed by the Shell.
|
102
|
+
*/
|
103
|
+
typedef char * (* xmlShellReadlineFunc)(char *prompt);
|
104
|
+
|
105
|
+
/**
|
106
|
+
* xmlShellCtxt:
|
107
|
+
*
|
108
|
+
* A debugging shell context.
|
109
|
+
* TODO: add the defined function tables.
|
110
|
+
*/
|
111
|
+
typedef struct _xmlShellCtxt xmlShellCtxt;
|
112
|
+
typedef xmlShellCtxt *xmlShellCtxtPtr;
|
113
|
+
struct _xmlShellCtxt {
|
114
|
+
char *filename;
|
115
|
+
xmlDocPtr doc;
|
116
|
+
xmlNodePtr node;
|
117
|
+
xmlXPathContextPtr pctxt;
|
118
|
+
int loaded;
|
119
|
+
FILE *output;
|
120
|
+
xmlShellReadlineFunc input;
|
121
|
+
};
|
122
|
+
|
123
|
+
/**
|
124
|
+
* xmlShellCmd:
|
125
|
+
* @ctxt: a shell context
|
126
|
+
* @arg: a string argument
|
127
|
+
* @node: a first node
|
128
|
+
* @node2: a second node
|
129
|
+
*
|
130
|
+
* This is a generic signature for the XML shell functions.
|
131
|
+
*
|
132
|
+
* Returns an int, negative returns indicating errors.
|
133
|
+
*/
|
134
|
+
typedef int (* xmlShellCmd) (xmlShellCtxtPtr ctxt,
|
135
|
+
char *arg,
|
136
|
+
xmlNodePtr node,
|
137
|
+
xmlNodePtr node2);
|
138
|
+
|
139
|
+
XMLPUBFUN void XMLCALL
|
140
|
+
xmlShellPrintXPathError (int errorType,
|
141
|
+
const char *arg);
|
142
|
+
XMLPUBFUN void XMLCALL
|
143
|
+
xmlShellPrintXPathResult(xmlXPathObjectPtr list);
|
144
|
+
XMLPUBFUN int XMLCALL
|
145
|
+
xmlShellList (xmlShellCtxtPtr ctxt,
|
146
|
+
char *arg,
|
147
|
+
xmlNodePtr node,
|
148
|
+
xmlNodePtr node2);
|
149
|
+
XMLPUBFUN int XMLCALL
|
150
|
+
xmlShellBase (xmlShellCtxtPtr ctxt,
|
151
|
+
char *arg,
|
152
|
+
xmlNodePtr node,
|
153
|
+
xmlNodePtr node2);
|
154
|
+
XMLPUBFUN int XMLCALL
|
155
|
+
xmlShellDir (xmlShellCtxtPtr ctxt,
|
156
|
+
char *arg,
|
157
|
+
xmlNodePtr node,
|
158
|
+
xmlNodePtr node2);
|
159
|
+
XMLPUBFUN int XMLCALL
|
160
|
+
xmlShellLoad (xmlShellCtxtPtr ctxt,
|
161
|
+
char *filename,
|
162
|
+
xmlNodePtr node,
|
163
|
+
xmlNodePtr node2);
|
164
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
165
|
+
XMLPUBFUN void XMLCALL
|
166
|
+
xmlShellPrintNode (xmlNodePtr node);
|
167
|
+
XMLPUBFUN int XMLCALL
|
168
|
+
xmlShellCat (xmlShellCtxtPtr ctxt,
|
169
|
+
char *arg,
|
170
|
+
xmlNodePtr node,
|
171
|
+
xmlNodePtr node2);
|
172
|
+
XMLPUBFUN int XMLCALL
|
173
|
+
xmlShellWrite (xmlShellCtxtPtr ctxt,
|
174
|
+
char *filename,
|
175
|
+
xmlNodePtr node,
|
176
|
+
xmlNodePtr node2);
|
177
|
+
XMLPUBFUN int XMLCALL
|
178
|
+
xmlShellSave (xmlShellCtxtPtr ctxt,
|
179
|
+
char *filename,
|
180
|
+
xmlNodePtr node,
|
181
|
+
xmlNodePtr node2);
|
182
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
183
|
+
#ifdef LIBXML_VALID_ENABLED
|
184
|
+
XMLPUBFUN int XMLCALL
|
185
|
+
xmlShellValidate (xmlShellCtxtPtr ctxt,
|
186
|
+
char *dtd,
|
187
|
+
xmlNodePtr node,
|
188
|
+
xmlNodePtr node2);
|
189
|
+
#endif /* LIBXML_VALID_ENABLED */
|
190
|
+
XMLPUBFUN int XMLCALL
|
191
|
+
xmlShellDu (xmlShellCtxtPtr ctxt,
|
192
|
+
char *arg,
|
193
|
+
xmlNodePtr tree,
|
194
|
+
xmlNodePtr node2);
|
195
|
+
XMLPUBFUN int XMLCALL
|
196
|
+
xmlShellPwd (xmlShellCtxtPtr ctxt,
|
197
|
+
char *buffer,
|
198
|
+
xmlNodePtr node,
|
199
|
+
xmlNodePtr node2);
|
200
|
+
|
201
|
+
/*
|
202
|
+
* The Shell interface.
|
203
|
+
*/
|
204
|
+
XMLPUBFUN void XMLCALL
|
205
|
+
xmlShell (xmlDocPtr doc,
|
206
|
+
char *filename,
|
207
|
+
xmlShellReadlineFunc input,
|
208
|
+
FILE *output);
|
209
|
+
|
210
|
+
#endif /* LIBXML_XPATH_ENABLED */
|
211
|
+
|
212
|
+
#ifdef __cplusplus
|
213
|
+
}
|
214
|
+
#endif
|
215
|
+
|
216
|
+
#endif /* LIBXML_DEBUG_ENABLED */
|
217
|
+
#endif /* __DEBUG_XML__ */
|
@@ -0,0 +1,79 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: string dictionary
|
3
|
+
* Description: dictionary of reusable strings, just used to avoid allocation
|
4
|
+
* and freeing operations.
|
5
|
+
*
|
6
|
+
* Copy: See Copyright for the status of this software.
|
7
|
+
*
|
8
|
+
* Author: Daniel Veillard
|
9
|
+
*/
|
10
|
+
|
11
|
+
#ifndef __XML_DICT_H__
|
12
|
+
#define __XML_DICT_H__
|
13
|
+
|
14
|
+
#include <stddef.h>
|
15
|
+
#include <libxml/xmlversion.h>
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
/*
|
22
|
+
* The dictionary.
|
23
|
+
*/
|
24
|
+
typedef struct _xmlDict xmlDict;
|
25
|
+
typedef xmlDict *xmlDictPtr;
|
26
|
+
|
27
|
+
/*
|
28
|
+
* Initializer
|
29
|
+
*/
|
30
|
+
XMLPUBFUN int XMLCALL xmlInitializeDict(void);
|
31
|
+
|
32
|
+
/*
|
33
|
+
* Constructor and destructor.
|
34
|
+
*/
|
35
|
+
XMLPUBFUN xmlDictPtr XMLCALL
|
36
|
+
xmlDictCreate (void);
|
37
|
+
XMLPUBFUN size_t XMLCALL
|
38
|
+
xmlDictSetLimit (xmlDictPtr dict,
|
39
|
+
size_t limit);
|
40
|
+
XMLPUBFUN size_t XMLCALL
|
41
|
+
xmlDictGetUsage (xmlDictPtr dict);
|
42
|
+
XMLPUBFUN xmlDictPtr XMLCALL
|
43
|
+
xmlDictCreateSub(xmlDictPtr sub);
|
44
|
+
XMLPUBFUN int XMLCALL
|
45
|
+
xmlDictReference(xmlDictPtr dict);
|
46
|
+
XMLPUBFUN void XMLCALL
|
47
|
+
xmlDictFree (xmlDictPtr dict);
|
48
|
+
|
49
|
+
/*
|
50
|
+
* Lookup of entry in the dictionary.
|
51
|
+
*/
|
52
|
+
XMLPUBFUN const xmlChar * XMLCALL
|
53
|
+
xmlDictLookup (xmlDictPtr dict,
|
54
|
+
const xmlChar *name,
|
55
|
+
int len);
|
56
|
+
XMLPUBFUN const xmlChar * XMLCALL
|
57
|
+
xmlDictExists (xmlDictPtr dict,
|
58
|
+
const xmlChar *name,
|
59
|
+
int len);
|
60
|
+
XMLPUBFUN const xmlChar * XMLCALL
|
61
|
+
xmlDictQLookup (xmlDictPtr dict,
|
62
|
+
const xmlChar *prefix,
|
63
|
+
const xmlChar *name);
|
64
|
+
XMLPUBFUN int XMLCALL
|
65
|
+
xmlDictOwns (xmlDictPtr dict,
|
66
|
+
const xmlChar *str);
|
67
|
+
XMLPUBFUN int XMLCALL
|
68
|
+
xmlDictSize (xmlDictPtr dict);
|
69
|
+
|
70
|
+
/*
|
71
|
+
* Cleanup function
|
72
|
+
*/
|
73
|
+
XMLPUBFUN void XMLCALL
|
74
|
+
xmlDictCleanup (void);
|
75
|
+
|
76
|
+
#ifdef __cplusplus
|
77
|
+
}
|
78
|
+
#endif
|
79
|
+
#endif /* ! __XML_DICT_H__ */
|