nokogiri 1.11.0.rc1-x64-mingw32 → 1.11.1-x64-mingw32
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 +4 -4
- data/Gemfile +3 -0
- data/LICENSE-DEPENDENCIES.md +1015 -947
- data/README.md +164 -92
- data/ext/nokogiri/depend +476 -357
- data/ext/nokogiri/extconf.rb +467 -326
- data/ext/nokogiri/html_document.c +79 -78
- data/ext/nokogiri/html_sax_parser_context.c +4 -2
- data/ext/nokogiri/html_sax_push_parser.c +14 -8
- 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 +126 -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 +1241 -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 +366 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +945 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +153 -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 +566 -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/nokogiri.c +37 -46
- data/ext/nokogiri/nokogiri.h +25 -17
- data/ext/nokogiri/test_global_handlers.c +41 -0
- data/ext/nokogiri/xml_document.c +8 -3
- data/ext/nokogiri/xml_io.c +8 -6
- data/ext/nokogiri/xml_node.c +1 -1
- data/ext/nokogiri/xml_node_set.c +1 -1
- data/ext/nokogiri/xml_reader.c +6 -17
- data/ext/nokogiri/xml_relax_ng.c +29 -11
- data/ext/nokogiri/xml_sax_parser.c +2 -7
- data/ext/nokogiri/xml_sax_parser_context.c +4 -2
- data/ext/nokogiri/xml_sax_push_parser.c +2 -0
- data/ext/nokogiri/xml_schema.c +84 -13
- data/ext/nokogiri/xml_syntax_error.c +23 -0
- data/ext/nokogiri/xml_syntax_error.h +15 -3
- data/ext/nokogiri/xml_xpath_context.c +80 -4
- data/ext/nokogiri/xslt_stylesheet.c +1 -4
- data/lib/nokogiri.rb +20 -3
- data/lib/nokogiri/2.5/nokogiri.so +0 -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/css/parser.rb +62 -62
- data/lib/nokogiri/css/parser.y +2 -2
- data/lib/nokogiri/css/parser_extras.rb +38 -36
- data/lib/nokogiri/css/xpath_visitor.rb +70 -42
- data/lib/nokogiri/html/document.rb +12 -26
- data/lib/nokogiri/version.rb +2 -148
- data/lib/nokogiri/version/constant.rb +5 -0
- data/lib/nokogiri/version/info.rb +182 -0
- data/lib/nokogiri/xml/builder.rb +2 -2
- data/lib/nokogiri/xml/document.rb +17 -7
- data/lib/nokogiri/xml/document_fragment.rb +4 -6
- data/lib/nokogiri/xml/node.rb +562 -238
- data/lib/nokogiri/xml/parse_options.rb +6 -0
- data/lib/nokogiri/xml/relax_ng.rb +6 -2
- data/lib/nokogiri/xml/schema.rb +12 -4
- data/lib/nokogiri/xml/searchable.rb +24 -16
- metadata +149 -130
- data/lib/nokogiri/2.4/nokogiri.so +0 -0
@@ -0,0 +1,94 @@
|
|
1
|
+
/**
|
2
|
+
* Summary: library of generic URI related routines
|
3
|
+
* Description: library of generic URI related routines
|
4
|
+
* Implements RFC 2396
|
5
|
+
*
|
6
|
+
* Copy: See Copyright for the status of this software.
|
7
|
+
*
|
8
|
+
* Author: Daniel Veillard
|
9
|
+
*/
|
10
|
+
|
11
|
+
#ifndef __XML_URI_H__
|
12
|
+
#define __XML_URI_H__
|
13
|
+
|
14
|
+
#include <libxml/xmlversion.h>
|
15
|
+
#include <libxml/tree.h>
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
/**
|
22
|
+
* xmlURI:
|
23
|
+
*
|
24
|
+
* A parsed URI reference. This is a struct containing the various fields
|
25
|
+
* as described in RFC 2396 but separated for further processing.
|
26
|
+
*
|
27
|
+
* Note: query is a deprecated field which is incorrectly unescaped.
|
28
|
+
* query_raw takes precedence over query if the former is set.
|
29
|
+
* See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
|
30
|
+
*/
|
31
|
+
typedef struct _xmlURI xmlURI;
|
32
|
+
typedef xmlURI *xmlURIPtr;
|
33
|
+
struct _xmlURI {
|
34
|
+
char *scheme; /* the URI scheme */
|
35
|
+
char *opaque; /* opaque part */
|
36
|
+
char *authority; /* the authority part */
|
37
|
+
char *server; /* the server part */
|
38
|
+
char *user; /* the user part */
|
39
|
+
int port; /* the port number */
|
40
|
+
char *path; /* the path string */
|
41
|
+
char *query; /* the query string (deprecated - use with caution) */
|
42
|
+
char *fragment; /* the fragment identifier */
|
43
|
+
int cleanup; /* parsing potentially unclean URI */
|
44
|
+
char *query_raw; /* the query string (as it appears in the URI) */
|
45
|
+
};
|
46
|
+
|
47
|
+
/*
|
48
|
+
* This function is in tree.h:
|
49
|
+
* xmlChar * xmlNodeGetBase (xmlDocPtr doc,
|
50
|
+
* xmlNodePtr cur);
|
51
|
+
*/
|
52
|
+
XMLPUBFUN xmlURIPtr XMLCALL
|
53
|
+
xmlCreateURI (void);
|
54
|
+
XMLPUBFUN xmlChar * XMLCALL
|
55
|
+
xmlBuildURI (const xmlChar *URI,
|
56
|
+
const xmlChar *base);
|
57
|
+
XMLPUBFUN xmlChar * XMLCALL
|
58
|
+
xmlBuildRelativeURI (const xmlChar *URI,
|
59
|
+
const xmlChar *base);
|
60
|
+
XMLPUBFUN xmlURIPtr XMLCALL
|
61
|
+
xmlParseURI (const char *str);
|
62
|
+
XMLPUBFUN xmlURIPtr XMLCALL
|
63
|
+
xmlParseURIRaw (const char *str,
|
64
|
+
int raw);
|
65
|
+
XMLPUBFUN int XMLCALL
|
66
|
+
xmlParseURIReference (xmlURIPtr uri,
|
67
|
+
const char *str);
|
68
|
+
XMLPUBFUN xmlChar * XMLCALL
|
69
|
+
xmlSaveUri (xmlURIPtr uri);
|
70
|
+
XMLPUBFUN void XMLCALL
|
71
|
+
xmlPrintURI (FILE *stream,
|
72
|
+
xmlURIPtr uri);
|
73
|
+
XMLPUBFUN xmlChar * XMLCALL
|
74
|
+
xmlURIEscapeStr (const xmlChar *str,
|
75
|
+
const xmlChar *list);
|
76
|
+
XMLPUBFUN char * XMLCALL
|
77
|
+
xmlURIUnescapeString (const char *str,
|
78
|
+
int len,
|
79
|
+
char *target);
|
80
|
+
XMLPUBFUN int XMLCALL
|
81
|
+
xmlNormalizeURIPath (char *path);
|
82
|
+
XMLPUBFUN xmlChar * XMLCALL
|
83
|
+
xmlURIEscape (const xmlChar *str);
|
84
|
+
XMLPUBFUN void XMLCALL
|
85
|
+
xmlFreeURI (xmlURIPtr uri);
|
86
|
+
XMLPUBFUN xmlChar* XMLCALL
|
87
|
+
xmlCanonicPath (const xmlChar *path);
|
88
|
+
XMLPUBFUN xmlChar* XMLCALL
|
89
|
+
xmlPathToURI (const xmlChar *path);
|
90
|
+
|
91
|
+
#ifdef __cplusplus
|
92
|
+
}
|
93
|
+
#endif
|
94
|
+
#endif /* __XML_URI_H__ */
|
@@ -0,0 +1,458 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: The DTD validation
|
3
|
+
* Description: API for the DTD handling and the validity checking
|
4
|
+
*
|
5
|
+
* Copy: See Copyright for the status of this software.
|
6
|
+
*
|
7
|
+
* Author: Daniel Veillard
|
8
|
+
*/
|
9
|
+
|
10
|
+
|
11
|
+
#ifndef __XML_VALID_H__
|
12
|
+
#define __XML_VALID_H__
|
13
|
+
|
14
|
+
#include <libxml/xmlversion.h>
|
15
|
+
#include <libxml/xmlerror.h>
|
16
|
+
#include <libxml/tree.h>
|
17
|
+
#include <libxml/list.h>
|
18
|
+
#include <libxml/xmlautomata.h>
|
19
|
+
#include <libxml/xmlregexp.h>
|
20
|
+
|
21
|
+
#ifdef __cplusplus
|
22
|
+
extern "C" {
|
23
|
+
#endif
|
24
|
+
|
25
|
+
/*
|
26
|
+
* Validation state added for non-determinist content model.
|
27
|
+
*/
|
28
|
+
typedef struct _xmlValidState xmlValidState;
|
29
|
+
typedef xmlValidState *xmlValidStatePtr;
|
30
|
+
|
31
|
+
/**
|
32
|
+
* xmlValidityErrorFunc:
|
33
|
+
* @ctx: usually an xmlValidCtxtPtr to a validity error context,
|
34
|
+
* but comes from ctxt->userData (which normally contains such
|
35
|
+
* a pointer); ctxt->userData can be changed by the user.
|
36
|
+
* @msg: the string to format *printf like vararg
|
37
|
+
* @...: remaining arguments to the format
|
38
|
+
*
|
39
|
+
* Callback called when a validity error is found. This is a message
|
40
|
+
* oriented function similar to an *printf function.
|
41
|
+
*/
|
42
|
+
typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
|
43
|
+
const char *msg,
|
44
|
+
...) LIBXML_ATTR_FORMAT(2,3);
|
45
|
+
|
46
|
+
/**
|
47
|
+
* xmlValidityWarningFunc:
|
48
|
+
* @ctx: usually an xmlValidCtxtPtr to a validity error context,
|
49
|
+
* but comes from ctxt->userData (which normally contains such
|
50
|
+
* a pointer); ctxt->userData can be changed by the user.
|
51
|
+
* @msg: the string to format *printf like vararg
|
52
|
+
* @...: remaining arguments to the format
|
53
|
+
*
|
54
|
+
* Callback called when a validity warning is found. This is a message
|
55
|
+
* oriented function similar to an *printf function.
|
56
|
+
*/
|
57
|
+
typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
|
58
|
+
const char *msg,
|
59
|
+
...) LIBXML_ATTR_FORMAT(2,3);
|
60
|
+
|
61
|
+
#ifdef IN_LIBXML
|
62
|
+
/**
|
63
|
+
* XML_CTXT_FINISH_DTD_0:
|
64
|
+
*
|
65
|
+
* Special value for finishDtd field when embedded in an xmlParserCtxt
|
66
|
+
*/
|
67
|
+
#define XML_CTXT_FINISH_DTD_0 0xabcd1234
|
68
|
+
/**
|
69
|
+
* XML_CTXT_FINISH_DTD_1:
|
70
|
+
*
|
71
|
+
* Special value for finishDtd field when embedded in an xmlParserCtxt
|
72
|
+
*/
|
73
|
+
#define XML_CTXT_FINISH_DTD_1 0xabcd1235
|
74
|
+
#endif
|
75
|
+
|
76
|
+
/*
|
77
|
+
* xmlValidCtxt:
|
78
|
+
* An xmlValidCtxt is used for error reporting when validating.
|
79
|
+
*/
|
80
|
+
typedef struct _xmlValidCtxt xmlValidCtxt;
|
81
|
+
typedef xmlValidCtxt *xmlValidCtxtPtr;
|
82
|
+
struct _xmlValidCtxt {
|
83
|
+
void *userData; /* user specific data block */
|
84
|
+
xmlValidityErrorFunc error; /* the callback in case of errors */
|
85
|
+
xmlValidityWarningFunc warning; /* the callback in case of warning */
|
86
|
+
|
87
|
+
/* Node analysis stack used when validating within entities */
|
88
|
+
xmlNodePtr node; /* Current parsed Node */
|
89
|
+
int nodeNr; /* Depth of the parsing stack */
|
90
|
+
int nodeMax; /* Max depth of the parsing stack */
|
91
|
+
xmlNodePtr *nodeTab; /* array of nodes */
|
92
|
+
|
93
|
+
unsigned int finishDtd; /* finished validating the Dtd ? */
|
94
|
+
xmlDocPtr doc; /* the document */
|
95
|
+
int valid; /* temporary validity check result */
|
96
|
+
|
97
|
+
/* state state used for non-determinist content validation */
|
98
|
+
xmlValidState *vstate; /* current state */
|
99
|
+
int vstateNr; /* Depth of the validation stack */
|
100
|
+
int vstateMax; /* Max depth of the validation stack */
|
101
|
+
xmlValidState *vstateTab; /* array of validation states */
|
102
|
+
|
103
|
+
#ifdef LIBXML_REGEXP_ENABLED
|
104
|
+
xmlAutomataPtr am; /* the automata */
|
105
|
+
xmlAutomataStatePtr state; /* used to build the automata */
|
106
|
+
#else
|
107
|
+
void *am;
|
108
|
+
void *state;
|
109
|
+
#endif
|
110
|
+
};
|
111
|
+
|
112
|
+
/*
|
113
|
+
* ALL notation declarations are stored in a table.
|
114
|
+
* There is one table per DTD.
|
115
|
+
*/
|
116
|
+
|
117
|
+
typedef struct _xmlHashTable xmlNotationTable;
|
118
|
+
typedef xmlNotationTable *xmlNotationTablePtr;
|
119
|
+
|
120
|
+
/*
|
121
|
+
* ALL element declarations are stored in a table.
|
122
|
+
* There is one table per DTD.
|
123
|
+
*/
|
124
|
+
|
125
|
+
typedef struct _xmlHashTable xmlElementTable;
|
126
|
+
typedef xmlElementTable *xmlElementTablePtr;
|
127
|
+
|
128
|
+
/*
|
129
|
+
* ALL attribute declarations are stored in a table.
|
130
|
+
* There is one table per DTD.
|
131
|
+
*/
|
132
|
+
|
133
|
+
typedef struct _xmlHashTable xmlAttributeTable;
|
134
|
+
typedef xmlAttributeTable *xmlAttributeTablePtr;
|
135
|
+
|
136
|
+
/*
|
137
|
+
* ALL IDs attributes are stored in a table.
|
138
|
+
* There is one table per document.
|
139
|
+
*/
|
140
|
+
|
141
|
+
typedef struct _xmlHashTable xmlIDTable;
|
142
|
+
typedef xmlIDTable *xmlIDTablePtr;
|
143
|
+
|
144
|
+
/*
|
145
|
+
* ALL Refs attributes are stored in a table.
|
146
|
+
* There is one table per document.
|
147
|
+
*/
|
148
|
+
|
149
|
+
typedef struct _xmlHashTable xmlRefTable;
|
150
|
+
typedef xmlRefTable *xmlRefTablePtr;
|
151
|
+
|
152
|
+
/* Notation */
|
153
|
+
XMLPUBFUN xmlNotationPtr XMLCALL
|
154
|
+
xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
|
155
|
+
xmlDtdPtr dtd,
|
156
|
+
const xmlChar *name,
|
157
|
+
const xmlChar *PublicID,
|
158
|
+
const xmlChar *SystemID);
|
159
|
+
#ifdef LIBXML_TREE_ENABLED
|
160
|
+
XMLPUBFUN xmlNotationTablePtr XMLCALL
|
161
|
+
xmlCopyNotationTable (xmlNotationTablePtr table);
|
162
|
+
#endif /* LIBXML_TREE_ENABLED */
|
163
|
+
XMLPUBFUN void XMLCALL
|
164
|
+
xmlFreeNotationTable (xmlNotationTablePtr table);
|
165
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
166
|
+
XMLPUBFUN void XMLCALL
|
167
|
+
xmlDumpNotationDecl (xmlBufferPtr buf,
|
168
|
+
xmlNotationPtr nota);
|
169
|
+
XMLPUBFUN void XMLCALL
|
170
|
+
xmlDumpNotationTable (xmlBufferPtr buf,
|
171
|
+
xmlNotationTablePtr table);
|
172
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
173
|
+
|
174
|
+
/* Element Content */
|
175
|
+
/* the non Doc version are being deprecated */
|
176
|
+
XMLPUBFUN xmlElementContentPtr XMLCALL
|
177
|
+
xmlNewElementContent (const xmlChar *name,
|
178
|
+
xmlElementContentType type);
|
179
|
+
XMLPUBFUN xmlElementContentPtr XMLCALL
|
180
|
+
xmlCopyElementContent (xmlElementContentPtr content);
|
181
|
+
XMLPUBFUN void XMLCALL
|
182
|
+
xmlFreeElementContent (xmlElementContentPtr cur);
|
183
|
+
/* the new versions with doc argument */
|
184
|
+
XMLPUBFUN xmlElementContentPtr XMLCALL
|
185
|
+
xmlNewDocElementContent (xmlDocPtr doc,
|
186
|
+
const xmlChar *name,
|
187
|
+
xmlElementContentType type);
|
188
|
+
XMLPUBFUN xmlElementContentPtr XMLCALL
|
189
|
+
xmlCopyDocElementContent(xmlDocPtr doc,
|
190
|
+
xmlElementContentPtr content);
|
191
|
+
XMLPUBFUN void XMLCALL
|
192
|
+
xmlFreeDocElementContent(xmlDocPtr doc,
|
193
|
+
xmlElementContentPtr cur);
|
194
|
+
XMLPUBFUN void XMLCALL
|
195
|
+
xmlSnprintfElementContent(char *buf,
|
196
|
+
int size,
|
197
|
+
xmlElementContentPtr content,
|
198
|
+
int englob);
|
199
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
200
|
+
/* DEPRECATED */
|
201
|
+
XMLPUBFUN void XMLCALL
|
202
|
+
xmlSprintfElementContent(char *buf,
|
203
|
+
xmlElementContentPtr content,
|
204
|
+
int englob);
|
205
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
206
|
+
/* DEPRECATED */
|
207
|
+
|
208
|
+
/* Element */
|
209
|
+
XMLPUBFUN xmlElementPtr XMLCALL
|
210
|
+
xmlAddElementDecl (xmlValidCtxtPtr ctxt,
|
211
|
+
xmlDtdPtr dtd,
|
212
|
+
const xmlChar *name,
|
213
|
+
xmlElementTypeVal type,
|
214
|
+
xmlElementContentPtr content);
|
215
|
+
#ifdef LIBXML_TREE_ENABLED
|
216
|
+
XMLPUBFUN xmlElementTablePtr XMLCALL
|
217
|
+
xmlCopyElementTable (xmlElementTablePtr table);
|
218
|
+
#endif /* LIBXML_TREE_ENABLED */
|
219
|
+
XMLPUBFUN void XMLCALL
|
220
|
+
xmlFreeElementTable (xmlElementTablePtr table);
|
221
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
222
|
+
XMLPUBFUN void XMLCALL
|
223
|
+
xmlDumpElementTable (xmlBufferPtr buf,
|
224
|
+
xmlElementTablePtr table);
|
225
|
+
XMLPUBFUN void XMLCALL
|
226
|
+
xmlDumpElementDecl (xmlBufferPtr buf,
|
227
|
+
xmlElementPtr elem);
|
228
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
229
|
+
|
230
|
+
/* Enumeration */
|
231
|
+
XMLPUBFUN xmlEnumerationPtr XMLCALL
|
232
|
+
xmlCreateEnumeration (const xmlChar *name);
|
233
|
+
XMLPUBFUN void XMLCALL
|
234
|
+
xmlFreeEnumeration (xmlEnumerationPtr cur);
|
235
|
+
#ifdef LIBXML_TREE_ENABLED
|
236
|
+
XMLPUBFUN xmlEnumerationPtr XMLCALL
|
237
|
+
xmlCopyEnumeration (xmlEnumerationPtr cur);
|
238
|
+
#endif /* LIBXML_TREE_ENABLED */
|
239
|
+
|
240
|
+
/* Attribute */
|
241
|
+
XMLPUBFUN xmlAttributePtr XMLCALL
|
242
|
+
xmlAddAttributeDecl (xmlValidCtxtPtr ctxt,
|
243
|
+
xmlDtdPtr dtd,
|
244
|
+
const xmlChar *elem,
|
245
|
+
const xmlChar *name,
|
246
|
+
const xmlChar *ns,
|
247
|
+
xmlAttributeType type,
|
248
|
+
xmlAttributeDefault def,
|
249
|
+
const xmlChar *defaultValue,
|
250
|
+
xmlEnumerationPtr tree);
|
251
|
+
#ifdef LIBXML_TREE_ENABLED
|
252
|
+
XMLPUBFUN xmlAttributeTablePtr XMLCALL
|
253
|
+
xmlCopyAttributeTable (xmlAttributeTablePtr table);
|
254
|
+
#endif /* LIBXML_TREE_ENABLED */
|
255
|
+
XMLPUBFUN void XMLCALL
|
256
|
+
xmlFreeAttributeTable (xmlAttributeTablePtr table);
|
257
|
+
#ifdef LIBXML_OUTPUT_ENABLED
|
258
|
+
XMLPUBFUN void XMLCALL
|
259
|
+
xmlDumpAttributeTable (xmlBufferPtr buf,
|
260
|
+
xmlAttributeTablePtr table);
|
261
|
+
XMLPUBFUN void XMLCALL
|
262
|
+
xmlDumpAttributeDecl (xmlBufferPtr buf,
|
263
|
+
xmlAttributePtr attr);
|
264
|
+
#endif /* LIBXML_OUTPUT_ENABLED */
|
265
|
+
|
266
|
+
/* IDs */
|
267
|
+
XMLPUBFUN xmlIDPtr XMLCALL
|
268
|
+
xmlAddID (xmlValidCtxtPtr ctxt,
|
269
|
+
xmlDocPtr doc,
|
270
|
+
const xmlChar *value,
|
271
|
+
xmlAttrPtr attr);
|
272
|
+
XMLPUBFUN void XMLCALL
|
273
|
+
xmlFreeIDTable (xmlIDTablePtr table);
|
274
|
+
XMLPUBFUN xmlAttrPtr XMLCALL
|
275
|
+
xmlGetID (xmlDocPtr doc,
|
276
|
+
const xmlChar *ID);
|
277
|
+
XMLPUBFUN int XMLCALL
|
278
|
+
xmlIsID (xmlDocPtr doc,
|
279
|
+
xmlNodePtr elem,
|
280
|
+
xmlAttrPtr attr);
|
281
|
+
XMLPUBFUN int XMLCALL
|
282
|
+
xmlRemoveID (xmlDocPtr doc,
|
283
|
+
xmlAttrPtr attr);
|
284
|
+
|
285
|
+
/* IDREFs */
|
286
|
+
XMLPUBFUN xmlRefPtr XMLCALL
|
287
|
+
xmlAddRef (xmlValidCtxtPtr ctxt,
|
288
|
+
xmlDocPtr doc,
|
289
|
+
const xmlChar *value,
|
290
|
+
xmlAttrPtr attr);
|
291
|
+
XMLPUBFUN void XMLCALL
|
292
|
+
xmlFreeRefTable (xmlRefTablePtr table);
|
293
|
+
XMLPUBFUN int XMLCALL
|
294
|
+
xmlIsRef (xmlDocPtr doc,
|
295
|
+
xmlNodePtr elem,
|
296
|
+
xmlAttrPtr attr);
|
297
|
+
XMLPUBFUN int XMLCALL
|
298
|
+
xmlRemoveRef (xmlDocPtr doc,
|
299
|
+
xmlAttrPtr attr);
|
300
|
+
XMLPUBFUN xmlListPtr XMLCALL
|
301
|
+
xmlGetRefs (xmlDocPtr doc,
|
302
|
+
const xmlChar *ID);
|
303
|
+
|
304
|
+
/**
|
305
|
+
* The public function calls related to validity checking.
|
306
|
+
*/
|
307
|
+
#ifdef LIBXML_VALID_ENABLED
|
308
|
+
/* Allocate/Release Validation Contexts */
|
309
|
+
XMLPUBFUN xmlValidCtxtPtr XMLCALL
|
310
|
+
xmlNewValidCtxt(void);
|
311
|
+
XMLPUBFUN void XMLCALL
|
312
|
+
xmlFreeValidCtxt(xmlValidCtxtPtr);
|
313
|
+
|
314
|
+
XMLPUBFUN int XMLCALL
|
315
|
+
xmlValidateRoot (xmlValidCtxtPtr ctxt,
|
316
|
+
xmlDocPtr doc);
|
317
|
+
XMLPUBFUN int XMLCALL
|
318
|
+
xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
|
319
|
+
xmlDocPtr doc,
|
320
|
+
xmlElementPtr elem);
|
321
|
+
XMLPUBFUN xmlChar * XMLCALL
|
322
|
+
xmlValidNormalizeAttributeValue(xmlDocPtr doc,
|
323
|
+
xmlNodePtr elem,
|
324
|
+
const xmlChar *name,
|
325
|
+
const xmlChar *value);
|
326
|
+
XMLPUBFUN xmlChar * XMLCALL
|
327
|
+
xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
|
328
|
+
xmlDocPtr doc,
|
329
|
+
xmlNodePtr elem,
|
330
|
+
const xmlChar *name,
|
331
|
+
const xmlChar *value);
|
332
|
+
XMLPUBFUN int XMLCALL
|
333
|
+
xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
|
334
|
+
xmlDocPtr doc,
|
335
|
+
xmlAttributePtr attr);
|
336
|
+
XMLPUBFUN int XMLCALL
|
337
|
+
xmlValidateAttributeValue(xmlAttributeType type,
|
338
|
+
const xmlChar *value);
|
339
|
+
XMLPUBFUN int XMLCALL
|
340
|
+
xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
|
341
|
+
xmlDocPtr doc,
|
342
|
+
xmlNotationPtr nota);
|
343
|
+
XMLPUBFUN int XMLCALL
|
344
|
+
xmlValidateDtd (xmlValidCtxtPtr ctxt,
|
345
|
+
xmlDocPtr doc,
|
346
|
+
xmlDtdPtr dtd);
|
347
|
+
XMLPUBFUN int XMLCALL
|
348
|
+
xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
|
349
|
+
xmlDocPtr doc);
|
350
|
+
XMLPUBFUN int XMLCALL
|
351
|
+
xmlValidateDocument (xmlValidCtxtPtr ctxt,
|
352
|
+
xmlDocPtr doc);
|
353
|
+
XMLPUBFUN int XMLCALL
|
354
|
+
xmlValidateElement (xmlValidCtxtPtr ctxt,
|
355
|
+
xmlDocPtr doc,
|
356
|
+
xmlNodePtr elem);
|
357
|
+
XMLPUBFUN int XMLCALL
|
358
|
+
xmlValidateOneElement (xmlValidCtxtPtr ctxt,
|
359
|
+
xmlDocPtr doc,
|
360
|
+
xmlNodePtr elem);
|
361
|
+
XMLPUBFUN int XMLCALL
|
362
|
+
xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
|
363
|
+
xmlDocPtr doc,
|
364
|
+
xmlNodePtr elem,
|
365
|
+
xmlAttrPtr attr,
|
366
|
+
const xmlChar *value);
|
367
|
+
XMLPUBFUN int XMLCALL
|
368
|
+
xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
|
369
|
+
xmlDocPtr doc,
|
370
|
+
xmlNodePtr elem,
|
371
|
+
const xmlChar *prefix,
|
372
|
+
xmlNsPtr ns,
|
373
|
+
const xmlChar *value);
|
374
|
+
XMLPUBFUN int XMLCALL
|
375
|
+
xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
|
376
|
+
xmlDocPtr doc);
|
377
|
+
#endif /* LIBXML_VALID_ENABLED */
|
378
|
+
|
379
|
+
#if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
|
380
|
+
XMLPUBFUN int XMLCALL
|
381
|
+
xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
|
382
|
+
xmlDocPtr doc,
|
383
|
+
const xmlChar *notationName);
|
384
|
+
#endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
|
385
|
+
|
386
|
+
XMLPUBFUN int XMLCALL
|
387
|
+
xmlIsMixedElement (xmlDocPtr doc,
|
388
|
+
const xmlChar *name);
|
389
|
+
XMLPUBFUN xmlAttributePtr XMLCALL
|
390
|
+
xmlGetDtdAttrDesc (xmlDtdPtr dtd,
|
391
|
+
const xmlChar *elem,
|
392
|
+
const xmlChar *name);
|
393
|
+
XMLPUBFUN xmlAttributePtr XMLCALL
|
394
|
+
xmlGetDtdQAttrDesc (xmlDtdPtr dtd,
|
395
|
+
const xmlChar *elem,
|
396
|
+
const xmlChar *name,
|
397
|
+
const xmlChar *prefix);
|
398
|
+
XMLPUBFUN xmlNotationPtr XMLCALL
|
399
|
+
xmlGetDtdNotationDesc (xmlDtdPtr dtd,
|
400
|
+
const xmlChar *name);
|
401
|
+
XMLPUBFUN xmlElementPtr XMLCALL
|
402
|
+
xmlGetDtdQElementDesc (xmlDtdPtr dtd,
|
403
|
+
const xmlChar *name,
|
404
|
+
const xmlChar *prefix);
|
405
|
+
XMLPUBFUN xmlElementPtr XMLCALL
|
406
|
+
xmlGetDtdElementDesc (xmlDtdPtr dtd,
|
407
|
+
const xmlChar *name);
|
408
|
+
|
409
|
+
#ifdef LIBXML_VALID_ENABLED
|
410
|
+
|
411
|
+
XMLPUBFUN int XMLCALL
|
412
|
+
xmlValidGetPotentialChildren(xmlElementContent *ctree,
|
413
|
+
const xmlChar **names,
|
414
|
+
int *len,
|
415
|
+
int max);
|
416
|
+
|
417
|
+
XMLPUBFUN int XMLCALL
|
418
|
+
xmlValidGetValidElements(xmlNode *prev,
|
419
|
+
xmlNode *next,
|
420
|
+
const xmlChar **names,
|
421
|
+
int max);
|
422
|
+
XMLPUBFUN int XMLCALL
|
423
|
+
xmlValidateNameValue (const xmlChar *value);
|
424
|
+
XMLPUBFUN int XMLCALL
|
425
|
+
xmlValidateNamesValue (const xmlChar *value);
|
426
|
+
XMLPUBFUN int XMLCALL
|
427
|
+
xmlValidateNmtokenValue (const xmlChar *value);
|
428
|
+
XMLPUBFUN int XMLCALL
|
429
|
+
xmlValidateNmtokensValue(const xmlChar *value);
|
430
|
+
|
431
|
+
#ifdef LIBXML_REGEXP_ENABLED
|
432
|
+
/*
|
433
|
+
* Validation based on the regexp support
|
434
|
+
*/
|
435
|
+
XMLPUBFUN int XMLCALL
|
436
|
+
xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
|
437
|
+
xmlElementPtr elem);
|
438
|
+
|
439
|
+
XMLPUBFUN int XMLCALL
|
440
|
+
xmlValidatePushElement (xmlValidCtxtPtr ctxt,
|
441
|
+
xmlDocPtr doc,
|
442
|
+
xmlNodePtr elem,
|
443
|
+
const xmlChar *qname);
|
444
|
+
XMLPUBFUN int XMLCALL
|
445
|
+
xmlValidatePushCData (xmlValidCtxtPtr ctxt,
|
446
|
+
const xmlChar *data,
|
447
|
+
int len);
|
448
|
+
XMLPUBFUN int XMLCALL
|
449
|
+
xmlValidatePopElement (xmlValidCtxtPtr ctxt,
|
450
|
+
xmlDocPtr doc,
|
451
|
+
xmlNodePtr elem,
|
452
|
+
const xmlChar *qname);
|
453
|
+
#endif /* LIBXML_REGEXP_ENABLED */
|
454
|
+
#endif /* LIBXML_VALID_ENABLED */
|
455
|
+
#ifdef __cplusplus
|
456
|
+
}
|
457
|
+
#endif
|
458
|
+
#endif /* __XML_VALID_H__ */
|