nokogiri 1.18.0.rc1-x86_64-linux-musl
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 +38 -0
- data/LICENSE-DEPENDENCIES.md +2224 -0
- data/LICENSE.md +9 -0
- data/README.md +293 -0
- data/bin/nokogiri +131 -0
- data/dependencies.yml +42 -0
- data/ext/nokogiri/depend +38 -0
- data/ext/nokogiri/extconf.rb +1173 -0
- data/ext/nokogiri/gumbo.c +610 -0
- data/ext/nokogiri/html4_document.c +171 -0
- data/ext/nokogiri/html4_element_description.c +299 -0
- data/ext/nokogiri/html4_entity_lookup.c +37 -0
- data/ext/nokogiri/html4_sax_parser.c +40 -0
- data/ext/nokogiri/html4_sax_parser_context.c +98 -0
- data/ext/nokogiri/html4_sax_push_parser.c +96 -0
- data/ext/nokogiri/include/libexslt/exslt.h +108 -0
- data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
- data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +336 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX.h +202 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX2.h +171 -0
- data/ext/nokogiri/include/libxml2/libxml/c14n.h +115 -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 +82 -0
- data/ext/nokogiri/include/libxml2/libxml/encoding.h +244 -0
- data/ext/nokogiri/include/libxml2/libxml/entities.h +166 -0
- data/ext/nokogiri/include/libxml2/libxml/globals.h +41 -0
- data/ext/nokogiri/include/libxml2/libxml/hash.h +251 -0
- data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
- data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
- data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +98 -0
- data/ext/nokogiri/include/libxml2/libxml/parser.h +1390 -0
- data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +671 -0
- data/ext/nokogiri/include/libxml2/libxml/pattern.h +106 -0
- data/ext/nokogiri/include/libxml2/libxml/relaxng.h +219 -0
- data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +959 -0
- data/ext/nokogiri/include/libxml2/libxml/schematron.h +143 -0
- data/ext/nokogiri/include/libxml2/libxml/threads.h +87 -0
- data/ext/nokogiri/include/libxml2/libxml/tree.h +1382 -0
- data/ext/nokogiri/include/libxml2/libxml/uri.h +106 -0
- data/ext/nokogiri/include/libxml2/libxml/valid.h +477 -0
- data/ext/nokogiri/include/libxml2/libxml/xinclude.h +136 -0
- data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +438 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +962 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +188 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +436 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +215 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +102 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +249 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +366 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +347 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +489 -0
- data/ext/nokogiri/include/libxml2/libxml/xpath.h +579 -0
- data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +633 -0
- data/ext/nokogiri/include/libxml2/libxml/xpointer.h +138 -0
- data/ext/nokogiri/include/libxslt/attributes.h +39 -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 +1995 -0
- data/ext/nokogiri/include/libxslt/xsltconfig.h +146 -0
- data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
- data/ext/nokogiri/include/libxslt/xsltlocale.h +44 -0
- data/ext/nokogiri/include/libxslt/xsltutils.h +343 -0
- data/ext/nokogiri/libxml2_polyfill.c +114 -0
- data/ext/nokogiri/nokogiri.c +294 -0
- data/ext/nokogiri/nokogiri.h +238 -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 +62 -0
- data/ext/nokogiri/xml_comment.c +57 -0
- data/ext/nokogiri/xml_document.c +784 -0
- data/ext/nokogiri/xml_document_fragment.c +29 -0
- data/ext/nokogiri/xml_dtd.c +208 -0
- data/ext/nokogiri/xml_element_content.c +131 -0
- data/ext/nokogiri/xml_element_decl.c +69 -0
- data/ext/nokogiri/xml_encoding_handler.c +112 -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 +181 -0
- data/ext/nokogiri/xml_node.c +2459 -0
- data/ext/nokogiri/xml_node_set.c +518 -0
- data/ext/nokogiri/xml_processing_instruction.c +54 -0
- data/ext/nokogiri/xml_reader.c +777 -0
- data/ext/nokogiri/xml_relax_ng.c +149 -0
- data/ext/nokogiri/xml_sax_parser.c +403 -0
- data/ext/nokogiri/xml_sax_parser_context.c +390 -0
- data/ext/nokogiri/xml_sax_push_parser.c +206 -0
- data/ext/nokogiri/xml_schema.c +226 -0
- data/ext/nokogiri/xml_syntax_error.c +93 -0
- data/ext/nokogiri/xml_text.c +59 -0
- data/ext/nokogiri/xml_xpath_context.c +502 -0
- data/ext/nokogiri/xslt_stylesheet.c +421 -0
- data/gumbo-parser/CHANGES.md +63 -0
- data/gumbo-parser/Makefile +129 -0
- data/gumbo-parser/THANKS +27 -0
- data/lib/nokogiri/3.1/nokogiri.so +0 -0
- data/lib/nokogiri/3.2/nokogiri.so +0 -0
- data/lib/nokogiri/3.3/nokogiri.so +0 -0
- data/lib/nokogiri/3.4/nokogiri.so +0 -0
- data/lib/nokogiri/class_resolver.rb +67 -0
- data/lib/nokogiri/css/node.rb +58 -0
- data/lib/nokogiri/css/parser.rb +772 -0
- data/lib/nokogiri/css/parser.y +277 -0
- data/lib/nokogiri/css/parser_extras.rb +36 -0
- data/lib/nokogiri/css/selector_cache.rb +38 -0
- data/lib/nokogiri/css/syntax_error.rb +9 -0
- data/lib/nokogiri/css/tokenizer.rb +155 -0
- data/lib/nokogiri/css/tokenizer.rex +57 -0
- data/lib/nokogiri/css/xpath_visitor.rb +375 -0
- data/lib/nokogiri/css.rb +132 -0
- data/lib/nokogiri/decorators/slop.rb +42 -0
- data/lib/nokogiri/encoding_handler.rb +57 -0
- data/lib/nokogiri/extension.rb +32 -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 +235 -0
- data/lib/nokogiri/html4/document_fragment.rb +166 -0
- data/lib/nokogiri/html4/element_description.rb +25 -0
- data/lib/nokogiri/html4/element_description_defaults.rb +2040 -0
- data/lib/nokogiri/html4/encoding_reader.rb +121 -0
- data/lib/nokogiri/html4/entity_lookup.rb +15 -0
- data/lib/nokogiri/html4/sax/parser.rb +48 -0
- data/lib/nokogiri/html4/sax/parser_context.rb +15 -0
- data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
- data/lib/nokogiri/html4.rb +42 -0
- data/lib/nokogiri/html5/builder.rb +40 -0
- data/lib/nokogiri/html5/document.rb +199 -0
- data/lib/nokogiri/html5/document_fragment.rb +200 -0
- data/lib/nokogiri/html5/node.rb +103 -0
- data/lib/nokogiri/html5.rb +368 -0
- data/lib/nokogiri/jruby/dependencies.rb +3 -0
- data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
- data/lib/nokogiri/syntax_error.rb +6 -0
- data/lib/nokogiri/version/constant.rb +6 -0
- data/lib/nokogiri/version/info.rb +224 -0
- data/lib/nokogiri/version.rb +4 -0
- data/lib/nokogiri/xml/attr.rb +66 -0
- data/lib/nokogiri/xml/attribute_decl.rb +22 -0
- data/lib/nokogiri/xml/builder.rb +494 -0
- data/lib/nokogiri/xml/cdata.rb +13 -0
- data/lib/nokogiri/xml/character_data.rb +9 -0
- data/lib/nokogiri/xml/document.rb +514 -0
- data/lib/nokogiri/xml/document_fragment.rb +276 -0
- data/lib/nokogiri/xml/dtd.rb +34 -0
- data/lib/nokogiri/xml/element_content.rb +46 -0
- data/lib/nokogiri/xml/element_decl.rb +17 -0
- data/lib/nokogiri/xml/entity_decl.rb +23 -0
- data/lib/nokogiri/xml/entity_reference.rb +20 -0
- data/lib/nokogiri/xml/namespace.rb +57 -0
- data/lib/nokogiri/xml/node/save_options.rb +76 -0
- data/lib/nokogiri/xml/node.rb +1650 -0
- data/lib/nokogiri/xml/node_set.rb +449 -0
- data/lib/nokogiri/xml/notation.rb +19 -0
- data/lib/nokogiri/xml/parse_options.rb +213 -0
- data/lib/nokogiri/xml/pp/character_data.rb +21 -0
- data/lib/nokogiri/xml/pp/node.rb +73 -0
- data/lib/nokogiri/xml/pp.rb +4 -0
- data/lib/nokogiri/xml/processing_instruction.rb +11 -0
- data/lib/nokogiri/xml/reader.rb +139 -0
- data/lib/nokogiri/xml/relax_ng.rb +75 -0
- data/lib/nokogiri/xml/sax/document.rb +258 -0
- data/lib/nokogiri/xml/sax/parser.rb +199 -0
- data/lib/nokogiri/xml/sax/parser_context.rb +129 -0
- data/lib/nokogiri/xml/sax/push_parser.rb +64 -0
- data/lib/nokogiri/xml/sax.rb +54 -0
- data/lib/nokogiri/xml/schema.rb +140 -0
- data/lib/nokogiri/xml/searchable.rb +297 -0
- data/lib/nokogiri/xml/syntax_error.rb +94 -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 +49 -0
- data/lib/nokogiri/xml.rb +65 -0
- data/lib/nokogiri/xslt/stylesheet.rb +49 -0
- data/lib/nokogiri/xslt.rb +129 -0
- data/lib/nokogiri.rb +128 -0
- data/lib/xsd/xmlparser/nokogiri.rb +105 -0
- metadata +324 -0
@@ -0,0 +1,244 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: interface for the encoding conversion functions
|
3
|
+
* Description: interface for the encoding conversion functions needed for
|
4
|
+
* XML basic encoding and iconv() support.
|
5
|
+
*
|
6
|
+
* Related specs are
|
7
|
+
* rfc2044 (UTF-8 and UTF-16) F. Yergeau Alis Technologies
|
8
|
+
* [ISO-10646] UTF-8 and UTF-16 in Annexes
|
9
|
+
* [ISO-8859-1] ISO Latin-1 characters codes.
|
10
|
+
* [UNICODE] The Unicode Consortium, "The Unicode Standard --
|
11
|
+
* Worldwide Character Encoding -- Version 1.0", Addison-
|
12
|
+
* Wesley, Volume 1, 1991, Volume 2, 1992. UTF-8 is
|
13
|
+
* described in Unicode Technical Report #4.
|
14
|
+
* [US-ASCII] Coded Character Set--7-bit American Standard Code for
|
15
|
+
* Information Interchange, ANSI X3.4-1986.
|
16
|
+
*
|
17
|
+
* Copy: See Copyright for the status of this software.
|
18
|
+
*
|
19
|
+
* Author: Daniel Veillard
|
20
|
+
*/
|
21
|
+
|
22
|
+
#ifndef __XML_CHAR_ENCODING_H__
|
23
|
+
#define __XML_CHAR_ENCODING_H__
|
24
|
+
|
25
|
+
#include <libxml/xmlversion.h>
|
26
|
+
|
27
|
+
#ifdef LIBXML_ICONV_ENABLED
|
28
|
+
#include <iconv.h>
|
29
|
+
#endif
|
30
|
+
|
31
|
+
#ifdef __cplusplus
|
32
|
+
extern "C" {
|
33
|
+
#endif
|
34
|
+
|
35
|
+
typedef enum {
|
36
|
+
XML_ENC_ERR_SUCCESS = 0,
|
37
|
+
XML_ENC_ERR_SPACE = -1,
|
38
|
+
XML_ENC_ERR_INPUT = -2,
|
39
|
+
XML_ENC_ERR_PARTIAL = -3,
|
40
|
+
XML_ENC_ERR_INTERNAL = -4,
|
41
|
+
XML_ENC_ERR_MEMORY = -5
|
42
|
+
} xmlCharEncError;
|
43
|
+
|
44
|
+
/*
|
45
|
+
* xmlCharEncoding:
|
46
|
+
*
|
47
|
+
* Predefined values for some standard encodings.
|
48
|
+
* Libxml does not do beforehand translation on UTF8 and ISOLatinX.
|
49
|
+
* It also supports ASCII, ISO-8859-1, and UTF16 (LE and BE) by default.
|
50
|
+
*
|
51
|
+
* Anything else would have to be translated to UTF8 before being
|
52
|
+
* given to the parser itself. The BOM for UTF16 and the encoding
|
53
|
+
* declaration are looked at and a converter is looked for at that
|
54
|
+
* point. If not found the parser stops here as asked by the XML REC. A
|
55
|
+
* converter can be registered by the user using xmlRegisterCharEncodingHandler
|
56
|
+
* but the current form doesn't allow stateful transcoding (a serious
|
57
|
+
* problem agreed !). If iconv has been found it will be used
|
58
|
+
* automatically and allow stateful transcoding, the simplest is then
|
59
|
+
* to be sure to enable iconv and to provide iconv libs for the encoding
|
60
|
+
* support needed.
|
61
|
+
*
|
62
|
+
* Note that the generic "UTF-16" is not a predefined value. Instead, only
|
63
|
+
* the specific UTF-16LE and UTF-16BE are present.
|
64
|
+
*/
|
65
|
+
typedef enum {
|
66
|
+
XML_CHAR_ENCODING_ERROR= -1, /* No char encoding detected */
|
67
|
+
XML_CHAR_ENCODING_NONE= 0, /* No char encoding detected */
|
68
|
+
XML_CHAR_ENCODING_UTF8= 1, /* UTF-8 */
|
69
|
+
XML_CHAR_ENCODING_UTF16LE= 2, /* UTF-16 little endian */
|
70
|
+
XML_CHAR_ENCODING_UTF16BE= 3, /* UTF-16 big endian */
|
71
|
+
XML_CHAR_ENCODING_UCS4LE= 4, /* UCS-4 little endian */
|
72
|
+
XML_CHAR_ENCODING_UCS4BE= 5, /* UCS-4 big endian */
|
73
|
+
XML_CHAR_ENCODING_EBCDIC= 6, /* EBCDIC uh! */
|
74
|
+
XML_CHAR_ENCODING_UCS4_2143=7, /* UCS-4 unusual ordering */
|
75
|
+
XML_CHAR_ENCODING_UCS4_3412=8, /* UCS-4 unusual ordering */
|
76
|
+
XML_CHAR_ENCODING_UCS2= 9, /* UCS-2 */
|
77
|
+
XML_CHAR_ENCODING_8859_1= 10,/* ISO-8859-1 ISO Latin 1 */
|
78
|
+
XML_CHAR_ENCODING_8859_2= 11,/* ISO-8859-2 ISO Latin 2 */
|
79
|
+
XML_CHAR_ENCODING_8859_3= 12,/* ISO-8859-3 */
|
80
|
+
XML_CHAR_ENCODING_8859_4= 13,/* ISO-8859-4 */
|
81
|
+
XML_CHAR_ENCODING_8859_5= 14,/* ISO-8859-5 */
|
82
|
+
XML_CHAR_ENCODING_8859_6= 15,/* ISO-8859-6 */
|
83
|
+
XML_CHAR_ENCODING_8859_7= 16,/* ISO-8859-7 */
|
84
|
+
XML_CHAR_ENCODING_8859_8= 17,/* ISO-8859-8 */
|
85
|
+
XML_CHAR_ENCODING_8859_9= 18,/* ISO-8859-9 */
|
86
|
+
XML_CHAR_ENCODING_2022_JP= 19,/* ISO-2022-JP */
|
87
|
+
XML_CHAR_ENCODING_SHIFT_JIS=20,/* Shift_JIS */
|
88
|
+
XML_CHAR_ENCODING_EUC_JP= 21,/* EUC-JP */
|
89
|
+
XML_CHAR_ENCODING_ASCII= 22 /* pure ASCII */
|
90
|
+
} xmlCharEncoding;
|
91
|
+
|
92
|
+
/**
|
93
|
+
* xmlCharEncodingInputFunc:
|
94
|
+
* @out: a pointer to an array of bytes to store the UTF-8 result
|
95
|
+
* @outlen: the length of @out
|
96
|
+
* @in: a pointer to an array of chars in the original encoding
|
97
|
+
* @inlen: the length of @in
|
98
|
+
*
|
99
|
+
* Take a block of chars in the original encoding and try to convert
|
100
|
+
* it to an UTF-8 block of chars out.
|
101
|
+
*
|
102
|
+
* Returns the number of bytes written, -1 if lack of space, or -2
|
103
|
+
* if the transcoding failed.
|
104
|
+
* The value of @inlen after return is the number of octets consumed
|
105
|
+
* if the return value is positive, else unpredictiable.
|
106
|
+
* The value of @outlen after return is the number of octets consumed.
|
107
|
+
*/
|
108
|
+
typedef int (* xmlCharEncodingInputFunc)(unsigned char *out, int *outlen,
|
109
|
+
const unsigned char *in, int *inlen);
|
110
|
+
|
111
|
+
|
112
|
+
/**
|
113
|
+
* xmlCharEncodingOutputFunc:
|
114
|
+
* @out: a pointer to an array of bytes to store the result
|
115
|
+
* @outlen: the length of @out
|
116
|
+
* @in: a pointer to an array of UTF-8 chars
|
117
|
+
* @inlen: the length of @in
|
118
|
+
*
|
119
|
+
* Take a block of UTF-8 chars in and try to convert it to another
|
120
|
+
* encoding.
|
121
|
+
* Note: a first call designed to produce heading info is called with
|
122
|
+
* in = NULL. If stateful this should also initialize the encoder state.
|
123
|
+
*
|
124
|
+
* Returns the number of bytes written, -1 if lack of space, or -2
|
125
|
+
* if the transcoding failed.
|
126
|
+
* The value of @inlen after return is the number of octets consumed
|
127
|
+
* if the return value is positive, else unpredictiable.
|
128
|
+
* The value of @outlen after return is the number of octets produced.
|
129
|
+
*/
|
130
|
+
typedef int (* xmlCharEncodingOutputFunc)(unsigned char *out, int *outlen,
|
131
|
+
const unsigned char *in, int *inlen);
|
132
|
+
|
133
|
+
|
134
|
+
/*
|
135
|
+
* Block defining the handlers for non UTF-8 encodings.
|
136
|
+
* If iconv is supported, there are two extra fields.
|
137
|
+
*/
|
138
|
+
typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
|
139
|
+
typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
|
140
|
+
struct _xmlCharEncodingHandler {
|
141
|
+
char *name;
|
142
|
+
xmlCharEncodingInputFunc input;
|
143
|
+
xmlCharEncodingOutputFunc output;
|
144
|
+
#ifdef LIBXML_ICONV_ENABLED
|
145
|
+
iconv_t iconv_in;
|
146
|
+
iconv_t iconv_out;
|
147
|
+
#endif /* LIBXML_ICONV_ENABLED */
|
148
|
+
#ifdef LIBXML_ICU_ENABLED
|
149
|
+
struct _uconv_t *uconv_in;
|
150
|
+
struct _uconv_t *uconv_out;
|
151
|
+
#endif /* LIBXML_ICU_ENABLED */
|
152
|
+
};
|
153
|
+
|
154
|
+
/*
|
155
|
+
* Interfaces for encoding handlers.
|
156
|
+
*/
|
157
|
+
XML_DEPRECATED
|
158
|
+
XMLPUBFUN void
|
159
|
+
xmlInitCharEncodingHandlers (void);
|
160
|
+
XML_DEPRECATED
|
161
|
+
XMLPUBFUN void
|
162
|
+
xmlCleanupCharEncodingHandlers (void);
|
163
|
+
XMLPUBFUN void
|
164
|
+
xmlRegisterCharEncodingHandler (xmlCharEncodingHandlerPtr handler);
|
165
|
+
XMLPUBFUN int
|
166
|
+
xmlLookupCharEncodingHandler (xmlCharEncoding enc,
|
167
|
+
xmlCharEncodingHandlerPtr *out);
|
168
|
+
XMLPUBFUN int
|
169
|
+
xmlOpenCharEncodingHandler (const char *name,
|
170
|
+
int output,
|
171
|
+
xmlCharEncodingHandlerPtr *out);
|
172
|
+
XMLPUBFUN xmlCharEncodingHandlerPtr
|
173
|
+
xmlGetCharEncodingHandler (xmlCharEncoding enc);
|
174
|
+
XMLPUBFUN xmlCharEncodingHandlerPtr
|
175
|
+
xmlFindCharEncodingHandler (const char *name);
|
176
|
+
XMLPUBFUN xmlCharEncodingHandlerPtr
|
177
|
+
xmlNewCharEncodingHandler (const char *name,
|
178
|
+
xmlCharEncodingInputFunc input,
|
179
|
+
xmlCharEncodingOutputFunc output);
|
180
|
+
|
181
|
+
/*
|
182
|
+
* Interfaces for encoding names and aliases.
|
183
|
+
*/
|
184
|
+
XMLPUBFUN int
|
185
|
+
xmlAddEncodingAlias (const char *name,
|
186
|
+
const char *alias);
|
187
|
+
XMLPUBFUN int
|
188
|
+
xmlDelEncodingAlias (const char *alias);
|
189
|
+
XMLPUBFUN const char *
|
190
|
+
xmlGetEncodingAlias (const char *alias);
|
191
|
+
XMLPUBFUN void
|
192
|
+
xmlCleanupEncodingAliases (void);
|
193
|
+
XMLPUBFUN xmlCharEncoding
|
194
|
+
xmlParseCharEncoding (const char *name);
|
195
|
+
XMLPUBFUN const char *
|
196
|
+
xmlGetCharEncodingName (xmlCharEncoding enc);
|
197
|
+
|
198
|
+
/*
|
199
|
+
* Interfaces directly used by the parsers.
|
200
|
+
*/
|
201
|
+
XMLPUBFUN xmlCharEncoding
|
202
|
+
xmlDetectCharEncoding (const unsigned char *in,
|
203
|
+
int len);
|
204
|
+
|
205
|
+
/** DOC_DISABLE */
|
206
|
+
struct _xmlBuffer;
|
207
|
+
/** DOC_ENABLE */
|
208
|
+
XMLPUBFUN int
|
209
|
+
xmlCharEncOutFunc (xmlCharEncodingHandler *handler,
|
210
|
+
struct _xmlBuffer *out,
|
211
|
+
struct _xmlBuffer *in);
|
212
|
+
|
213
|
+
XMLPUBFUN int
|
214
|
+
xmlCharEncInFunc (xmlCharEncodingHandler *handler,
|
215
|
+
struct _xmlBuffer *out,
|
216
|
+
struct _xmlBuffer *in);
|
217
|
+
XML_DEPRECATED
|
218
|
+
XMLPUBFUN int
|
219
|
+
xmlCharEncFirstLine (xmlCharEncodingHandler *handler,
|
220
|
+
struct _xmlBuffer *out,
|
221
|
+
struct _xmlBuffer *in);
|
222
|
+
XMLPUBFUN int
|
223
|
+
xmlCharEncCloseFunc (xmlCharEncodingHandler *handler);
|
224
|
+
|
225
|
+
/*
|
226
|
+
* Export a few useful functions
|
227
|
+
*/
|
228
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
229
|
+
XMLPUBFUN int
|
230
|
+
UTF8Toisolat1 (unsigned char *out,
|
231
|
+
int *outlen,
|
232
|
+
const unsigned char *in,
|
233
|
+
int *inlen);
|
234
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
235
|
+
XMLPUBFUN int
|
236
|
+
isolat1ToUTF8 (unsigned char *out,
|
237
|
+
int *outlen,
|
238
|
+
const unsigned char *in,
|
239
|
+
int *inlen);
|
240
|
+
#ifdef __cplusplus
|
241
|
+
}
|
242
|
+
#endif
|
243
|
+
|
244
|
+
#endif /* __XML_CHAR_ENCODING_H__ */
|
@@ -0,0 +1,166 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: interface for the XML entities handling
|
3
|
+
* Description: this module provides some of the entity API needed
|
4
|
+
* for the parser and applications.
|
5
|
+
*
|
6
|
+
* Copy: See Copyright for the status of this software.
|
7
|
+
*
|
8
|
+
* Author: Daniel Veillard
|
9
|
+
*/
|
10
|
+
|
11
|
+
#ifndef __XML_ENTITIES_H__
|
12
|
+
#define __XML_ENTITIES_H__
|
13
|
+
|
14
|
+
/** DOC_DISABLE */
|
15
|
+
#include <libxml/xmlversion.h>
|
16
|
+
#define XML_TREE_INTERNALS
|
17
|
+
#include <libxml/tree.h>
|
18
|
+
#undef XML_TREE_INTERNALS
|
19
|
+
/** DOC_ENABLE */
|
20
|
+
|
21
|
+
#ifdef __cplusplus
|
22
|
+
extern "C" {
|
23
|
+
#endif
|
24
|
+
|
25
|
+
/*
|
26
|
+
* The different valid entity types.
|
27
|
+
*/
|
28
|
+
typedef enum {
|
29
|
+
XML_INTERNAL_GENERAL_ENTITY = 1,
|
30
|
+
XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
|
31
|
+
XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
|
32
|
+
XML_INTERNAL_PARAMETER_ENTITY = 4,
|
33
|
+
XML_EXTERNAL_PARAMETER_ENTITY = 5,
|
34
|
+
XML_INTERNAL_PREDEFINED_ENTITY = 6
|
35
|
+
} xmlEntityType;
|
36
|
+
|
37
|
+
/*
|
38
|
+
* An unit of storage for an entity, contains the string, the value
|
39
|
+
* and the linkind data needed for the linking in the hash table.
|
40
|
+
*/
|
41
|
+
|
42
|
+
struct _xmlEntity {
|
43
|
+
void *_private; /* application data */
|
44
|
+
xmlElementType type; /* XML_ENTITY_DECL, must be second ! */
|
45
|
+
const xmlChar *name; /* Entity name */
|
46
|
+
struct _xmlNode *children; /* First child link */
|
47
|
+
struct _xmlNode *last; /* Last child link */
|
48
|
+
struct _xmlDtd *parent; /* -> DTD */
|
49
|
+
struct _xmlNode *next; /* next sibling link */
|
50
|
+
struct _xmlNode *prev; /* previous sibling link */
|
51
|
+
struct _xmlDoc *doc; /* the containing document */
|
52
|
+
|
53
|
+
xmlChar *orig; /* content without ref substitution */
|
54
|
+
xmlChar *content; /* content or ndata if unparsed */
|
55
|
+
int length; /* the content length */
|
56
|
+
xmlEntityType etype; /* The entity type */
|
57
|
+
const xmlChar *ExternalID; /* External identifier for PUBLIC */
|
58
|
+
const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC Entity */
|
59
|
+
|
60
|
+
struct _xmlEntity *nexte; /* unused */
|
61
|
+
const xmlChar *URI; /* the full URI as computed */
|
62
|
+
int owner; /* unused */
|
63
|
+
int flags; /* various flags */
|
64
|
+
unsigned long expandedSize; /* expanded size */
|
65
|
+
};
|
66
|
+
|
67
|
+
/*
|
68
|
+
* All entities are stored in an hash table.
|
69
|
+
* There is 2 separate hash tables for global and parameter entities.
|
70
|
+
*/
|
71
|
+
|
72
|
+
typedef struct _xmlHashTable xmlEntitiesTable;
|
73
|
+
typedef xmlEntitiesTable *xmlEntitiesTablePtr;
|
74
|
+
|
75
|
+
/*
|
76
|
+
* External functions:
|
77
|
+
*/
|
78
|
+
|
79
|
+
#ifdef LIBXML_LEGACY_ENABLED
|
80
|
+
XML_DEPRECATED
|
81
|
+
XMLPUBFUN void
|
82
|
+
xmlInitializePredefinedEntities (void);
|
83
|
+
#endif /* LIBXML_LEGACY_ENABLED */
|
84
|
+
|
85
|
+
XMLPUBFUN xmlEntityPtr
|
86
|
+
xmlNewEntity (xmlDocPtr doc,
|
87
|
+
const xmlChar *name,
|
88
|
+
int type,
|
89
|
+
const xmlChar *ExternalID,
|
90
|
+
const xmlChar *SystemID,
|
91
|
+
const xmlChar *content);
|
92
|
+
XMLPUBFUN void
|
93
|
+
xmlFreeEntity (xmlEntityPtr entity);
|
94
|
+
XMLPUBFUN int
|
95
|
+
xmlAddEntity (xmlDocPtr doc,
|
96
|
+
int extSubset,
|
97
|
+
const xmlChar *name,
|
98
|
+
int type,
|
99
|
+
const xmlChar *ExternalID,
|
100
|
+
const xmlChar *SystemID,
|
101
|
+
const xmlChar *content,
|
102
|
+
xmlEntityPtr *out);
|
103
|
+
XMLPUBFUN xmlEntityPtr
|
104
|
+
xmlAddDocEntity (xmlDocPtr doc,
|
105
|
+
const xmlChar *name,
|
106
|
+
int type,
|
107
|
+
const xmlChar *ExternalID,
|
108
|
+
const xmlChar *SystemID,
|
109
|
+
const xmlChar *content);
|
110
|
+
XMLPUBFUN xmlEntityPtr
|
111
|
+
xmlAddDtdEntity (xmlDocPtr doc,
|
112
|
+
const xmlChar *name,
|
113
|
+
int type,
|
114
|
+
const xmlChar *ExternalID,
|
115
|
+
const xmlChar *SystemID,
|
116
|
+
const xmlChar *content);
|
117
|
+
XMLPUBFUN xmlEntityPtr
|
118
|
+
xmlGetPredefinedEntity (const xmlChar *name);
|
119
|
+
XMLPUBFUN xmlEntityPtr
|
120
|
+
xmlGetDocEntity (const xmlDoc *doc,
|
121
|
+
const xmlChar *name);
|
122
|
+
XMLPUBFUN xmlEntityPtr
|
123
|
+
xmlGetDtdEntity (xmlDocPtr doc,
|
124
|
+
const xmlChar *name);
|
125
|
+
XMLPUBFUN xmlEntityPtr
|
126
|
+
xmlGetParameterEntity (xmlDocPtr doc,
|
127
|
+
const xmlChar *name);
|
128
|
+
#ifdef LIBXML_LEGACY_ENABLED
|
129
|
+
XML_DEPRECATED
|
130
|
+
XMLPUBFUN const xmlChar *
|
131
|
+
xmlEncodeEntities (xmlDocPtr doc,
|
132
|
+
const xmlChar *input);
|
133
|
+
#endif /* LIBXML_LEGACY_ENABLED */
|
134
|
+
XMLPUBFUN xmlChar *
|
135
|
+
xmlEncodeEntitiesReentrant(xmlDocPtr doc,
|
136
|
+
const xmlChar *input);
|
137
|
+
XMLPUBFUN xmlChar *
|
138
|
+
xmlEncodeSpecialChars (const xmlDoc *doc,
|
139
|
+
const xmlChar *input);
|
140
|
+
XMLPUBFUN xmlEntitiesTablePtr
|
141
|
+
xmlCreateEntitiesTable (void);
|
142
|
+
#ifdef LIBXML_TREE_ENABLED
|
143
|
+
XMLPUBFUN xmlEntitiesTablePtr
|
144
|
+
xmlCopyEntitiesTable (xmlEntitiesTablePtr table);
|
145
|
+
#endif /* LIBXML_TREE_ENABLED */
|
146
|
+
XMLPUBFUN void
|
147
|
+
xmlFreeEntitiesTable (xmlEntitiesTablePtr table);
|
148
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
149
|
+
XMLPUBFUN void
|
150
|
+
xmlDumpEntitiesTable (xmlBufferPtr buf,
|
151
|
+
xmlEntitiesTablePtr table);
|
152
|
+
XMLPUBFUN void
|
153
|
+
xmlDumpEntityDecl (xmlBufferPtr buf,
|
154
|
+
xmlEntityPtr ent);
|
155
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
156
|
+
#ifdef LIBXML_LEGACY_ENABLED
|
157
|
+
XMLPUBFUN void
|
158
|
+
xmlCleanupPredefinedEntities(void);
|
159
|
+
#endif /* LIBXML_LEGACY_ENABLED */
|
160
|
+
|
161
|
+
|
162
|
+
#ifdef __cplusplus
|
163
|
+
}
|
164
|
+
#endif
|
165
|
+
|
166
|
+
# endif /* __XML_ENTITIES_H__ */
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: interface for all global variables of the library
|
3
|
+
* Description: Deprecated, don't use
|
4
|
+
*
|
5
|
+
* Copy: See Copyright for the status of this software.
|
6
|
+
*/
|
7
|
+
|
8
|
+
#ifndef __XML_GLOBALS_H
|
9
|
+
#define __XML_GLOBALS_H
|
10
|
+
|
11
|
+
#include <libxml/xmlversion.h>
|
12
|
+
|
13
|
+
/*
|
14
|
+
* This file was required to access global variables until version v2.12.0.
|
15
|
+
*
|
16
|
+
* These includes are for backward compatibility.
|
17
|
+
*/
|
18
|
+
#include <libxml/HTMLparser.h>
|
19
|
+
#include <libxml/parser.h>
|
20
|
+
#include <libxml/xmlerror.h>
|
21
|
+
#include <libxml/xmlIO.h>
|
22
|
+
#include <libxml/xmlsave.h>
|
23
|
+
#include <libxml/threads.h>
|
24
|
+
|
25
|
+
#ifdef __cplusplus
|
26
|
+
extern "C" {
|
27
|
+
#endif
|
28
|
+
|
29
|
+
typedef struct _xmlGlobalState xmlGlobalState;
|
30
|
+
typedef xmlGlobalState *xmlGlobalStatePtr;
|
31
|
+
|
32
|
+
XML_DEPRECATED XMLPUBFUN void
|
33
|
+
xmlInitializeGlobalState(xmlGlobalStatePtr gs);
|
34
|
+
XML_DEPRECATED XMLPUBFUN
|
35
|
+
xmlGlobalStatePtr xmlGetGlobalState(void);
|
36
|
+
|
37
|
+
#ifdef __cplusplus
|
38
|
+
}
|
39
|
+
#endif
|
40
|
+
|
41
|
+
#endif /* __XML_GLOBALS_H */
|
@@ -0,0 +1,251 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: Chained hash tables
|
3
|
+
* Description: This module implements the hash table support used in
|
4
|
+
* various places in the library.
|
5
|
+
*
|
6
|
+
* Copy: See Copyright for the status of this software.
|
7
|
+
*
|
8
|
+
* Author: Bjorn Reese <bjorn.reese@systematic.dk>
|
9
|
+
*/
|
10
|
+
|
11
|
+
#ifndef __XML_HASH_H__
|
12
|
+
#define __XML_HASH_H__
|
13
|
+
|
14
|
+
#include <libxml/xmlversion.h>
|
15
|
+
#include <libxml/dict.h>
|
16
|
+
#include <libxml/xmlstring.h>
|
17
|
+
|
18
|
+
#ifdef __cplusplus
|
19
|
+
extern "C" {
|
20
|
+
#endif
|
21
|
+
|
22
|
+
/*
|
23
|
+
* The hash table.
|
24
|
+
*/
|
25
|
+
typedef struct _xmlHashTable xmlHashTable;
|
26
|
+
typedef xmlHashTable *xmlHashTablePtr;
|
27
|
+
|
28
|
+
/*
|
29
|
+
* Recent version of gcc produce a warning when a function pointer is assigned
|
30
|
+
* to an object pointer, or vice versa. The following macro is a dirty hack
|
31
|
+
* to allow suppression of the warning. If your architecture has function
|
32
|
+
* pointers which are a different size than a void pointer, there may be some
|
33
|
+
* serious trouble within the library.
|
34
|
+
*/
|
35
|
+
/**
|
36
|
+
* XML_CAST_FPTR:
|
37
|
+
* @fptr: pointer to a function
|
38
|
+
*
|
39
|
+
* Macro to do a casting from an object pointer to a
|
40
|
+
* function pointer without encountering a warning from
|
41
|
+
* gcc
|
42
|
+
*
|
43
|
+
* #define XML_CAST_FPTR(fptr) (*(void **)(&fptr))
|
44
|
+
* This macro violated ISO C aliasing rules (gcc4 on s390 broke)
|
45
|
+
* so it is disabled now
|
46
|
+
*/
|
47
|
+
|
48
|
+
#define XML_CAST_FPTR(fptr) fptr
|
49
|
+
|
50
|
+
/*
|
51
|
+
* function types:
|
52
|
+
*/
|
53
|
+
/**
|
54
|
+
* xmlHashDeallocator:
|
55
|
+
* @payload: the data in the hash
|
56
|
+
* @name: the name associated
|
57
|
+
*
|
58
|
+
* Callback to free data from a hash.
|
59
|
+
*/
|
60
|
+
typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name);
|
61
|
+
/**
|
62
|
+
* xmlHashCopier:
|
63
|
+
* @payload: the data in the hash
|
64
|
+
* @name: the name associated
|
65
|
+
*
|
66
|
+
* Callback to copy data from a hash.
|
67
|
+
*
|
68
|
+
* Returns a copy of the data or NULL in case of error.
|
69
|
+
*/
|
70
|
+
typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name);
|
71
|
+
/**
|
72
|
+
* xmlHashScanner:
|
73
|
+
* @payload: the data in the hash
|
74
|
+
* @data: extra scanner data
|
75
|
+
* @name: the name associated
|
76
|
+
*
|
77
|
+
* Callback when scanning data in a hash with the simple scanner.
|
78
|
+
*/
|
79
|
+
typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name);
|
80
|
+
/**
|
81
|
+
* xmlHashScannerFull:
|
82
|
+
* @payload: the data in the hash
|
83
|
+
* @data: extra scanner data
|
84
|
+
* @name: the name associated
|
85
|
+
* @name2: the second name associated
|
86
|
+
* @name3: the third name associated
|
87
|
+
*
|
88
|
+
* Callback when scanning data in a hash with the full scanner.
|
89
|
+
*/
|
90
|
+
typedef void (*xmlHashScannerFull)(void *payload, void *data,
|
91
|
+
const xmlChar *name, const xmlChar *name2,
|
92
|
+
const xmlChar *name3);
|
93
|
+
|
94
|
+
/*
|
95
|
+
* Constructor and destructor.
|
96
|
+
*/
|
97
|
+
XMLPUBFUN xmlHashTablePtr
|
98
|
+
xmlHashCreate (int size);
|
99
|
+
XMLPUBFUN xmlHashTablePtr
|
100
|
+
xmlHashCreateDict (int size,
|
101
|
+
xmlDictPtr dict);
|
102
|
+
XMLPUBFUN void
|
103
|
+
xmlHashFree (xmlHashTablePtr hash,
|
104
|
+
xmlHashDeallocator dealloc);
|
105
|
+
XMLPUBFUN void
|
106
|
+
xmlHashDefaultDeallocator(void *entry,
|
107
|
+
const xmlChar *name);
|
108
|
+
|
109
|
+
/*
|
110
|
+
* Add a new entry to the hash table.
|
111
|
+
*/
|
112
|
+
XMLPUBFUN int
|
113
|
+
xmlHashAdd (xmlHashTablePtr hash,
|
114
|
+
const xmlChar *name,
|
115
|
+
void *userdata);
|
116
|
+
XMLPUBFUN int
|
117
|
+
xmlHashAddEntry (xmlHashTablePtr hash,
|
118
|
+
const xmlChar *name,
|
119
|
+
void *userdata);
|
120
|
+
XMLPUBFUN int
|
121
|
+
xmlHashUpdateEntry (xmlHashTablePtr hash,
|
122
|
+
const xmlChar *name,
|
123
|
+
void *userdata,
|
124
|
+
xmlHashDeallocator dealloc);
|
125
|
+
XMLPUBFUN int
|
126
|
+
xmlHashAdd2 (xmlHashTablePtr hash,
|
127
|
+
const xmlChar *name,
|
128
|
+
const xmlChar *name2,
|
129
|
+
void *userdata);
|
130
|
+
XMLPUBFUN int
|
131
|
+
xmlHashAddEntry2 (xmlHashTablePtr hash,
|
132
|
+
const xmlChar *name,
|
133
|
+
const xmlChar *name2,
|
134
|
+
void *userdata);
|
135
|
+
XMLPUBFUN int
|
136
|
+
xmlHashUpdateEntry2 (xmlHashTablePtr hash,
|
137
|
+
const xmlChar *name,
|
138
|
+
const xmlChar *name2,
|
139
|
+
void *userdata,
|
140
|
+
xmlHashDeallocator dealloc);
|
141
|
+
XMLPUBFUN int
|
142
|
+
xmlHashAdd3 (xmlHashTablePtr hash,
|
143
|
+
const xmlChar *name,
|
144
|
+
const xmlChar *name2,
|
145
|
+
const xmlChar *name3,
|
146
|
+
void *userdata);
|
147
|
+
XMLPUBFUN int
|
148
|
+
xmlHashAddEntry3 (xmlHashTablePtr hash,
|
149
|
+
const xmlChar *name,
|
150
|
+
const xmlChar *name2,
|
151
|
+
const xmlChar *name3,
|
152
|
+
void *userdata);
|
153
|
+
XMLPUBFUN int
|
154
|
+
xmlHashUpdateEntry3 (xmlHashTablePtr hash,
|
155
|
+
const xmlChar *name,
|
156
|
+
const xmlChar *name2,
|
157
|
+
const xmlChar *name3,
|
158
|
+
void *userdata,
|
159
|
+
xmlHashDeallocator dealloc);
|
160
|
+
|
161
|
+
/*
|
162
|
+
* Remove an entry from the hash table.
|
163
|
+
*/
|
164
|
+
XMLPUBFUN int
|
165
|
+
xmlHashRemoveEntry (xmlHashTablePtr hash,
|
166
|
+
const xmlChar *name,
|
167
|
+
xmlHashDeallocator dealloc);
|
168
|
+
XMLPUBFUN int
|
169
|
+
xmlHashRemoveEntry2 (xmlHashTablePtr hash,
|
170
|
+
const xmlChar *name,
|
171
|
+
const xmlChar *name2,
|
172
|
+
xmlHashDeallocator dealloc);
|
173
|
+
XMLPUBFUN int
|
174
|
+
xmlHashRemoveEntry3 (xmlHashTablePtr hash,
|
175
|
+
const xmlChar *name,
|
176
|
+
const xmlChar *name2,
|
177
|
+
const xmlChar *name3,
|
178
|
+
xmlHashDeallocator dealloc);
|
179
|
+
|
180
|
+
/*
|
181
|
+
* Retrieve the payload.
|
182
|
+
*/
|
183
|
+
XMLPUBFUN void *
|
184
|
+
xmlHashLookup (xmlHashTablePtr hash,
|
185
|
+
const xmlChar *name);
|
186
|
+
XMLPUBFUN void *
|
187
|
+
xmlHashLookup2 (xmlHashTablePtr hash,
|
188
|
+
const xmlChar *name,
|
189
|
+
const xmlChar *name2);
|
190
|
+
XMLPUBFUN void *
|
191
|
+
xmlHashLookup3 (xmlHashTablePtr hash,
|
192
|
+
const xmlChar *name,
|
193
|
+
const xmlChar *name2,
|
194
|
+
const xmlChar *name3);
|
195
|
+
XMLPUBFUN void *
|
196
|
+
xmlHashQLookup (xmlHashTablePtr hash,
|
197
|
+
const xmlChar *prefix,
|
198
|
+
const xmlChar *name);
|
199
|
+
XMLPUBFUN void *
|
200
|
+
xmlHashQLookup2 (xmlHashTablePtr hash,
|
201
|
+
const xmlChar *prefix,
|
202
|
+
const xmlChar *name,
|
203
|
+
const xmlChar *prefix2,
|
204
|
+
const xmlChar *name2);
|
205
|
+
XMLPUBFUN void *
|
206
|
+
xmlHashQLookup3 (xmlHashTablePtr hash,
|
207
|
+
const xmlChar *prefix,
|
208
|
+
const xmlChar *name,
|
209
|
+
const xmlChar *prefix2,
|
210
|
+
const xmlChar *name2,
|
211
|
+
const xmlChar *prefix3,
|
212
|
+
const xmlChar *name3);
|
213
|
+
|
214
|
+
/*
|
215
|
+
* Helpers.
|
216
|
+
*/
|
217
|
+
XMLPUBFUN xmlHashTablePtr
|
218
|
+
xmlHashCopySafe (xmlHashTablePtr hash,
|
219
|
+
xmlHashCopier copy,
|
220
|
+
xmlHashDeallocator dealloc);
|
221
|
+
XMLPUBFUN xmlHashTablePtr
|
222
|
+
xmlHashCopy (xmlHashTablePtr hash,
|
223
|
+
xmlHashCopier copy);
|
224
|
+
XMLPUBFUN int
|
225
|
+
xmlHashSize (xmlHashTablePtr hash);
|
226
|
+
XMLPUBFUN void
|
227
|
+
xmlHashScan (xmlHashTablePtr hash,
|
228
|
+
xmlHashScanner scan,
|
229
|
+
void *data);
|
230
|
+
XMLPUBFUN void
|
231
|
+
xmlHashScan3 (xmlHashTablePtr hash,
|
232
|
+
const xmlChar *name,
|
233
|
+
const xmlChar *name2,
|
234
|
+
const xmlChar *name3,
|
235
|
+
xmlHashScanner scan,
|
236
|
+
void *data);
|
237
|
+
XMLPUBFUN void
|
238
|
+
xmlHashScanFull (xmlHashTablePtr hash,
|
239
|
+
xmlHashScannerFull scan,
|
240
|
+
void *data);
|
241
|
+
XMLPUBFUN void
|
242
|
+
xmlHashScanFull3 (xmlHashTablePtr hash,
|
243
|
+
const xmlChar *name,
|
244
|
+
const xmlChar *name2,
|
245
|
+
const xmlChar *name3,
|
246
|
+
xmlHashScannerFull scan,
|
247
|
+
void *data);
|
248
|
+
#ifdef __cplusplus
|
249
|
+
}
|
250
|
+
#endif
|
251
|
+
#endif /* ! __XML_HASH_H__ */
|