nokogiri 1.10.10-x64-mingw32 → 1.11.0-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.

Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/LICENSE-DEPENDENCIES.md +1015 -947
  4. data/README.md +165 -91
  5. data/ext/nokogiri/depend +476 -357
  6. data/ext/nokogiri/extconf.rb +507 -357
  7. data/ext/nokogiri/html_document.c +79 -78
  8. data/ext/nokogiri/html_sax_parser_context.c +2 -2
  9. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  10. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  11. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  12. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
  13. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  14. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  15. data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
  16. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
  17. data/ext/nokogiri/include/libxml2/libxml/c14n.h +126 -0
  18. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  19. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  20. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  21. data/ext/nokogiri/include/libxml2/libxml/dict.h +79 -0
  22. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  23. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  24. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
  25. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  26. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  27. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
  28. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  29. data/ext/nokogiri/include/libxml2/libxml/parser.h +1241 -0
  30. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  31. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  32. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
  33. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  34. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  35. data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
  36. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  37. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  38. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
  39. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  40. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  41. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +366 -0
  42. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  43. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +945 -0
  44. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +153 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xpath.h +566 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
  59. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  60. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  61. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  62. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  63. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  64. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  65. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  66. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  67. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  68. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  69. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  70. data/ext/nokogiri/include/libxslt/security.h +104 -0
  71. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  72. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  73. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  74. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  75. data/ext/nokogiri/include/libxslt/xsltInternals.h +1978 -0
  76. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  77. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  78. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  79. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  80. data/ext/nokogiri/nokogiri.c +34 -40
  81. data/ext/nokogiri/nokogiri.h +26 -17
  82. data/ext/nokogiri/xml_document.c +18 -4
  83. data/ext/nokogiri/xml_io.c +8 -6
  84. data/ext/nokogiri/xml_node.c +21 -1
  85. data/ext/nokogiri/xml_node_set.c +1 -1
  86. data/ext/nokogiri/xml_reader.c +6 -17
  87. data/ext/nokogiri/xml_relax_ng.c +29 -11
  88. data/ext/nokogiri/xml_sax_parser.c +2 -7
  89. data/ext/nokogiri/xml_sax_parser_context.c +2 -2
  90. data/ext/nokogiri/xml_schema.c +55 -13
  91. data/ext/nokogiri/xml_xpath_context.c +80 -4
  92. data/ext/nokogiri/xslt_stylesheet.c +1 -8
  93. data/lib/nokogiri.rb +22 -22
  94. data/lib/nokogiri/2.5/nokogiri.so +0 -0
  95. data/lib/nokogiri/2.6/nokogiri.so +0 -0
  96. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  97. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  98. data/lib/nokogiri/css.rb +1 -0
  99. data/lib/nokogiri/css/node.rb +1 -0
  100. data/lib/nokogiri/css/parser.rb +63 -62
  101. data/lib/nokogiri/css/parser.y +2 -2
  102. data/lib/nokogiri/css/parser_extras.rb +39 -36
  103. data/lib/nokogiri/css/syntax_error.rb +1 -0
  104. data/lib/nokogiri/css/tokenizer.rb +1 -0
  105. data/lib/nokogiri/css/xpath_visitor.rb +73 -43
  106. data/lib/nokogiri/decorators/slop.rb +1 -0
  107. data/lib/nokogiri/html.rb +1 -0
  108. data/lib/nokogiri/html/builder.rb +1 -0
  109. data/lib/nokogiri/html/document.rb +13 -26
  110. data/lib/nokogiri/html/document_fragment.rb +1 -0
  111. data/lib/nokogiri/html/element_description.rb +1 -0
  112. data/lib/nokogiri/html/element_description_defaults.rb +1 -0
  113. data/lib/nokogiri/html/entity_lookup.rb +1 -0
  114. data/lib/nokogiri/html/sax/parser.rb +1 -0
  115. data/lib/nokogiri/html/sax/parser_context.rb +1 -0
  116. data/lib/nokogiri/html/sax/push_parser.rb +1 -0
  117. data/lib/nokogiri/jruby/dependencies.rb +20 -0
  118. data/lib/nokogiri/syntax_error.rb +1 -0
  119. data/lib/nokogiri/version.rb +3 -109
  120. data/lib/nokogiri/version/constant.rb +5 -0
  121. data/lib/nokogiri/version/info.rb +182 -0
  122. data/lib/nokogiri/xml.rb +1 -0
  123. data/lib/nokogiri/xml/attr.rb +1 -0
  124. data/lib/nokogiri/xml/attribute_decl.rb +1 -0
  125. data/lib/nokogiri/xml/builder.rb +3 -2
  126. data/lib/nokogiri/xml/cdata.rb +1 -0
  127. data/lib/nokogiri/xml/character_data.rb +1 -0
  128. data/lib/nokogiri/xml/document.rb +20 -15
  129. data/lib/nokogiri/xml/document_fragment.rb +5 -6
  130. data/lib/nokogiri/xml/dtd.rb +1 -0
  131. data/lib/nokogiri/xml/element_content.rb +1 -0
  132. data/lib/nokogiri/xml/element_decl.rb +1 -0
  133. data/lib/nokogiri/xml/entity_decl.rb +1 -0
  134. data/lib/nokogiri/xml/entity_reference.rb +1 -0
  135. data/lib/nokogiri/xml/namespace.rb +1 -0
  136. data/lib/nokogiri/xml/node.rb +587 -249
  137. data/lib/nokogiri/xml/node/save_options.rb +1 -0
  138. data/lib/nokogiri/xml/node_set.rb +1 -0
  139. data/lib/nokogiri/xml/notation.rb +1 -0
  140. data/lib/nokogiri/xml/parse_options.rb +10 -3
  141. data/lib/nokogiri/xml/pp.rb +1 -0
  142. data/lib/nokogiri/xml/pp/character_data.rb +1 -0
  143. data/lib/nokogiri/xml/pp/node.rb +1 -0
  144. data/lib/nokogiri/xml/processing_instruction.rb +1 -0
  145. data/lib/nokogiri/xml/reader.rb +7 -3
  146. data/lib/nokogiri/xml/relax_ng.rb +7 -2
  147. data/lib/nokogiri/xml/sax.rb +1 -0
  148. data/lib/nokogiri/xml/sax/document.rb +1 -0
  149. data/lib/nokogiri/xml/sax/parser.rb +1 -0
  150. data/lib/nokogiri/xml/sax/parser_context.rb +1 -0
  151. data/lib/nokogiri/xml/sax/push_parser.rb +1 -0
  152. data/lib/nokogiri/xml/schema.rb +13 -4
  153. data/lib/nokogiri/xml/searchable.rb +25 -16
  154. data/lib/nokogiri/xml/syntax_error.rb +1 -0
  155. data/lib/nokogiri/xml/text.rb +1 -0
  156. data/lib/nokogiri/xml/xpath.rb +1 -0
  157. data/lib/nokogiri/xml/xpath/syntax_error.rb +1 -0
  158. data/lib/nokogiri/xml/xpath_context.rb +1 -0
  159. data/lib/nokogiri/xslt.rb +1 -0
  160. data/lib/nokogiri/xslt/stylesheet.rb +1 -0
  161. data/lib/xsd/xmlparser/nokogiri.rb +1 -0
  162. metadata +148 -131
  163. data/lib/nokogiri/2.3/nokogiri.so +0 -0
  164. data/lib/nokogiri/2.4/nokogiri.so +0 -0
@@ -1,6 +1,7 @@
1
1
  #include <html_document.h>
2
2
 
3
3
  static ID id_encoding_found;
4
+ static ID id_to_s;
4
5
 
5
6
  /*
6
7
  * call-seq:
@@ -8,19 +9,20 @@ static ID id_encoding_found;
8
9
  *
9
10
  * Create a new document
10
11
  */
11
- static VALUE new(int argc, VALUE *argv, VALUE klass)
12
+ static VALUE
13
+ rb_html_document_s_new(int argc, VALUE *argv, VALUE klass)
12
14
  {
13
15
  VALUE uri, external_id, rest, rb_doc;
14
16
  htmlDocPtr doc;
15
17
 
16
18
  rb_scan_args(argc, argv, "0*", &rest);
17
- uri = rb_ary_entry(rest, (long)0);
19
+ uri = rb_ary_entry(rest, (long)0);
18
20
  external_id = rb_ary_entry(rest, (long)1);
19
21
 
20
22
  doc = htmlNewDoc(
21
- RTEST(uri) ? (const xmlChar *)StringValueCStr(uri) : NULL,
22
- RTEST(external_id) ? (const xmlChar *)StringValueCStr(external_id) : NULL
23
- );
23
+ RTEST(uri) ? (const xmlChar *)StringValueCStr(uri) : NULL,
24
+ RTEST(external_id) ? (const xmlChar *)StringValueCStr(external_id) : NULL
25
+ );
24
26
  rb_doc = Nokogiri_wrap_xml_document(klass, doc);
25
27
  rb_obj_call_init(rb_doc, argc, argv);
26
28
  return rb_doc ;
@@ -33,60 +35,55 @@ static VALUE new(int argc, VALUE *argv, VALUE klass)
33
35
  * Read the HTML document from +io+ with given +url+, +encoding+,
34
36
  * and +options+. See Nokogiri::HTML.parse
35
37
  */
36
- static VALUE read_io( VALUE klass,
37
- VALUE io,
38
- VALUE url,
39
- VALUE encoding,
40
- VALUE options )
38
+ static VALUE
39
+ rb_html_document_s_read_io(VALUE klass, VALUE rb_io, VALUE rb_url, VALUE rb_encoding, VALUE rb_options)
41
40
  {
42
- const char * c_url = NIL_P(url) ? NULL : StringValueCStr(url);
43
- const char * c_enc = NIL_P(encoding) ? NULL : StringValueCStr(encoding);
44
- VALUE error_list = rb_ary_new();
45
- VALUE document;
46
- htmlDocPtr doc;
41
+ VALUE rb_doc;
42
+ VALUE rb_error_list = rb_ary_new();
43
+ htmlDocPtr c_doc;
44
+ const char *c_url = NIL_P(rb_url) ? NULL : StringValueCStr(rb_url);
45
+ const char *c_encoding = NIL_P(rb_encoding) ? NULL : StringValueCStr(rb_encoding);
46
+ int options = NUM2INT(rb_options);
47
+
48
+ xmlSetStructuredErrorFunc((void *)rb_error_list, Nokogiri_error_array_pusher);
49
+
50
+ c_doc = htmlReadIO(io_read_callback, io_close_callback, (void *)rb_io, c_url, c_encoding, options);
47
51
 
48
- xmlResetLastError();
49
- xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher);
50
-
51
- doc = htmlReadIO(
52
- io_read_callback,
53
- io_close_callback,
54
- (void *)io,
55
- c_url,
56
- c_enc,
57
- (int)NUM2INT(options)
58
- );
59
52
  xmlSetStructuredErrorFunc(NULL, NULL);
60
53
 
61
54
  /*
62
55
  * If EncodingFound has occurred in EncodingReader, make sure to do
63
56
  * a cleanup and propagate the error.
64
57
  */
65
- if (rb_respond_to(io, id_encoding_found)) {
66
- VALUE encoding_found = rb_funcall(io, id_encoding_found, 0);
58
+ if (rb_respond_to(rb_io, id_encoding_found)) {
59
+ VALUE encoding_found = rb_funcall(rb_io, id_encoding_found, 0);
67
60
  if (!NIL_P(encoding_found)) {
68
- xmlFreeDoc(doc);
61
+ xmlFreeDoc(c_doc);
69
62
  rb_exc_raise(encoding_found);
70
63
  }
71
64
  }
72
65
 
73
- if(doc == NULL) {
74
- xmlErrorPtr error;
66
+ if ((c_doc == NULL) || (!(options & XML_PARSE_RECOVER) && (RARRAY_LEN(rb_error_list) > 0))) {
67
+ VALUE rb_error ;
75
68
 
76
- xmlFreeDoc(doc);
69
+ xmlFreeDoc(c_doc);
77
70
 
78
- error = xmlGetLastError();
79
- if(error)
80
- rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error));
81
- else
71
+ rb_error = rb_ary_entry(rb_error_list, 0);
72
+ if (rb_error == Qnil) {
82
73
  rb_raise(rb_eRuntimeError, "Could not parse document");
74
+ } else {
75
+ VALUE exception_message = rb_funcall(rb_error, id_to_s, 0);
76
+ exception_message = rb_str_concat(rb_str_new2("Parser without recover option encountered error or warning: "),
77
+ exception_message);
78
+ rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError));
79
+ }
83
80
 
84
81
  return Qnil;
85
82
  }
86
83
 
87
- document = Nokogiri_wrap_xml_document(klass, doc);
88
- rb_iv_set(document, "@errors", error_list);
89
- return document;
84
+ rb_doc = Nokogiri_wrap_xml_document(klass, c_doc);
85
+ rb_iv_set(rb_doc, "@errors", rb_error_list);
86
+ return rb_doc;
90
87
  }
91
88
 
92
89
  /*
@@ -96,43 +93,45 @@ static VALUE read_io( VALUE klass,
96
93
  * Read the HTML document contained in +string+ with given +url+, +encoding+,
97
94
  * and +options+. See Nokogiri::HTML.parse
98
95
  */
99
- static VALUE read_memory( VALUE klass,
100
- VALUE string,
101
- VALUE url,
102
- VALUE encoding,
103
- VALUE options )
96
+ static VALUE
97
+ rb_html_document_s_read_memory(VALUE klass, VALUE rb_html, VALUE rb_url, VALUE rb_encoding, VALUE rb_options)
104
98
  {
105
- const char * c_buffer = StringValuePtr(string);
106
- const char * c_url = NIL_P(url) ? NULL : StringValueCStr(url);
107
- const char * c_enc = NIL_P(encoding) ? NULL : StringValueCStr(encoding);
108
- int len = (int)RSTRING_LEN(string);
109
- VALUE error_list = rb_ary_new();
110
- VALUE document;
111
- htmlDocPtr doc;
99
+ VALUE rb_doc;
100
+ VALUE rb_error_list = rb_ary_new();
101
+ htmlDocPtr c_doc;
102
+ const char *c_buffer = StringValuePtr(rb_html);
103
+ const char *c_url = NIL_P(rb_url) ? NULL : StringValueCStr(rb_url);
104
+ const char *c_encoding = NIL_P(rb_encoding) ? NULL : StringValueCStr(rb_encoding);
105
+ int html_len = (int)RSTRING_LEN(rb_html);
106
+ int options = NUM2INT(rb_options);
112
107
 
113
- xmlResetLastError();
114
- xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher);
108
+ xmlSetStructuredErrorFunc((void *)rb_error_list, Nokogiri_error_array_pusher);
109
+
110
+ c_doc = htmlReadMemory(c_buffer, html_len, c_url, c_encoding, options);
115
111
 
116
- doc = htmlReadMemory(c_buffer, len, c_url, c_enc, (int)NUM2INT(options));
117
112
  xmlSetStructuredErrorFunc(NULL, NULL);
118
113
 
119
- if(doc == NULL) {
120
- xmlErrorPtr error;
114
+ if ((c_doc == NULL) || (!(options & XML_PARSE_RECOVER) && (RARRAY_LEN(rb_error_list) > 0))) {
115
+ VALUE rb_error ;
121
116
 
122
- xmlFreeDoc(doc);
117
+ xmlFreeDoc(c_doc);
123
118
 
124
- error = xmlGetLastError();
125
- if(error)
126
- rb_exc_raise(Nokogiri_wrap_xml_syntax_error(error));
127
- else
119
+ rb_error = rb_ary_entry(rb_error_list, 0);
120
+ if (rb_error == Qnil) {
128
121
  rb_raise(rb_eRuntimeError, "Could not parse document");
122
+ } else {
123
+ VALUE exception_message = rb_funcall(rb_error, id_to_s, 0);
124
+ exception_message = rb_str_concat(rb_str_new2("Parser without recover option encountered error or warning: "),
125
+ exception_message);
126
+ rb_exc_raise(rb_class_new_instance(1, &exception_message, cNokogiriXmlSyntaxError));
127
+ }
129
128
 
130
129
  return Qnil;
131
130
  }
132
131
 
133
- document = Nokogiri_wrap_xml_document(klass, doc);
134
- rb_iv_set(document, "@errors", error_list);
135
- return document;
132
+ rb_doc = Nokogiri_wrap_xml_document(klass, c_doc);
133
+ rb_iv_set(rb_doc, "@errors", rb_error_list);
134
+ return rb_doc;
136
135
  }
137
136
 
138
137
  /*
@@ -141,7 +140,8 @@ static VALUE read_memory( VALUE klass,
141
140
  *
142
141
  * The type for this document
143
142
  */
144
- static VALUE type(VALUE self)
143
+ static VALUE
144
+ rb_html_document_type(VALUE self)
145
145
  {
146
146
  htmlDocPtr doc;
147
147
  Data_Get_Struct(self, xmlDoc, doc);
@@ -149,22 +149,23 @@ static VALUE type(VALUE self)
149
149
  }
150
150
 
151
151
  VALUE cNokogiriHtmlDocument ;
152
- void init_html_document()
153
- {
154
- VALUE nokogiri = rb_define_module("Nokogiri");
155
- VALUE html = rb_define_module_under(nokogiri, "HTML");
156
- VALUE xml = rb_define_module_under(nokogiri, "XML");
157
- VALUE node = rb_define_class_under(xml, "Node", rb_cObject);
158
- VALUE xml_doc = rb_define_class_under(xml, "Document", node);
159
- VALUE klass = rb_define_class_under(html, "Document", xml_doc);
160
152
 
161
- cNokogiriHtmlDocument = klass;
153
+ void
154
+ init_html_document()
155
+ {
156
+ VALUE nokogiri = rb_define_module("Nokogiri");
157
+ VALUE nokogiri_xml = rb_define_module_under(nokogiri, "XML");
158
+ VALUE nokogiri_xml_node = rb_define_class_under(nokogiri_xml, "Node", rb_cObject);
159
+ VALUE nokogiri_xml_document = rb_define_class_under(nokogiri_xml, "Document", nokogiri_xml_node);
160
+ VALUE nokogiri_html = rb_define_module_under(nokogiri, "HTML");
161
+ cNokogiriHtmlDocument = rb_define_class_under(nokogiri_html, "Document", nokogiri_xml_document);
162
162
 
163
- rb_define_singleton_method(klass, "read_memory", read_memory, 4);
164
- rb_define_singleton_method(klass, "read_io", read_io, 4);
165
- rb_define_singleton_method(klass, "new", new, -1);
163
+ rb_define_singleton_method(cNokogiriHtmlDocument, "read_memory", rb_html_document_s_read_memory, 4);
164
+ rb_define_singleton_method(cNokogiriHtmlDocument, "read_io", rb_html_document_s_read_io, 4);
165
+ rb_define_singleton_method(cNokogiriHtmlDocument, "new", rb_html_document_s_new, -1);
166
166
 
167
- rb_define_method(klass, "type", type, 0);
167
+ rb_define_method(cNokogiriHtmlDocument, "type", rb_html_document_type, 0);
168
168
 
169
169
  id_encoding_found = rb_intern("encoding_found");
170
+ id_to_s = rb_intern("to_s");
170
171
  }
@@ -4,13 +4,13 @@ VALUE cNokogiriHtmlSaxParserContext ;
4
4
 
5
5
  static void deallocate(xmlParserCtxtPtr ctxt)
6
6
  {
7
- NOKOGIRI_DEBUG_START(handler);
7
+ NOKOGIRI_DEBUG_START(ctxt);
8
8
 
9
9
  ctxt->sax = NULL;
10
10
 
11
11
  htmlFreeParserCtxt(ctxt);
12
12
 
13
- NOKOGIRI_DEBUG_END(handler);
13
+ NOKOGIRI_DEBUG_END(ctxt);
14
14
  }
15
15
 
16
16
  static VALUE
@@ -0,0 +1,102 @@
1
+
2
+ #ifndef __EXSLT_H__
3
+ #define __EXSLT_H__
4
+
5
+ #include <libxml/tree.h>
6
+ #include <libxml/xpath.h>
7
+ #include "exsltexports.h"
8
+ #include <libexslt/exsltconfig.h>
9
+
10
+ #ifdef __cplusplus
11
+ extern "C" {
12
+ #endif
13
+
14
+ EXSLTPUBVAR const char *exsltLibraryVersion;
15
+ EXSLTPUBVAR const int exsltLibexsltVersion;
16
+ EXSLTPUBVAR const int exsltLibxsltVersion;
17
+ EXSLTPUBVAR const int exsltLibxmlVersion;
18
+
19
+ /**
20
+ * EXSLT_COMMON_NAMESPACE:
21
+ *
22
+ * Namespace for EXSLT common functions
23
+ */
24
+ #define EXSLT_COMMON_NAMESPACE ((const xmlChar *) "http://exslt.org/common")
25
+ /**
26
+ * EXSLT_CRYPTO_NAMESPACE:
27
+ *
28
+ * Namespace for EXSLT crypto functions
29
+ */
30
+ #define EXSLT_CRYPTO_NAMESPACE ((const xmlChar *) "http://exslt.org/crypto")
31
+ /**
32
+ * EXSLT_MATH_NAMESPACE:
33
+ *
34
+ * Namespace for EXSLT math functions
35
+ */
36
+ #define EXSLT_MATH_NAMESPACE ((const xmlChar *) "http://exslt.org/math")
37
+ /**
38
+ * EXSLT_SETS_NAMESPACE:
39
+ *
40
+ * Namespace for EXSLT set functions
41
+ */
42
+ #define EXSLT_SETS_NAMESPACE ((const xmlChar *) "http://exslt.org/sets")
43
+ /**
44
+ * EXSLT_FUNCTIONS_NAMESPACE:
45
+ *
46
+ * Namespace for EXSLT functions extension functions
47
+ */
48
+ #define EXSLT_FUNCTIONS_NAMESPACE ((const xmlChar *) "http://exslt.org/functions")
49
+ /**
50
+ * EXSLT_STRINGS_NAMESPACE:
51
+ *
52
+ * Namespace for EXSLT strings functions
53
+ */
54
+ #define EXSLT_STRINGS_NAMESPACE ((const xmlChar *) "http://exslt.org/strings")
55
+ /**
56
+ * EXSLT_DATE_NAMESPACE:
57
+ *
58
+ * Namespace for EXSLT date functions
59
+ */
60
+ #define EXSLT_DATE_NAMESPACE ((const xmlChar *) "http://exslt.org/dates-and-times")
61
+ /**
62
+ * EXSLT_DYNAMIC_NAMESPACE:
63
+ *
64
+ * Namespace for EXSLT dynamic functions
65
+ */
66
+ #define EXSLT_DYNAMIC_NAMESPACE ((const xmlChar *) "http://exslt.org/dynamic")
67
+
68
+ /**
69
+ * SAXON_NAMESPACE:
70
+ *
71
+ * Namespace for SAXON extensions functions
72
+ */
73
+ #define SAXON_NAMESPACE ((const xmlChar *) "http://icl.com/saxon")
74
+
75
+ EXSLTPUBFUN void EXSLTCALL exsltCommonRegister (void);
76
+ #ifdef EXSLT_CRYPTO_ENABLED
77
+ EXSLTPUBFUN void EXSLTCALL exsltCryptoRegister (void);
78
+ #endif
79
+ EXSLTPUBFUN void EXSLTCALL exsltMathRegister (void);
80
+ EXSLTPUBFUN void EXSLTCALL exsltSetsRegister (void);
81
+ EXSLTPUBFUN void EXSLTCALL exsltFuncRegister (void);
82
+ EXSLTPUBFUN void EXSLTCALL exsltStrRegister (void);
83
+ EXSLTPUBFUN void EXSLTCALL exsltDateRegister (void);
84
+ EXSLTPUBFUN void EXSLTCALL exsltSaxonRegister (void);
85
+ EXSLTPUBFUN void EXSLTCALL exsltDynRegister(void);
86
+
87
+ EXSLTPUBFUN void EXSLTCALL exsltRegisterAll (void);
88
+
89
+ EXSLTPUBFUN int EXSLTCALL exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt,
90
+ const xmlChar *prefix);
91
+ EXSLTPUBFUN int EXSLTCALL exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt,
92
+ const xmlChar *prefix);
93
+ EXSLTPUBFUN int EXSLTCALL exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt,
94
+ const xmlChar *prefix);
95
+ EXSLTPUBFUN int EXSLTCALL exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt,
96
+ const xmlChar *prefix);
97
+
98
+ #ifdef __cplusplus
99
+ }
100
+ #endif
101
+ #endif /* __EXSLT_H__ */
102
+
@@ -0,0 +1,70 @@
1
+ /*
2
+ * exsltconfig.h: compile-time version information for the EXSLT library
3
+ *
4
+ * See Copyright for the status of this software.
5
+ *
6
+ * daniel@veillard.com
7
+ */
8
+
9
+ #ifndef __XML_EXSLTCONFIG_H__
10
+ #define __XML_EXSLTCONFIG_H__
11
+
12
+ #ifdef __cplusplus
13
+ extern "C" {
14
+ #endif
15
+
16
+ /**
17
+ * LIBEXSLT_DOTTED_VERSION:
18
+ *
19
+ * the version string like "1.2.3"
20
+ */
21
+ #define LIBEXSLT_DOTTED_VERSION "1.1.34"
22
+
23
+ /**
24
+ * LIBEXSLT_VERSION:
25
+ *
26
+ * the version number: 1.2.3 value is 10203
27
+ */
28
+ #define LIBEXSLT_VERSION 820
29
+
30
+ /**
31
+ * LIBEXSLT_VERSION_STRING:
32
+ *
33
+ * the version number string, 1.2.3 value is "10203"
34
+ */
35
+ #define LIBEXSLT_VERSION_STRING "820"
36
+
37
+ /**
38
+ * LIBEXSLT_VERSION_EXTRA:
39
+ *
40
+ * extra version information, used to show a CVS compilation
41
+ */
42
+ #define LIBEXSLT_VERSION_EXTRA ""
43
+
44
+ /**
45
+ * WITH_CRYPTO:
46
+ *
47
+ * Whether crypto support is configured into exslt
48
+ */
49
+ #if 0
50
+ #define EXSLT_CRYPTO_ENABLED
51
+ #endif
52
+
53
+ /**
54
+ * ATTRIBUTE_UNUSED:
55
+ *
56
+ * This macro is used to flag unused function parameters to GCC
57
+ */
58
+ #ifdef __GNUC__
59
+ #ifndef ATTRIBUTE_UNUSED
60
+ #define ATTRIBUTE_UNUSED __attribute__((unused))
61
+ #endif
62
+ #else
63
+ #define ATTRIBUTE_UNUSED
64
+ #endif
65
+
66
+ #ifdef __cplusplus
67
+ }
68
+ #endif
69
+
70
+ #endif /* __XML_EXSLTCONFIG_H__ */
@@ -0,0 +1,140 @@
1
+ /*
2
+ * exsltexports.h : macros for marking symbols as exportable/importable.
3
+ *
4
+ * See Copyright for the status of this software.
5
+ *
6
+ * igor@zlatkovic.com
7
+ */
8
+
9
+ #ifndef __EXSLT_EXPORTS_H__
10
+ #define __EXSLT_EXPORTS_H__
11
+
12
+ /**
13
+ * EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL
14
+ *
15
+ * Macros which declare an exportable function, an exportable variable and
16
+ * the calling convention used for functions.
17
+ *
18
+ * Please use an extra block for every platform/compiler combination when
19
+ * modifying this, rather than overlong #ifdef lines. This helps
20
+ * readability as well as the fact that different compilers on the same
21
+ * platform might need different definitions.
22
+ */
23
+
24
+ /**
25
+ * EXSLTPUBFUN:
26
+ *
27
+ * Macros which declare an exportable function
28
+ */
29
+ #define EXSLTPUBFUN
30
+ /**
31
+ * EXSLTPUBVAR:
32
+ *
33
+ * Macros which declare an exportable variable
34
+ */
35
+ #define EXSLTPUBVAR extern
36
+ /**
37
+ * EXSLTCALL:
38
+ *
39
+ * Macros which declare the called convention for exported functions
40
+ */
41
+ #define EXSLTCALL
42
+
43
+ /** DOC_DISABLE */
44
+
45
+ /* Windows platform with MS compiler */
46
+ #if defined(_WIN32) && defined(_MSC_VER)
47
+ #undef EXSLTPUBFUN
48
+ #undef EXSLTPUBVAR
49
+ #undef EXSLTCALL
50
+ #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
51
+ #define EXSLTPUBFUN __declspec(dllexport)
52
+ #define EXSLTPUBVAR __declspec(dllexport)
53
+ #else
54
+ #define EXSLTPUBFUN
55
+ #if !defined(LIBEXSLT_STATIC)
56
+ #define EXSLTPUBVAR __declspec(dllimport) extern
57
+ #else
58
+ #define EXSLTPUBVAR extern
59
+ #endif
60
+ #endif
61
+ #define EXSLTCALL __cdecl
62
+ #if !defined _REENTRANT
63
+ #define _REENTRANT
64
+ #endif
65
+ #endif
66
+
67
+ /* Windows platform with Borland compiler */
68
+ #if defined(_WIN32) && defined(__BORLANDC__)
69
+ #undef EXSLTPUBFUN
70
+ #undef EXSLTPUBVAR
71
+ #undef EXSLTCALL
72
+ #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
73
+ #define EXSLTPUBFUN __declspec(dllexport)
74
+ #define EXSLTPUBVAR __declspec(dllexport) extern
75
+ #else
76
+ #define EXSLTPUBFUN
77
+ #if !defined(LIBEXSLT_STATIC)
78
+ #define EXSLTPUBVAR __declspec(dllimport) extern
79
+ #else
80
+ #define EXSLTPUBVAR extern
81
+ #endif
82
+ #endif
83
+ #define EXSLTCALL __cdecl
84
+ #if !defined _REENTRANT
85
+ #define _REENTRANT
86
+ #endif
87
+ #endif
88
+
89
+ /* Windows platform with GNU compiler (Mingw) */
90
+ #if defined(_WIN32) && defined(__MINGW32__)
91
+ #undef EXSLTPUBFUN
92
+ #undef EXSLTPUBVAR
93
+ #undef EXSLTCALL
94
+ /*
95
+ #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
96
+ */
97
+ #if !defined(LIBEXSLT_STATIC)
98
+ #define EXSLTPUBFUN __declspec(dllexport)
99
+ #define EXSLTPUBVAR __declspec(dllexport) extern
100
+ #else
101
+ #define EXSLTPUBFUN
102
+ #if !defined(LIBEXSLT_STATIC)
103
+ #define EXSLTPUBVAR __declspec(dllimport) extern
104
+ #else
105
+ #define EXSLTPUBVAR extern
106
+ #endif
107
+ #endif
108
+ #define EXSLTCALL __cdecl
109
+ #if !defined _REENTRANT
110
+ #define _REENTRANT
111
+ #endif
112
+ #endif
113
+
114
+ /* Cygwin platform (does not define _WIN32), GNU compiler */
115
+ #if defined(__CYGWIN__)
116
+ #undef EXSLTPUBFUN
117
+ #undef EXSLTPUBVAR
118
+ #undef EXSLTCALL
119
+ #if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
120
+ #define EXSLTPUBFUN __declspec(dllexport)
121
+ #define EXSLTPUBVAR __declspec(dllexport)
122
+ #else
123
+ #define EXSLTPUBFUN
124
+ #if !defined(LIBEXSLT_STATIC)
125
+ #define EXSLTPUBVAR __declspec(dllimport) extern
126
+ #else
127
+ #define EXSLTPUBVAR extern
128
+ #endif
129
+ #endif
130
+ #define EXSLTCALL __cdecl
131
+ #endif
132
+
133
+ /* Compatibility */
134
+ #if !defined(LIBEXSLT_PUBLIC)
135
+ #define LIBEXSLT_PUBLIC EXSLTPUBVAR
136
+ #endif
137
+
138
+ #endif /* __EXSLT_EXPORTS_H__ */
139
+
140
+