nokogiri 1.16.8-x86_64-darwin → 1.17.0-x86_64-darwin

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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +11 -21
  3. data/README.md +4 -0
  4. data/dependencies.yml +6 -6
  5. data/ext/nokogiri/extconf.rb +191 -137
  6. data/ext/nokogiri/gumbo.c +69 -53
  7. data/ext/nokogiri/html4_document.c +10 -4
  8. data/ext/nokogiri/html4_element_description.c +18 -18
  9. data/ext/nokogiri/html4_sax_parser.c +40 -0
  10. data/ext/nokogiri/html4_sax_parser_context.c +48 -58
  11. data/ext/nokogiri/html4_sax_push_parser.c +25 -24
  12. data/ext/nokogiri/include/libexslt/exsltconfig.h +3 -3
  13. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +12 -19
  14. data/ext/nokogiri/include/libxml2/libxml/c14n.h +1 -12
  15. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +1 -1
  16. data/ext/nokogiri/include/libxml2/libxml/encoding.h +9 -0
  17. data/ext/nokogiri/include/libxml2/libxml/entities.h +12 -1
  18. data/ext/nokogiri/include/libxml2/libxml/hash.h +19 -0
  19. data/ext/nokogiri/include/libxml2/libxml/list.h +2 -2
  20. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +17 -0
  21. data/ext/nokogiri/include/libxml2/libxml/parser.h +60 -54
  22. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +9 -1
  23. data/ext/nokogiri/include/libxml2/libxml/pattern.h +6 -0
  24. data/ext/nokogiri/include/libxml2/libxml/tree.h +32 -12
  25. data/ext/nokogiri/include/libxml2/libxml/uri.h +11 -0
  26. data/ext/nokogiri/include/libxml2/libxml/valid.h +29 -2
  27. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +7 -0
  28. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +21 -4
  29. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +14 -0
  30. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +111 -15
  31. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +8 -45
  32. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +2 -0
  33. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +5 -0
  34. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +165 -1
  35. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +7 -171
  36. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +1 -0
  37. data/ext/nokogiri/include/libxml2/libxml/xpath.h +4 -0
  38. data/ext/nokogiri/include/libxslt/xsltInternals.h +3 -0
  39. data/ext/nokogiri/include/libxslt/xsltconfig.h +4 -37
  40. data/ext/nokogiri/libxml2_polyfill.c +114 -0
  41. data/ext/nokogiri/nokogiri.c +9 -2
  42. data/ext/nokogiri/nokogiri.h +18 -33
  43. data/ext/nokogiri/xml_attr.c +1 -1
  44. data/ext/nokogiri/xml_cdata.c +2 -10
  45. data/ext/nokogiri/xml_comment.c +3 -8
  46. data/ext/nokogiri/xml_document.c +163 -156
  47. data/ext/nokogiri/xml_document_fragment.c +10 -25
  48. data/ext/nokogiri/xml_dtd.c +1 -1
  49. data/ext/nokogiri/xml_element_content.c +9 -9
  50. data/ext/nokogiri/xml_encoding_handler.c +4 -4
  51. data/ext/nokogiri/xml_namespace.c +6 -6
  52. data/ext/nokogiri/xml_node.c +130 -104
  53. data/ext/nokogiri/xml_node_set.c +46 -44
  54. data/ext/nokogiri/xml_reader.c +54 -58
  55. data/ext/nokogiri/xml_relax_ng.c +35 -56
  56. data/ext/nokogiri/xml_sax_parser.c +156 -88
  57. data/ext/nokogiri/xml_sax_parser_context.c +213 -131
  58. data/ext/nokogiri/xml_sax_push_parser.c +68 -49
  59. data/ext/nokogiri/xml_schema.c +50 -85
  60. data/ext/nokogiri/xml_syntax_error.c +19 -11
  61. data/ext/nokogiri/xml_text.c +2 -4
  62. data/ext/nokogiri/xml_xpath_context.c +2 -2
  63. data/ext/nokogiri/xslt_stylesheet.c +8 -8
  64. data/lib/nokogiri/3.0/nokogiri.bundle +0 -0
  65. data/lib/nokogiri/3.1/nokogiri.bundle +0 -0
  66. data/lib/nokogiri/3.2/nokogiri.bundle +0 -0
  67. data/lib/nokogiri/3.3/nokogiri.bundle +0 -0
  68. data/lib/nokogiri/class_resolver.rb +1 -1
  69. data/lib/nokogiri/css/node.rb +6 -2
  70. data/lib/nokogiri/css/parser.rb +6 -4
  71. data/lib/nokogiri/css/parser.y +2 -2
  72. data/lib/nokogiri/css/parser_extras.rb +6 -66
  73. data/lib/nokogiri/css/selector_cache.rb +38 -0
  74. data/lib/nokogiri/css/tokenizer.rb +4 -4
  75. data/lib/nokogiri/css/tokenizer.rex +9 -8
  76. data/lib/nokogiri/css/xpath_visitor.rb +42 -6
  77. data/lib/nokogiri/css.rb +86 -20
  78. data/lib/nokogiri/decorators/slop.rb +3 -5
  79. data/lib/nokogiri/encoding_handler.rb +2 -2
  80. data/lib/nokogiri/html4/document.rb +44 -23
  81. data/lib/nokogiri/html4/document_fragment.rb +124 -12
  82. data/lib/nokogiri/html4/encoding_reader.rb +1 -1
  83. data/lib/nokogiri/html4/sax/parser.rb +23 -38
  84. data/lib/nokogiri/html4/sax/parser_context.rb +4 -9
  85. data/lib/nokogiri/html4.rb +9 -14
  86. data/lib/nokogiri/html5/builder.rb +40 -0
  87. data/lib/nokogiri/html5/document.rb +61 -30
  88. data/lib/nokogiri/html5/document_fragment.rb +130 -20
  89. data/lib/nokogiri/html5/node.rb +4 -4
  90. data/lib/nokogiri/html5.rb +114 -72
  91. data/lib/nokogiri/version/constant.rb +1 -1
  92. data/lib/nokogiri/xml/builder.rb +8 -1
  93. data/lib/nokogiri/xml/document.rb +70 -26
  94. data/lib/nokogiri/xml/document_fragment.rb +84 -13
  95. data/lib/nokogiri/xml/node.rb +82 -11
  96. data/lib/nokogiri/xml/node_set.rb +9 -7
  97. data/lib/nokogiri/xml/parse_options.rb +1 -1
  98. data/lib/nokogiri/xml/pp/node.rb +6 -1
  99. data/lib/nokogiri/xml/reader.rb +46 -13
  100. data/lib/nokogiri/xml/relax_ng.rb +57 -20
  101. data/lib/nokogiri/xml/sax/document.rb +174 -83
  102. data/lib/nokogiri/xml/sax/parser.rb +115 -41
  103. data/lib/nokogiri/xml/sax/parser_context.rb +116 -8
  104. data/lib/nokogiri/xml/sax/push_parser.rb +3 -0
  105. data/lib/nokogiri/xml/sax.rb +48 -0
  106. data/lib/nokogiri/xml/schema.rb +112 -45
  107. data/lib/nokogiri/xml/searchable.rb +6 -8
  108. data/lib/nokogiri/xml/syntax_error.rb +22 -0
  109. data/lib/nokogiri/xml.rb +13 -24
  110. data/lib/nokogiri/xslt.rb +3 -9
  111. data/lib/xsd/xmlparser/nokogiri.rb +3 -4
  112. metadata +8 -4
  113. data/ext/nokogiri/libxml2_backwards_compat.c +0 -121
@@ -10,6 +10,7 @@
10
10
  #ifndef __XML_PARSER_H__
11
11
  #define __XML_PARSER_H__
12
12
 
13
+ /** DOC_DISABLE */
13
14
  #include <libxml/xmlversion.h>
14
15
  #define XML_TREE_INTERNALS
15
16
  #include <libxml/tree.h>
@@ -26,6 +27,7 @@
26
27
  /* for compatibility */
27
28
  #include <libxml/SAX2.h>
28
29
  #include <libxml/threads.h>
30
+ /** DOC_ENABLE */
29
31
 
30
32
  #ifdef __cplusplus
31
33
  extern "C" {
@@ -62,11 +64,11 @@ struct _xmlParserInput {
62
64
  xmlParserInputBufferPtr buf; /* UTF-8 encoded buffer */
63
65
 
64
66
  const char *filename; /* The file analyzed, if any */
65
- const char *directory; /* the directory/base of the file */
67
+ const char *directory; /* unused */
66
68
  const xmlChar *base; /* Base of the array to parse */
67
69
  const xmlChar *cur; /* Current char being parsed */
68
70
  const xmlChar *end; /* end of the array to parse */
69
- int length; /* length if known */
71
+ int length; /* unused */
70
72
  int line; /* Current line */
71
73
  int col; /* Current column */
72
74
  unsigned long consumed; /* How many xmlChars already consumed */
@@ -75,7 +77,7 @@ struct _xmlParserInput {
75
77
  const xmlChar *version; /* the version string for entity */
76
78
  int flags; /* Flags */
77
79
  int id; /* an unique identifier for the entity */
78
- unsigned long parentConsumed; /* consumed bytes from parents */
80
+ unsigned long parentConsumed; /* unused */
79
81
  xmlEntityPtr entity; /* entity, if any */
80
82
  };
81
83
 
@@ -134,30 +136,14 @@ typedef enum {
134
136
  XML_PARSER_XML_DECL /* before XML decl (but after BOM) */
135
137
  } xmlParserInputState;
136
138
 
137
- /**
138
- * XML_DETECT_IDS:
139
- *
140
- * Bit in the loadsubset context field to tell to do ID/REFs lookups.
141
- * Use it to initialize xmlLoadExtDtdDefaultValue.
139
+ /** DOC_DISABLE */
140
+ /*
141
+ * Internal bits in the 'loadsubset' context member
142
142
  */
143
143
  #define XML_DETECT_IDS 2
144
-
145
- /**
146
- * XML_COMPLETE_ATTRS:
147
- *
148
- * Bit in the loadsubset context field to tell to do complete the
149
- * elements attributes lists with the ones defaulted from the DTDs.
150
- * Use it to initialize xmlLoadExtDtdDefaultValue.
151
- */
152
144
  #define XML_COMPLETE_ATTRS 4
153
-
154
- /**
155
- * XML_SKIP_IDS:
156
- *
157
- * Bit in the loadsubset context field to tell to not do ID/REFs registration.
158
- * Used to initialize xmlLoadExtDtdDefaultValue in some special cases.
159
- */
160
145
  #define XML_SKIP_IDS 8
146
+ /** DOC_ENABLE */
161
147
 
162
148
  /**
163
149
  * xmlParserMode:
@@ -222,16 +208,16 @@ struct _xmlParserCtxt {
222
208
 
223
209
  int hasExternalSubset; /* reference and external subset */
224
210
  int hasPErefs; /* the internal subset has PE refs */
225
- int external; /* are we parsing an external entity */
211
+ int external; /* unused */
226
212
 
227
213
  int valid; /* is the document valid */
228
214
  int validate; /* shall we try to validate ? */
229
215
  xmlValidCtxt vctxt; /* The validity context */
230
216
 
231
- xmlParserInputState instate; /* current type of input */
232
- int token; /* next char look-ahead */
217
+ xmlParserInputState instate; /* push parser state */
218
+ int token; /* unused */
233
219
 
234
- char *directory; /* the data directory */
220
+ char *directory; /* unused */
235
221
 
236
222
  /* Node name stack */
237
223
  const xmlChar *name; /* Current parsed Node */
@@ -255,7 +241,7 @@ struct _xmlParserCtxt {
255
241
  int * spaceTab; /* array of space infos */
256
242
 
257
243
  int depth; /* to prevent entity substitution loops */
258
- xmlParserInputPtr entity; /* used to check entities boundaries */
244
+ xmlParserInputPtr entity; /* unused */
259
245
  int charset; /* unused */
260
246
  int nodelen; /* Those two fields are there to */
261
247
  int nodemem; /* Speed up large node parsing */
@@ -266,11 +252,11 @@ struct _xmlParserCtxt {
266
252
  int linenumbers; /* set line number in element content */
267
253
  void *catalogs; /* document's own catalog */
268
254
  int recovery; /* run in recovery mode */
269
- int progressive; /* is this a progressive parsing */
255
+ int progressive; /* unused */
270
256
  xmlDictPtr dict; /* dictionary for the parser */
271
257
  const xmlChar * *atts; /* array for the attributes callbacks */
272
258
  int maxatts; /* the size of the array */
273
- int docdict; /* use strings from dict to build tree */
259
+ int docdict; /* unused */
274
260
 
275
261
  /*
276
262
  * pre-interned strings
@@ -308,7 +294,7 @@ struct _xmlParserCtxt {
308
294
  xmlError lastError;
309
295
  xmlParserMode parseMode; /* the parser mode */
310
296
  unsigned long nbentities; /* unused */
311
- unsigned long sizeentities; /* size of parsed entities */
297
+ unsigned long sizeentities; /* size of external entities */
312
298
 
313
299
  /* for use by HTML non-recursive parser */
314
300
  xmlParserNodeInfo *nodeInfo; /* Current NodeInfo */
@@ -327,6 +313,9 @@ struct _xmlParserCtxt {
327
313
  xmlParserNsData *nsdb; /* namespace database */
328
314
  unsigned attrHashMax; /* allocated size */
329
315
  xmlAttrHashBucket *attrHash; /* atttribute hash table */
316
+
317
+ xmlStructuredErrorFunc errorHandler;
318
+ void *errorCtxt;
330
319
  };
331
320
 
332
321
  /**
@@ -843,21 +832,39 @@ typedef xmlParserInputPtr (*xmlExternalEntityLoader) (const char *URL,
843
832
  */
844
833
 
845
834
  XMLPUBVAR const char *const xmlParserVersion;
835
+ XML_DEPRECATED
836
+ XMLPUBVAR const int oldXMLWDcompatibility;
837
+ XML_DEPRECATED
838
+ XMLPUBVAR const int xmlParserDebugEntities;
839
+ XML_DEPRECATED
840
+ XMLPUBVAR const xmlSAXLocator xmlDefaultSAXLocator;
841
+ #ifdef LIBXML_SAX1_ENABLED
842
+ XML_DEPRECATED
843
+ XMLPUBVAR const xmlSAXHandlerV1 xmlDefaultSAXHandler;
844
+ #endif
845
+
846
846
  #ifdef LIBXML_THREAD_ENABLED
847
847
  /* backward compatibility */
848
848
  XMLPUBFUN const char *const *__xmlParserVersion(void);
849
+ XML_DEPRECATED
850
+ XMLPUBFUN const int *__oldXMLWDcompatibility(void);
851
+ XML_DEPRECATED
852
+ XMLPUBFUN const int *__xmlParserDebugEntities(void);
853
+ XML_DEPRECATED
854
+ XMLPUBFUN const xmlSAXLocator *__xmlDefaultSAXLocator(void);
855
+ #ifdef LIBXML_SAX1_ENABLED
856
+ XML_DEPRECATED
857
+ XMLPUBFUN const xmlSAXHandlerV1 *__xmlDefaultSAXHandler(void);
858
+ #endif
849
859
  #endif
850
860
 
851
861
  /** DOC_DISABLE */
852
862
  #define XML_GLOBALS_PARSER_CORE \
853
- XML_OP(oldXMLWDcompatibility, int, XML_DEPRECATED) \
854
- XML_OP(xmlDefaultSAXLocator, xmlSAXLocator, XML_DEPRECATED) \
855
863
  XML_OP(xmlDoValidityCheckingDefaultValue, int, XML_DEPRECATED) \
856
864
  XML_OP(xmlGetWarningsDefaultValue, int, XML_DEPRECATED) \
857
865
  XML_OP(xmlKeepBlanksDefaultValue, int, XML_DEPRECATED) \
858
866
  XML_OP(xmlLineNumbersDefaultValue, int, XML_DEPRECATED) \
859
867
  XML_OP(xmlLoadExtDtdDefaultValue, int, XML_DEPRECATED) \
860
- XML_OP(xmlParserDebugEntities, int, XML_DEPRECATED) \
861
868
  XML_OP(xmlPedanticParserDefaultValue, int, XML_DEPRECATED) \
862
869
  XML_OP(xmlSubstituteEntitiesDefaultValue, int, XML_DEPRECATED)
863
870
 
@@ -870,26 +877,15 @@ XMLPUBFUN const char *const *__xmlParserVersion(void);
870
877
  #define XML_GLOBALS_PARSER_OUTPUT
871
878
  #endif
872
879
 
873
- #ifdef LIBXML_SAX1_ENABLED
874
- #define XML_GLOBALS_PARSER_SAX1 \
875
- XML_OP(xmlDefaultSAXHandler, xmlSAXHandlerV1, XML_DEPRECATED)
876
- #else
877
- #define XML_GLOBALS_PARSER_SAX1
878
- #endif
879
-
880
880
  #define XML_GLOBALS_PARSER \
881
881
  XML_GLOBALS_PARSER_CORE \
882
- XML_GLOBALS_PARSER_OUTPUT \
883
- XML_GLOBALS_PARSER_SAX1
882
+ XML_GLOBALS_PARSER_OUTPUT
884
883
 
885
884
  #define XML_OP XML_DECLARE_GLOBAL
886
885
  XML_GLOBALS_PARSER
887
886
  #undef XML_OP
888
887
 
889
888
  #if defined(LIBXML_THREAD_ENABLED) && !defined(XML_GLOBALS_NO_REDEFINITION)
890
- #define oldXMLWDcompatibility XML_GLOBAL_MACRO(oldXMLWDcompatibility)
891
- #define xmlDefaultSAXHandler XML_GLOBAL_MACRO(xmlDefaultSAXHandler)
892
- #define xmlDefaultSAXLocator XML_GLOBAL_MACRO(xmlDefaultSAXLocator)
893
889
  #define xmlDoValidityCheckingDefaultValue \
894
890
  XML_GLOBAL_MACRO(xmlDoValidityCheckingDefaultValue)
895
891
  #define xmlGetWarningsDefaultValue \
@@ -898,7 +894,6 @@ XML_GLOBALS_PARSER
898
894
  #define xmlLineNumbersDefaultValue \
899
895
  XML_GLOBAL_MACRO(xmlLineNumbersDefaultValue)
900
896
  #define xmlLoadExtDtdDefaultValue XML_GLOBAL_MACRO(xmlLoadExtDtdDefaultValue)
901
- #define xmlParserDebugEntities XML_GLOBAL_MACRO(xmlParserDebugEntities)
902
897
  #define xmlPedanticParserDefaultValue \
903
898
  XML_GLOBAL_MACRO(xmlPedanticParserDefaultValue)
904
899
  #define xmlSubstituteEntitiesDefaultValue \
@@ -1185,18 +1180,18 @@ XMLPUBFUN xmlParserInputPtr
1185
1180
  * Node infos.
1186
1181
  */
1187
1182
  XMLPUBFUN const xmlParserNodeInfo*
1188
- xmlParserFindNodeInfo (const xmlParserCtxtPtr ctxt,
1189
- const xmlNodePtr node);
1183
+ xmlParserFindNodeInfo (xmlParserCtxtPtr ctxt,
1184
+ xmlNodePtr node);
1190
1185
  XMLPUBFUN void
1191
1186
  xmlInitNodeInfoSeq (xmlParserNodeInfoSeqPtr seq);
1192
1187
  XMLPUBFUN void
1193
1188
  xmlClearNodeInfoSeq (xmlParserNodeInfoSeqPtr seq);
1194
1189
  XMLPUBFUN unsigned long
1195
- xmlParserFindNodeInfoIndex(const xmlParserNodeInfoSeqPtr seq,
1196
- const xmlNodePtr node);
1190
+ xmlParserFindNodeInfoIndex(xmlParserNodeInfoSeqPtr seq,
1191
+ xmlNodePtr node);
1197
1192
  XMLPUBFUN void
1198
1193
  xmlParserAddNodeInfo (xmlParserCtxtPtr ctxt,
1199
- const xmlParserNodeInfoPtr info);
1194
+ xmlParserNodeInfoPtr info);
1200
1195
 
1201
1196
  /*
1202
1197
  * External entities handling actually implemented in xmlIO.
@@ -1251,7 +1246,8 @@ typedef enum {
1251
1246
  XML_PARSE_HUGE = 1<<19,/* relax any hardcoded limit from the parser */
1252
1247
  XML_PARSE_OLDSAX = 1<<20,/* parse using SAX2 interface before 2.7.0 */
1253
1248
  XML_PARSE_IGNORE_ENC= 1<<21,/* ignore internal document encoding hint */
1254
- XML_PARSE_BIG_LINES = 1<<22 /* Store big lines numbers in text PSVI field */
1249
+ XML_PARSE_BIG_LINES = 1<<22,/* Store big lines numbers in text PSVI field */
1250
+ XML_PARSE_NO_XXE = 1<<23 /* disable loading of external content */
1255
1251
  } xmlParserOption;
1256
1252
 
1257
1253
  XMLPUBFUN void
@@ -1262,9 +1258,16 @@ XMLPUBFUN int
1262
1258
  int size,
1263
1259
  const char *filename,
1264
1260
  const char *encoding);
1261
+ XMLPUBFUN int
1262
+ xmlCtxtSetOptions (xmlParserCtxtPtr ctxt,
1263
+ int options);
1265
1264
  XMLPUBFUN int
1266
1265
  xmlCtxtUseOptions (xmlParserCtxtPtr ctxt,
1267
1266
  int options);
1267
+ XMLPUBFUN void
1268
+ xmlCtxtSetErrorHandler (xmlParserCtxtPtr ctxt,
1269
+ xmlStructuredErrorFunc handler,
1270
+ void *data);
1268
1271
  XMLPUBFUN void
1269
1272
  xmlCtxtSetMaxAmplification(xmlParserCtxtPtr ctxt,
1270
1273
  unsigned maxAmpl);
@@ -1295,6 +1298,9 @@ XMLPUBFUN xmlDocPtr
1295
1298
  const char *URL,
1296
1299
  const char *encoding,
1297
1300
  int options);
1301
+ XMLPUBFUN xmlDocPtr
1302
+ xmlCtxtParseDocument (xmlParserCtxtPtr ctxt,
1303
+ xmlParserInputPtr input);
1298
1304
  XMLPUBFUN xmlDocPtr
1299
1305
  xmlCtxtReadDoc (xmlParserCtxtPtr ctxt,
1300
1306
  const xmlChar *cur,
@@ -1368,7 +1374,7 @@ typedef enum {
1368
1374
  XML_WITH_MODULES = 27,
1369
1375
  XML_WITH_DEBUG = 28,
1370
1376
  XML_WITH_DEBUG_MEM = 29,
1371
- XML_WITH_DEBUG_RUN = 30,
1377
+ XML_WITH_DEBUG_RUN = 30, /* unused */
1372
1378
  XML_WITH_ZLIB = 31,
1373
1379
  XML_WITH_ICU = 32,
1374
1380
  XML_WITH_LZMA = 33,
@@ -25,11 +25,14 @@ extern "C" {
25
25
  /**
26
26
  * xmlParserMaxDepth:
27
27
  *
28
+ * DEPRECATED: has no effect
29
+ *
28
30
  * arbitrary depth limit for the XML documents that we allow to
29
31
  * process. This is not a limitation of the parser but a safety
30
32
  * boundary feature, use XML_PARSE_HUGE option to override it.
31
33
  */
32
- XMLPUBVAR unsigned int xmlParserMaxDepth;
34
+ XML_DEPRECATED
35
+ XMLPUBVAR const unsigned int xmlParserMaxDepth;
33
36
 
34
37
  /**
35
38
  * XML_MAX_TEXT_LENGTH:
@@ -313,9 +316,14 @@ XMLPUBFUN xmlParserCtxtPtr
313
316
  xmlCreateEntityParserCtxt(const xmlChar *URL,
314
317
  const xmlChar *ID,
315
318
  const xmlChar *base);
319
+ XMLPUBFUN void
320
+ xmlCtxtErrMemory (xmlParserCtxtPtr ctxt);
316
321
  XMLPUBFUN int
317
322
  xmlSwitchEncoding (xmlParserCtxtPtr ctxt,
318
323
  xmlCharEncoding enc);
324
+ XMLPUBFUN int
325
+ xmlSwitchEncodingName (xmlParserCtxtPtr ctxt,
326
+ const char *encoding);
319
327
  XMLPUBFUN int
320
328
  xmlSwitchToEncoding (xmlParserCtxtPtr ctxt,
321
329
  xmlCharEncodingHandlerPtr handler);
@@ -54,6 +54,12 @@ XMLPUBFUN xmlPatternPtr
54
54
  xmlDict *dict,
55
55
  int flags,
56
56
  const xmlChar **namespaces);
57
+ XMLPUBFUN int
58
+ xmlPatternCompileSafe (const xmlChar *pattern,
59
+ xmlDict *dict,
60
+ int flags,
61
+ const xmlChar **namespaces,
62
+ xmlPatternPtr *patternOut);
57
63
  XMLPUBFUN int
58
64
  xmlPatternMatch (xmlPatternPtr comp,
59
65
  xmlNodePtr node);
@@ -173,13 +173,13 @@ typedef enum {
173
173
  XML_TEXT_NODE= 3,
174
174
  XML_CDATA_SECTION_NODE= 4,
175
175
  XML_ENTITY_REF_NODE= 5,
176
- XML_ENTITY_NODE= 6,
176
+ XML_ENTITY_NODE= 6, /* unused */
177
177
  XML_PI_NODE= 7,
178
178
  XML_COMMENT_NODE= 8,
179
179
  XML_DOCUMENT_NODE= 9,
180
- XML_DOCUMENT_TYPE_NODE= 10,
180
+ XML_DOCUMENT_TYPE_NODE= 10, /* unused */
181
181
  XML_DOCUMENT_FRAG_NODE= 11,
182
- XML_NOTATION_NODE= 12,
182
+ XML_NOTATION_NODE= 12, /* unused */
183
183
  XML_HTML_DOCUMENT_NODE= 13,
184
184
  XML_DTD_NODE= 14,
185
185
  XML_ELEMENT_DECL= 15,
@@ -449,6 +449,7 @@ struct _xmlAttr {
449
449
  xmlNs *ns; /* pointer to the associated namespace */
450
450
  xmlAttributeType atype; /* the attribute type if validating */
451
451
  void *psvi; /* for type/PSVI information */
452
+ struct _xmlID *id; /* the ID struct */
452
453
  };
453
454
 
454
455
  /**
@@ -1011,10 +1012,10 @@ XMLPUBFUN void
1011
1012
  xmlFreeNodeList (xmlNodePtr cur);
1012
1013
  XMLPUBFUN void
1013
1014
  xmlFreeNode (xmlNodePtr cur);
1014
- XMLPUBFUN void
1015
+ XMLPUBFUN int
1015
1016
  xmlSetTreeDoc (xmlNodePtr tree,
1016
1017
  xmlDocPtr doc);
1017
- XMLPUBFUN void
1018
+ XMLPUBFUN int
1018
1019
  xmlSetListDoc (xmlNodePtr list,
1019
1020
  xmlDocPtr doc);
1020
1021
  /*
@@ -1030,6 +1031,10 @@ XMLPUBFUN xmlNsPtr
1030
1031
  const xmlChar *href);
1031
1032
  #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
1032
1033
  defined(LIBXML_SCHEMAS_ENABLED)
1034
+ XMLPUBFUN int
1035
+ xmlGetNsListSafe (const xmlDoc *doc,
1036
+ const xmlNode *node,
1037
+ xmlNsPtr **out);
1033
1038
  XMLPUBFUN xmlNsPtr *
1034
1039
  xmlGetNsList (const xmlDoc *doc,
1035
1040
  const xmlNode *node);
@@ -1059,6 +1064,11 @@ XMLPUBFUN xmlAttrPtr
1059
1064
  const xmlChar *value);
1060
1065
  #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
1061
1066
  defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
1067
+ XMLPUBFUN int
1068
+ xmlNodeGetAttrValue (const xmlNode *node,
1069
+ const xmlChar *name,
1070
+ const xmlChar *nsUri,
1071
+ xmlChar **out);
1062
1072
  XMLPUBFUN xmlChar *
1063
1073
  xmlGetNoNsProp (const xmlNode *node,
1064
1074
  const xmlChar *name);
@@ -1093,19 +1103,19 @@ XMLPUBFUN xmlChar *
1093
1103
  const xmlNode *list,
1094
1104
  int inLine);
1095
1105
  #endif /* LIBXML_TREE_ENABLED */
1096
- XMLPUBFUN void
1106
+ XMLPUBFUN int
1097
1107
  xmlNodeSetContent (xmlNodePtr cur,
1098
1108
  const xmlChar *content);
1099
1109
  #ifdef LIBXML_TREE_ENABLED
1100
- XMLPUBFUN void
1110
+ XMLPUBFUN int
1101
1111
  xmlNodeSetContentLen (xmlNodePtr cur,
1102
1112
  const xmlChar *content,
1103
1113
  int len);
1104
1114
  #endif /* LIBXML_TREE_ENABLED */
1105
- XMLPUBFUN void
1115
+ XMLPUBFUN int
1106
1116
  xmlNodeAddContent (xmlNodePtr cur,
1107
1117
  const xmlChar *content);
1108
- XMLPUBFUN void
1118
+ XMLPUBFUN int
1109
1119
  xmlNodeAddContentLen (xmlNodePtr cur,
1110
1120
  const xmlChar *content,
1111
1121
  int len);
@@ -1124,18 +1134,22 @@ XMLPUBFUN xmlChar *
1124
1134
  XMLPUBFUN int
1125
1135
  xmlNodeGetSpacePreserve (const xmlNode *cur);
1126
1136
  #ifdef LIBXML_TREE_ENABLED
1127
- XMLPUBFUN void
1137
+ XMLPUBFUN int
1128
1138
  xmlNodeSetLang (xmlNodePtr cur,
1129
1139
  const xmlChar *lang);
1130
- XMLPUBFUN void
1140
+ XMLPUBFUN int
1131
1141
  xmlNodeSetSpacePreserve (xmlNodePtr cur,
1132
1142
  int val);
1133
1143
  #endif /* LIBXML_TREE_ENABLED */
1144
+ XMLPUBFUN int
1145
+ xmlNodeGetBaseSafe (const xmlDoc *doc,
1146
+ const xmlNode *cur,
1147
+ xmlChar **baseOut);
1134
1148
  XMLPUBFUN xmlChar *
1135
1149
  xmlNodeGetBase (const xmlDoc *doc,
1136
1150
  const xmlNode *cur);
1137
1151
  #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
1138
- XMLPUBFUN void
1152
+ XMLPUBFUN int
1139
1153
  xmlNodeSetBase (xmlNodePtr cur,
1140
1154
  const xmlChar *uri);
1141
1155
  #endif
@@ -1283,8 +1297,10 @@ XMLPUBFUN int
1283
1297
  XMLPUBFUN void
1284
1298
  xmlSetDocCompressMode (xmlDocPtr doc,
1285
1299
  int mode);
1300
+ XML_DEPRECATED
1286
1301
  XMLPUBFUN int
1287
1302
  xmlGetCompressMode (void);
1303
+ XML_DEPRECATED
1288
1304
  XMLPUBFUN void
1289
1305
  xmlSetCompressMode (int mode);
1290
1306
 
@@ -1338,12 +1354,16 @@ XMLPUBFUN xmlNodePtr
1338
1354
  xmlPreviousElementSibling (xmlNodePtr node);
1339
1355
  #endif
1340
1356
 
1357
+ XML_DEPRECATED
1341
1358
  XMLPUBFUN xmlRegisterNodeFunc
1342
1359
  xmlRegisterNodeDefault (xmlRegisterNodeFunc func);
1360
+ XML_DEPRECATED
1343
1361
  XMLPUBFUN xmlDeregisterNodeFunc
1344
1362
  xmlDeregisterNodeDefault (xmlDeregisterNodeFunc func);
1363
+ XML_DEPRECATED
1345
1364
  XMLPUBFUN xmlRegisterNodeFunc
1346
1365
  xmlThrDefRegisterNodeDefault(xmlRegisterNodeFunc func);
1366
+ XML_DEPRECATED
1347
1367
  XMLPUBFUN xmlDeregisterNodeFunc
1348
1368
  xmlThrDefDeregisterNodeDefault(xmlDeregisterNodeFunc func);
1349
1369
 
@@ -52,14 +52,25 @@ struct _xmlURI {
52
52
  */
53
53
  XMLPUBFUN xmlURIPtr
54
54
  xmlCreateURI (void);
55
+ XMLPUBFUN int
56
+ xmlBuildURISafe (const xmlChar *URI,
57
+ const xmlChar *base,
58
+ xmlChar **out);
55
59
  XMLPUBFUN xmlChar *
56
60
  xmlBuildURI (const xmlChar *URI,
57
61
  const xmlChar *base);
62
+ XMLPUBFUN int
63
+ xmlBuildRelativeURISafe (const xmlChar *URI,
64
+ const xmlChar *base,
65
+ xmlChar **out);
58
66
  XMLPUBFUN xmlChar *
59
67
  xmlBuildRelativeURI (const xmlChar *URI,
60
68
  const xmlChar *base);
61
69
  XMLPUBFUN xmlURIPtr
62
70
  xmlParseURI (const char *str);
71
+ XMLPUBFUN int
72
+ xmlParseURISafe (const char *str,
73
+ xmlURIPtr *uri);
63
74
  XMLPUBFUN xmlURIPtr
64
75
  xmlParseURIRaw (const char *str,
65
76
  int raw);
@@ -11,6 +11,7 @@
11
11
  #ifndef __XML_VALID_H__
12
12
  #define __XML_VALID_H__
13
13
 
14
+ /** DOC_DISABLE */
14
15
  #include <libxml/xmlversion.h>
15
16
  #include <libxml/xmlerror.h>
16
17
  #define XML_TREE_INTERNALS
@@ -19,6 +20,7 @@
19
20
  #include <libxml/list.h>
20
21
  #include <libxml/xmlautomata.h>
21
22
  #include <libxml/xmlregexp.h>
23
+ /** DOC_ENABLE */
22
24
 
23
25
  #ifdef __cplusplus
24
26
  extern "C" {
@@ -150,9 +152,11 @@ XMLPUBFUN xmlNotationTablePtr
150
152
  XMLPUBFUN void
151
153
  xmlFreeNotationTable (xmlNotationTablePtr table);
152
154
  #ifdef LIBXML_OUTPUT_ENABLED
155
+ XML_DEPRECATED
153
156
  XMLPUBFUN void
154
157
  xmlDumpNotationDecl (xmlBufferPtr buf,
155
158
  xmlNotationPtr nota);
159
+ /* XML_DEPRECATED, still used in lxml */
156
160
  XMLPUBFUN void
157
161
  xmlDumpNotationTable (xmlBufferPtr buf,
158
162
  xmlNotationTablePtr table);
@@ -184,13 +188,12 @@ XMLPUBFUN void
184
188
  xmlElementContentPtr content,
185
189
  int englob);
186
190
  #ifdef LIBXML_OUTPUT_ENABLED
187
- /* DEPRECATED */
191
+ XML_DEPRECATED
188
192
  XMLPUBFUN void
189
193
  xmlSprintfElementContent(char *buf,
190
194
  xmlElementContentPtr content,
191
195
  int englob);
192
196
  #endif /* LIBXML_OUTPUT_ENABLED */
193
- /* DEPRECATED */
194
197
 
195
198
  /* Element */
196
199
  XMLPUBFUN xmlElementPtr
@@ -206,9 +209,11 @@ XMLPUBFUN xmlElementTablePtr
206
209
  XMLPUBFUN void
207
210
  xmlFreeElementTable (xmlElementTablePtr table);
208
211
  #ifdef LIBXML_OUTPUT_ENABLED
212
+ XML_DEPRECATED
209
213
  XMLPUBFUN void
210
214
  xmlDumpElementTable (xmlBufferPtr buf,
211
215
  xmlElementTablePtr table);
216
+ XML_DEPRECATED
212
217
  XMLPUBFUN void
213
218
  xmlDumpElementDecl (xmlBufferPtr buf,
214
219
  xmlElementPtr elem);
@@ -242,15 +247,20 @@ XMLPUBFUN xmlAttributeTablePtr
242
247
  XMLPUBFUN void
243
248
  xmlFreeAttributeTable (xmlAttributeTablePtr table);
244
249
  #ifdef LIBXML_OUTPUT_ENABLED
250
+ XML_DEPRECATED
245
251
  XMLPUBFUN void
246
252
  xmlDumpAttributeTable (xmlBufferPtr buf,
247
253
  xmlAttributeTablePtr table);
254
+ XML_DEPRECATED
248
255
  XMLPUBFUN void
249
256
  xmlDumpAttributeDecl (xmlBufferPtr buf,
250
257
  xmlAttributePtr attr);
251
258
  #endif /* LIBXML_OUTPUT_ENABLED */
252
259
 
253
260
  /* IDs */
261
+ XMLPUBFUN int
262
+ xmlAddIDSafe (xmlAttrPtr attr,
263
+ const xmlChar *value);
254
264
  XMLPUBFUN xmlIDPtr
255
265
  xmlAddID (xmlValidCtxtPtr ctxt,
256
266
  xmlDocPtr doc,
@@ -303,31 +313,38 @@ XMLPUBFUN xmlValidCtxtPtr
303
313
  XMLPUBFUN void
304
314
  xmlFreeValidCtxt(xmlValidCtxtPtr);
305
315
 
316
+ XML_DEPRECATED
306
317
  XMLPUBFUN int
307
318
  xmlValidateRoot (xmlValidCtxtPtr ctxt,
308
319
  xmlDocPtr doc);
320
+ XML_DEPRECATED
309
321
  XMLPUBFUN int
310
322
  xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
311
323
  xmlDocPtr doc,
312
324
  xmlElementPtr elem);
325
+ XML_DEPRECATED
313
326
  XMLPUBFUN xmlChar *
314
327
  xmlValidNormalizeAttributeValue(xmlDocPtr doc,
315
328
  xmlNodePtr elem,
316
329
  const xmlChar *name,
317
330
  const xmlChar *value);
331
+ XML_DEPRECATED
318
332
  XMLPUBFUN xmlChar *
319
333
  xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
320
334
  xmlDocPtr doc,
321
335
  xmlNodePtr elem,
322
336
  const xmlChar *name,
323
337
  const xmlChar *value);
338
+ XML_DEPRECATED
324
339
  XMLPUBFUN int
325
340
  xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
326
341
  xmlDocPtr doc,
327
342
  xmlAttributePtr attr);
343
+ XML_DEPRECATED
328
344
  XMLPUBFUN int
329
345
  xmlValidateAttributeValue(xmlAttributeType type,
330
346
  const xmlChar *value);
347
+ XML_DEPRECATED
331
348
  XMLPUBFUN int
332
349
  xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
333
350
  xmlDocPtr doc,
@@ -336,6 +353,7 @@ XMLPUBFUN int
336
353
  xmlValidateDtd (xmlValidCtxtPtr ctxt,
337
354
  xmlDocPtr doc,
338
355
  xmlDtdPtr dtd);
356
+ XML_DEPRECATED
339
357
  XMLPUBFUN int
340
358
  xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
341
359
  xmlDocPtr doc);
@@ -346,16 +364,19 @@ XMLPUBFUN int
346
364
  xmlValidateElement (xmlValidCtxtPtr ctxt,
347
365
  xmlDocPtr doc,
348
366
  xmlNodePtr elem);
367
+ XML_DEPRECATED
349
368
  XMLPUBFUN int
350
369
  xmlValidateOneElement (xmlValidCtxtPtr ctxt,
351
370
  xmlDocPtr doc,
352
371
  xmlNodePtr elem);
372
+ XML_DEPRECATED
353
373
  XMLPUBFUN int
354
374
  xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
355
375
  xmlDocPtr doc,
356
376
  xmlNodePtr elem,
357
377
  xmlAttrPtr attr,
358
378
  const xmlChar *value);
379
+ XML_DEPRECATED
359
380
  XMLPUBFUN int
360
381
  xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
361
382
  xmlDocPtr doc,
@@ -363,12 +384,14 @@ XMLPUBFUN int
363
384
  const xmlChar *prefix,
364
385
  xmlNsPtr ns,
365
386
  const xmlChar *value);
387
+ XML_DEPRECATED
366
388
  XMLPUBFUN int
367
389
  xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
368
390
  xmlDocPtr doc);
369
391
  #endif /* LIBXML_VALID_ENABLED */
370
392
 
371
393
  #if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
394
+ XML_DEPRECATED
372
395
  XMLPUBFUN int
373
396
  xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
374
397
  xmlDocPtr doc,
@@ -424,19 +447,23 @@ XMLPUBFUN int
424
447
  /*
425
448
  * Validation based on the regexp support
426
449
  */
450
+ XML_DEPRECATED
427
451
  XMLPUBFUN int
428
452
  xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
429
453
  xmlElementPtr elem);
430
454
 
455
+ XML_DEPRECATED
431
456
  XMLPUBFUN int
432
457
  xmlValidatePushElement (xmlValidCtxtPtr ctxt,
433
458
  xmlDocPtr doc,
434
459
  xmlNodePtr elem,
435
460
  const xmlChar *qname);
461
+ XML_DEPRECATED
436
462
  XMLPUBFUN int
437
463
  xmlValidatePushCData (xmlValidCtxtPtr ctxt,
438
464
  const xmlChar *data,
439
465
  int len);
466
+ XML_DEPRECATED
440
467
  XMLPUBFUN int
441
468
  xmlValidatePopElement (xmlValidCtxtPtr ctxt,
442
469
  xmlDocPtr doc,
@@ -14,6 +14,7 @@
14
14
  #define __XML_XINCLUDE_H__
15
15
 
16
16
  #include <libxml/xmlversion.h>
17
+ #include <libxml/xmlerror.h>
17
18
  #include <libxml/tree.h>
18
19
 
19
20
  #ifdef LIBXML_XINCLUDE_ENABLED
@@ -115,6 +116,12 @@ XMLPUBFUN xmlXIncludeCtxtPtr
115
116
  XMLPUBFUN int
116
117
  xmlXIncludeSetFlags (xmlXIncludeCtxtPtr ctxt,
117
118
  int flags);
119
+ XMLPUBFUN void
120
+ xmlXIncludeSetErrorHandler(xmlXIncludeCtxtPtr ctxt,
121
+ xmlStructuredErrorFunc handler,
122
+ void *data);
123
+ XMLPUBFUN int
124
+ xmlXIncludeGetLastError (xmlXIncludeCtxtPtr ctxt);
118
125
  XMLPUBFUN void
119
126
  xmlXIncludeFreeContext (xmlXIncludeCtxtPtr ctxt);
120
127
  XMLPUBFUN int