nokogiri 1.11.0.rc3-x86-linux → 1.11.3-x86-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.

Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/LICENSE-DEPENDENCIES.md +1015 -947
  4. data/LICENSE.md +1 -1
  5. data/README.md +168 -91
  6. data/ext/nokogiri/depend +37 -358
  7. data/ext/nokogiri/extconf.rb +581 -374
  8. data/ext/nokogiri/html_document.c +78 -82
  9. data/ext/nokogiri/html_element_description.c +84 -71
  10. data/ext/nokogiri/html_entity_lookup.c +21 -16
  11. data/ext/nokogiri/html_sax_parser_context.c +69 -66
  12. data/ext/nokogiri/html_sax_push_parser.c +42 -34
  13. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  14. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  15. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  16. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
  17. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  18. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  19. data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
  20. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
  21. data/ext/nokogiri/include/libxml2/libxml/c14n.h +126 -0
  22. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  23. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  24. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  25. data/ext/nokogiri/include/libxml2/libxml/dict.h +79 -0
  26. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  27. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  28. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
  29. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  30. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  31. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
  32. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  33. data/ext/nokogiri/include/libxml2/libxml/parser.h +1241 -0
  34. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  35. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  36. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
  37. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  38. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  39. data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
  40. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  41. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  42. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
  43. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  44. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +366 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +945 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +153 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xpath.h +566 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
  63. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  64. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  65. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  66. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  67. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  68. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  69. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  70. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  71. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  72. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  73. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  74. data/ext/nokogiri/include/libxslt/security.h +104 -0
  75. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  76. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  77. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  78. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  79. data/ext/nokogiri/include/libxslt/xsltInternals.h +1978 -0
  80. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  81. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  82. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  83. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  84. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  85. data/ext/nokogiri/nokogiri.c +192 -93
  86. data/ext/nokogiri/nokogiri.h +177 -98
  87. data/ext/nokogiri/test_global_handlers.c +40 -0
  88. data/ext/nokogiri/xml_attr.c +15 -15
  89. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  90. data/ext/nokogiri/xml_cdata.c +13 -18
  91. data/ext/nokogiri/xml_comment.c +19 -26
  92. data/ext/nokogiri/xml_document.c +246 -188
  93. data/ext/nokogiri/xml_document_fragment.c +13 -15
  94. data/ext/nokogiri/xml_dtd.c +54 -48
  95. data/ext/nokogiri/xml_element_content.c +30 -27
  96. data/ext/nokogiri/xml_element_decl.c +22 -22
  97. data/ext/nokogiri/xml_encoding_handler.c +17 -11
  98. data/ext/nokogiri/xml_entity_decl.c +32 -30
  99. data/ext/nokogiri/xml_entity_reference.c +16 -18
  100. data/ext/nokogiri/xml_namespace.c +56 -49
  101. data/ext/nokogiri/xml_node.c +371 -320
  102. data/ext/nokogiri/xml_node_set.c +168 -156
  103. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  104. data/ext/nokogiri/xml_reader.c +191 -157
  105. data/ext/nokogiri/xml_relax_ng.c +52 -28
  106. data/ext/nokogiri/xml_sax_parser.c +118 -118
  107. data/ext/nokogiri/xml_sax_parser_context.c +103 -86
  108. data/ext/nokogiri/xml_sax_push_parser.c +36 -27
  109. data/ext/nokogiri/xml_schema.c +95 -47
  110. data/ext/nokogiri/xml_syntax_error.c +42 -21
  111. data/ext/nokogiri/xml_text.c +13 -17
  112. data/ext/nokogiri/xml_xpath_context.c +206 -123
  113. data/ext/nokogiri/xslt_stylesheet.c +158 -161
  114. data/lib/nokogiri.rb +3 -7
  115. data/lib/nokogiri/2.5/nokogiri.so +0 -0
  116. data/lib/nokogiri/2.6/nokogiri.so +0 -0
  117. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  118. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  119. data/lib/nokogiri/css/parser.rb +3 -3
  120. data/lib/nokogiri/css/parser.y +2 -2
  121. data/lib/nokogiri/css/xpath_visitor.rb +70 -42
  122. data/lib/nokogiri/extension.rb +26 -0
  123. data/lib/nokogiri/html/document.rb +12 -26
  124. data/lib/nokogiri/html/document_fragment.rb +15 -15
  125. data/lib/nokogiri/version.rb +2 -149
  126. data/lib/nokogiri/version/constant.rb +5 -0
  127. data/lib/nokogiri/version/info.rb +205 -0
  128. data/lib/nokogiri/xml/document.rb +91 -35
  129. data/lib/nokogiri/xml/document_fragment.rb +4 -6
  130. data/lib/nokogiri/xml/node.rb +89 -69
  131. data/lib/nokogiri/xml/parse_options.rb +6 -0
  132. data/lib/nokogiri/xml/reader.rb +2 -9
  133. data/lib/nokogiri/xml/relax_ng.rb +6 -2
  134. data/lib/nokogiri/xml/schema.rb +12 -4
  135. data/lib/nokogiri/xml/searchable.rb +3 -1
  136. data/lib/nokogiri/xml/xpath.rb +1 -3
  137. data/lib/nokogiri/xml/xpath/syntax_error.rb +1 -1
  138. metadata +150 -171
  139. data/ext/nokogiri/html_document.h +0 -10
  140. data/ext/nokogiri/html_element_description.h +0 -10
  141. data/ext/nokogiri/html_entity_lookup.h +0 -8
  142. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  143. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  144. data/ext/nokogiri/xml_attr.h +0 -9
  145. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  146. data/ext/nokogiri/xml_cdata.h +0 -9
  147. data/ext/nokogiri/xml_comment.h +0 -9
  148. data/ext/nokogiri/xml_document.h +0 -23
  149. data/ext/nokogiri/xml_document_fragment.h +0 -10
  150. data/ext/nokogiri/xml_dtd.h +0 -10
  151. data/ext/nokogiri/xml_element_content.h +0 -10
  152. data/ext/nokogiri/xml_element_decl.h +0 -9
  153. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  154. data/ext/nokogiri/xml_entity_decl.h +0 -10
  155. data/ext/nokogiri/xml_entity_reference.h +0 -9
  156. data/ext/nokogiri/xml_io.c +0 -63
  157. data/ext/nokogiri/xml_io.h +0 -11
  158. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  159. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  160. data/ext/nokogiri/xml_namespace.h +0 -14
  161. data/ext/nokogiri/xml_node.h +0 -13
  162. data/ext/nokogiri/xml_node_set.h +0 -12
  163. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  164. data/ext/nokogiri/xml_reader.h +0 -10
  165. data/ext/nokogiri/xml_relax_ng.h +0 -9
  166. data/ext/nokogiri/xml_sax_parser.h +0 -39
  167. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  168. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  169. data/ext/nokogiri/xml_schema.h +0 -9
  170. data/ext/nokogiri/xml_syntax_error.h +0 -13
  171. data/ext/nokogiri/xml_text.h +0 -9
  172. data/ext/nokogiri/xml_xpath_context.h +0 -10
  173. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  174. 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__ */