libxml-ruby 4.1.2 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/{HISTORY → CHANGELOG.md} +875 -887
  3. data/LICENSE +20 -20
  4. data/README.md +67 -0
  5. data/Rakefile +77 -98
  6. data/ext/libxml/extconf.rb +39 -20
  7. data/ext/libxml/libxml.c +67 -79
  8. data/ext/libxml/ruby_libxml.h +43 -44
  9. data/ext/libxml/ruby_xml.c +556 -899
  10. data/ext/libxml/ruby_xml.h +9 -10
  11. data/ext/libxml/ruby_xml_attr.c +338 -333
  12. data/ext/libxml/ruby_xml_attr.h +13 -12
  13. data/ext/libxml/ruby_xml_attr_decl.c +19 -12
  14. data/ext/libxml/ruby_xml_attr_decl.h +11 -11
  15. data/ext/libxml/ruby_xml_attributes.c +18 -9
  16. data/ext/libxml/ruby_xml_attributes.h +17 -15
  17. data/ext/libxml/ruby_xml_document.c +1142 -1129
  18. data/ext/libxml/ruby_xml_document.h +12 -11
  19. data/ext/libxml/ruby_xml_dtd.c +287 -248
  20. data/ext/libxml/ruby_xml_dtd.h +10 -9
  21. data/ext/libxml/ruby_xml_encoding.c +250 -250
  22. data/ext/libxml/ruby_xml_encoding.h +20 -18
  23. data/ext/libxml/ruby_xml_error.c +1003 -996
  24. data/ext/libxml/ruby_xml_error.h +14 -14
  25. data/ext/libxml/ruby_xml_html_parser.c +91 -91
  26. data/ext/libxml/ruby_xml_html_parser.h +10 -10
  27. data/ext/libxml/ruby_xml_html_parser_context.c +364 -337
  28. data/ext/libxml/ruby_xml_html_parser_context.h +11 -10
  29. data/ext/libxml/ruby_xml_html_parser_options.c +48 -48
  30. data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
  31. data/ext/libxml/ruby_xml_input_cbg.c +216 -188
  32. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  33. data/ext/libxml/ruby_xml_io.c +49 -47
  34. data/ext/libxml/ruby_xml_io.h +10 -10
  35. data/ext/libxml/ruby_xml_namespace.c +159 -154
  36. data/ext/libxml/ruby_xml_namespace.h +11 -10
  37. data/ext/libxml/ruby_xml_namespaces.c +313 -293
  38. data/ext/libxml/ruby_xml_namespaces.h +9 -9
  39. data/ext/libxml/ruby_xml_node.c +1433 -1398
  40. data/ext/libxml/ruby_xml_node.h +15 -13
  41. data/ext/libxml/ruby_xml_parser.c +91 -91
  42. data/ext/libxml/ruby_xml_parser.h +10 -10
  43. data/ext/libxml/ruby_xml_parser_context.c +1016 -1001
  44. data/ext/libxml/ruby_xml_parser_context.h +11 -10
  45. data/ext/libxml/ruby_xml_parser_options.c +74 -66
  46. data/ext/libxml/ruby_xml_parser_options.h +10 -10
  47. data/ext/libxml/ruby_xml_reader.c +40 -31
  48. data/ext/libxml/ruby_xml_reader.h +14 -14
  49. data/ext/libxml/ruby_xml_registry.c +31 -0
  50. data/ext/libxml/ruby_xml_registry.h +22 -0
  51. data/ext/libxml/ruby_xml_relaxng.c +21 -5
  52. data/ext/libxml/ruby_xml_relaxng.h +9 -8
  53. data/ext/libxml/ruby_xml_sax2_handler.c +326 -326
  54. data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
  55. data/ext/libxml/ruby_xml_sax_parser.c +108 -116
  56. data/ext/libxml/ruby_xml_sax_parser.h +10 -10
  57. data/ext/libxml/ruby_xml_schema.c +22 -15
  58. data/ext/libxml/ruby_xml_schema.h +26 -25
  59. data/ext/libxml/ruby_xml_schema_attribute.c +7 -7
  60. data/ext/libxml/ruby_xml_schema_attribute.h +37 -37
  61. data/ext/libxml/ruby_xml_schema_element.c +8 -8
  62. data/ext/libxml/ruby_xml_schema_element.h +11 -11
  63. data/ext/libxml/ruby_xml_schema_facet.c +50 -50
  64. data/ext/libxml/ruby_xml_schema_facet.h +9 -9
  65. data/ext/libxml/ruby_xml_schema_type.c +12 -19
  66. data/ext/libxml/ruby_xml_schema_type.h +9 -9
  67. data/ext/libxml/ruby_xml_version.h +9 -9
  68. data/ext/libxml/ruby_xml_writer.c +183 -185
  69. data/ext/libxml/ruby_xml_writer.h +6 -6
  70. data/ext/libxml/ruby_xml_xinclude.c +20 -20
  71. data/ext/libxml/ruby_xml_xinclude.h +11 -11
  72. data/ext/libxml/ruby_xml_xpath.c +195 -195
  73. data/ext/libxml/ruby_xml_xpath.h +15 -15
  74. data/ext/libxml/ruby_xml_xpath_context.c +408 -362
  75. data/ext/libxml/ruby_xml_xpath_context.h +9 -9
  76. data/ext/libxml/ruby_xml_xpath_expression.c +12 -6
  77. data/ext/libxml/ruby_xml_xpath_expression.h +11 -10
  78. data/ext/libxml/ruby_xml_xpath_object.c +69 -54
  79. data/ext/libxml/ruby_xml_xpath_object.h +19 -17
  80. data/ext/vc/libxml_ruby/libxml_ruby.vcxproj +271 -0
  81. data/ext/xcode/libxml-ruby.xcodeproj/project.pbxproj +633 -0
  82. data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  83. data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  84. data/ext/xcode/libxml-ruby.xcodeproj/xcshareddata/xcschemes/libxml-ruby.xcscheme +80 -0
  85. data/lib/libxml/attr.rb +122 -122
  86. data/lib/libxml/attr_decl.rb +80 -80
  87. data/lib/libxml/attributes.rb +13 -13
  88. data/lib/libxml/document.rb +165 -194
  89. data/lib/libxml/error.rb +122 -95
  90. data/lib/libxml/html_parser.rb +80 -96
  91. data/lib/libxml/namespace.rb +61 -61
  92. data/lib/libxml/namespaces.rb +37 -37
  93. data/lib/libxml/node.rb +321 -323
  94. data/lib/libxml/parser.rb +94 -100
  95. data/lib/libxml/sax_callbacks.rb +179 -179
  96. data/lib/libxml/sax_parser.rb +40 -40
  97. data/lib/libxml/schema/attribute.rb +27 -19
  98. data/lib/libxml/schema/element.rb +20 -0
  99. data/lib/libxml/schema/type.rb +44 -21
  100. data/lib/libxml/schema.rb +47 -47
  101. data/lib/libxml/tree.rb +28 -28
  102. data/lib/libxml-ruby.rb +30 -30
  103. data/libxml-ruby.gemspec +46 -48
  104. data/test/c14n/result/1-1-without-comments/example-1 +3 -3
  105. data/test/c14n/result/1-1-without-comments/example-2 +10 -10
  106. data/test/c14n/result/1-1-without-comments/example-3 +13 -13
  107. data/test/c14n/result/1-1-without-comments/example-4 +8 -8
  108. data/test/c14n/result/1-1-without-comments/example-5 +2 -2
  109. data/test/c14n/result/with-comments/example-1 +5 -5
  110. data/test/c14n/result/with-comments/example-2 +10 -10
  111. data/test/c14n/result/with-comments/example-3 +13 -13
  112. data/test/c14n/result/with-comments/example-4 +8 -8
  113. data/test/c14n/result/with-comments/example-5 +3 -3
  114. data/test/c14n/result/without-comments/example-1 +3 -3
  115. data/test/c14n/result/without-comments/example-2 +10 -10
  116. data/test/c14n/result/without-comments/example-3 +13 -13
  117. data/test/c14n/result/without-comments/example-4 +8 -8
  118. data/test/c14n/result/without-comments/example-5 +2 -2
  119. data/test/test_attr.rb +179 -180
  120. data/test/test_attr_decl.rb +131 -131
  121. data/test/test_attributes.rb +135 -135
  122. data/test/test_canonicalize.rb +122 -120
  123. data/test/test_document.rb +138 -132
  124. data/test/test_document_write.rb +142 -145
  125. data/test/test_dtd.rb +134 -129
  126. data/test/test_encoding.rb +126 -129
  127. data/test/test_encoding_sax.rb +114 -114
  128. data/test/test_error.rb +197 -194
  129. data/test/test_helper.rb +21 -13
  130. data/test/test_html_parser.rb +166 -162
  131. data/test/test_html_parser_context.rb +22 -22
  132. data/test/test_input_callbacks.rb +36 -0
  133. data/test/test_namespace.rb +58 -60
  134. data/test/test_namespaces.rb +200 -200
  135. data/test/test_node.rb +251 -237
  136. data/test/test_node_cdata.rb +50 -50
  137. data/test/test_node_comment.rb +32 -32
  138. data/test/test_node_copy.rb +40 -40
  139. data/test/test_node_edit.rb +176 -158
  140. data/test/test_node_pi.rb +37 -37
  141. data/test/test_node_text.rb +69 -69
  142. data/test/test_node_write.rb +93 -96
  143. data/test/test_node_xlink.rb +28 -28
  144. data/test/test_parser.rb +297 -324
  145. data/test/test_parser_context.rb +198 -198
  146. data/test/test_properties.rb +38 -38
  147. data/test/test_reader.rb +413 -364
  148. data/test/test_relaxng.rb +59 -53
  149. data/test/test_sax_parser.rb +345 -326
  150. data/test/test_schema.rb +28 -0
  151. data/test/test_traversal.rb +152 -152
  152. data/test/test_writer.rb +469 -468
  153. data/test/test_xinclude.rb +20 -20
  154. data/test/test_xml.rb +164 -267
  155. data/test/test_xpath.rb +244 -244
  156. data/test/test_xpath_context.rb +87 -87
  157. data/test/test_xpath_expression.rb +37 -37
  158. metadata +49 -31
  159. data/README.rdoc +0 -217
  160. data/ext/libxml/extconf.h +0 -3
  161. data/ext/libxml/ruby_xml_cbg.c +0 -85
  162. data/lib/libxml/hpricot.rb +0 -78
  163. data/lib/libxml.rb +0 -5
  164. data/lib/xml/libxml.rb +0 -10
  165. data/lib/xml.rb +0 -14
  166. data/script/benchmark/depixelate +0 -634
  167. data/script/benchmark/hamlet.xml +0 -9055
  168. data/script/benchmark/parsecount +0 -170
  169. data/script/benchmark/sock_entries.xml +0 -507
  170. data/script/benchmark/throughput +0 -41
  171. data/script/test +0 -6
  172. data/test/test_deprecated_require.rb +0 -12
@@ -1,50 +1,50 @@
1
- #include "ruby_libxml.h"
2
- #include "ruby_xml_schema_facet.h"
3
-
4
- #include <libxml/schemasInternals.h>
5
- #include <libxml/xmlschemas.h>
6
- #include <libxml/xmlschemastypes.h>
7
-
8
- VALUE cXMLSchemaFacet;
9
-
10
- static void rxml_schema_facet_free(xmlSchemaFacetPtr xschema_type)
11
- {
12
- xschema_type = NULL;
13
- xmlFree(xschema_type);
14
- }
15
-
16
- VALUE rxml_wrap_schema_facet(xmlSchemaFacetPtr facet)
17
- {
18
- VALUE result;
19
-
20
- if (!facet)
21
- rb_raise(rb_eArgError, "XML::Schema::Facet required!");
22
-
23
- result = Data_Wrap_Struct(cXMLSchemaFacet, NULL, rxml_schema_facet_free, facet);
24
-
25
- rb_iv_set(result, "@kind", INT2NUM(facet->type));
26
- rb_iv_set(result, "@value", QNIL_OR_STRING(facet->value));
27
-
28
- return result;
29
-
30
- }
31
-
32
- /* START FACET*/
33
-
34
- static VALUE rxml_schema_facet_node(VALUE self)
35
- {
36
- xmlSchemaFacetPtr facet;
37
-
38
- Data_Get_Struct(self, xmlSchemaFacet, facet);
39
-
40
- return rxml_node_wrap(facet->node);
41
- }
42
-
43
- void rxml_init_schema_facet(void)
44
- {
45
- cXMLSchemaFacet = rb_define_class_under(cXMLSchema, "Facet", rb_cObject);
46
- rb_define_attr(cXMLSchemaFacet, "kind", 1, 0);
47
- rb_define_attr(cXMLSchemaFacet, "value", 1, 0);
48
-
49
- rb_define_method(cXMLSchemaFacet, "node", rxml_schema_facet_node, 0);
50
- }
1
+ #include "ruby_libxml.h"
2
+ #include "ruby_xml_schema_facet.h"
3
+
4
+ #include <libxml/schemasInternals.h>
5
+ #include <libxml/xmlschemas.h>
6
+ #include <libxml/xmlschemastypes.h>
7
+
8
+ VALUE cXMLSchemaFacet;
9
+
10
+ static const rb_data_type_t rxml_schema_facet_type = {
11
+ "XML::Schema::Facet",
12
+ {NULL, NULL, NULL},
13
+ NULL, NULL, 0
14
+ };
15
+
16
+ VALUE rxml_wrap_schema_facet(xmlSchemaFacetPtr facet)
17
+ {
18
+ VALUE result;
19
+
20
+ if (!facet)
21
+ rb_raise(rb_eArgError, "XML::Schema::Facet required!");
22
+
23
+ result = TypedData_Wrap_Struct(cXMLSchemaFacet, &rxml_schema_facet_type, facet);
24
+
25
+ rb_iv_set(result, "@kind", INT2NUM(facet->type));
26
+ rb_iv_set(result, "@value", QNIL_OR_STRING(facet->value));
27
+
28
+ return result;
29
+
30
+ }
31
+
32
+ /* START FACET*/
33
+
34
+ static VALUE rxml_schema_facet_node(VALUE self)
35
+ {
36
+ xmlSchemaFacetPtr facet;
37
+
38
+ TypedData_Get_Struct(self, xmlSchemaFacet, &rxml_schema_facet_type, facet);
39
+
40
+ return rxml_node_wrap(facet->node);
41
+ }
42
+
43
+ void rxml_init_schema_facet(void)
44
+ {
45
+ cXMLSchemaFacet = rb_define_class_under(cXMLSchema, "Facet", rb_cObject);
46
+ rb_define_attr(cXMLSchemaFacet, "kind", 1, 0);
47
+ rb_define_attr(cXMLSchemaFacet, "value", 1, 0);
48
+
49
+ rb_define_method(cXMLSchemaFacet, "node", rxml_schema_facet_node, 0);
50
+ }
@@ -1,9 +1,9 @@
1
- #ifndef __RXML_SCHEMA_FACET__
2
- #define __RXML_SCHEMA_FACET__
3
-
4
- extern VALUE cXMLSchemaFacet;
5
-
6
- VALUE rxml_wrap_schema_facet(xmlSchemaFacetPtr facet);
7
- void rxml_init_schema_facet(void);
8
-
9
- #endif
1
+ #ifndef __RXML_SCHEMA_FACET__
2
+ #define __RXML_SCHEMA_FACET__
3
+
4
+ extern VALUE cXMLSchemaFacet;
5
+
6
+ VALUE rxml_wrap_schema_facet(xmlSchemaFacetPtr facet);
7
+ void rxml_init_schema_facet(void);
8
+
9
+ #endif
@@ -46,11 +46,11 @@ a group definition, a XML_SCHEMA_EXTRA_QNAMEREF (if a reference),
46
46
 
47
47
  VALUE cXMLSchemaType;
48
48
 
49
- static void rxml_schema_type_free(xmlSchemaTypePtr xschema_type)
50
- {
51
- xschema_type = NULL;
52
- xmlFree(xschema_type);
53
- }
49
+ static const rb_data_type_t rxml_schema_type_type = {
50
+ "XML::Schema::Type",
51
+ {NULL, NULL, NULL},
52
+ NULL, NULL, 0
53
+ };
54
54
 
55
55
  VALUE rxml_wrap_schema_type(xmlSchemaTypePtr xtype)
56
56
  {
@@ -59,7 +59,7 @@ VALUE rxml_wrap_schema_type(xmlSchemaTypePtr xtype)
59
59
  if (!xtype)
60
60
  rb_raise(rb_eArgError, "XML::Schema::Type required!");
61
61
 
62
- result = Data_Wrap_Struct(cXMLSchemaType, NULL, rxml_schema_type_free, xtype);
62
+ result = TypedData_Wrap_Struct(cXMLSchemaType, &rxml_schema_type_type, xtype);
63
63
 
64
64
  rb_iv_set(result, "@name", QNIL_OR_STRING(xtype->name));
65
65
  rb_iv_set(result, "@namespace", QNIL_OR_STRING(xtype->targetNamespace));
@@ -72,7 +72,7 @@ static VALUE rxml_schema_type_base(VALUE self)
72
72
  {
73
73
  xmlSchemaTypePtr xtype;
74
74
 
75
- Data_Get_Struct(self, xmlSchemaType, xtype);
75
+ TypedData_Get_Struct(self, xmlSchemaType, &rxml_schema_type_type, xtype);
76
76
 
77
77
  return (xtype->baseType != xtype) ? rxml_wrap_schema_type(xtype->baseType) : Qnil;
78
78
  }
@@ -81,7 +81,7 @@ static VALUE rxml_schema_type_node(VALUE self)
81
81
  {
82
82
  xmlSchemaTypePtr xtype;
83
83
 
84
- Data_Get_Struct(self, xmlSchemaType, xtype);
84
+ TypedData_Get_Struct(self, xmlSchemaType, &rxml_schema_type_type, xtype);
85
85
 
86
86
  return (xtype->node != NULL) ? rxml_node_wrap(xtype->node) : Qnil;
87
87
  }
@@ -93,7 +93,7 @@ static VALUE rxml_schema_type_facets(VALUE self)
93
93
  VALUE result = rb_ary_new();
94
94
  VALUE facet;
95
95
 
96
- Data_Get_Struct(self, xmlSchemaType, xtype);
96
+ TypedData_Get_Struct(self, xmlSchemaType, &rxml_schema_type_type, xtype);
97
97
 
98
98
  xfacet = xtype->facets;
99
99
 
@@ -112,7 +112,7 @@ static VALUE rxml_schema_type_annot(VALUE self)
112
112
  VALUE result = Qnil;
113
113
  xmlSchemaTypePtr xtype;
114
114
 
115
- Data_Get_Struct(self, xmlSchemaType, xtype);
115
+ TypedData_Get_Struct(self, xmlSchemaType, &rxml_schema_type_type, xtype);
116
116
 
117
117
  if(xtype != NULL && xtype->annot != NULL && xtype->annot->content != NULL)
118
118
  {
@@ -198,7 +198,7 @@ static VALUE rxml_schema_type_elements(VALUE self)
198
198
  VALUE result = rb_hash_new();
199
199
  xmlSchemaTypePtr xtype;
200
200
 
201
- Data_Get_Struct(self, xmlSchemaType, xtype);
201
+ TypedData_Get_Struct(self, xmlSchemaType, &rxml_schema_type_type, xtype);
202
202
  rxmlSchemaCollectElements((xmlSchemaParticlePtr) xtype->subtypes, result);
203
203
 
204
204
  return result;
@@ -212,7 +212,7 @@ static VALUE rxml_schema_type_attributes(VALUE self)
212
212
  xmlSchemaItemListPtr xuses;
213
213
  int i;
214
214
 
215
- Data_Get_Struct(self, xmlSchemaType, xtype);
215
+ TypedData_Get_Struct(self, xmlSchemaType, &rxml_schema_type_type, xtype);
216
216
  xuses = xtype->attrUses;
217
217
 
218
218
  if (xuses != NULL)
@@ -229,13 +229,6 @@ static VALUE rxml_schema_type_attributes(VALUE self)
229
229
 
230
230
  void rxml_init_schema_type(void)
231
231
  {
232
- /* Add in infinity support for ruby 1.8.7 */
233
- #if !defined(RUBY_VM) && defined(INFINITY)
234
- ID infinityId = rb_intern("INFINITY");
235
- if (rb_const_defined(rb_cFloat, infinityId) == Qfalse)
236
- rb_define_const(rb_cFloat, "INFINITY", rb_float_new(INFINITY));
237
- #endif
238
-
239
232
  cXMLSchemaType = rb_define_class_under(cXMLSchema, "Type", rb_cObject);
240
233
  rb_undef_alloc_func(cXMLSchemaType);
241
234
 
@@ -1,9 +1,9 @@
1
- #ifndef __RXML_SCHEMA_TYPE__
2
- #define __RXML_SCHEMA_TYPE__
3
-
4
- extern VALUE cXMLSchemaType;
5
-
6
- VALUE rxml_wrap_schema_type(xmlSchemaTypePtr xtype);
7
- void rxml_init_schema_type(void);
8
-
9
- #endif
1
+ #ifndef __RXML_SCHEMA_TYPE__
2
+ #define __RXML_SCHEMA_TYPE__
3
+
4
+ extern VALUE cXMLSchemaType;
5
+
6
+ VALUE rxml_wrap_schema_type(xmlSchemaTypePtr xtype);
7
+ void rxml_init_schema_type(void);
8
+
9
+ #endif
@@ -1,9 +1,9 @@
1
- /* Don't nuke this block! It is used for automatically updating the
2
- * versions below. VERSION = string formatting, VERNUM = numbered
3
- * version for inline testing: increment both or none at all.*/
4
- #define RUBY_LIBXML_VERSION "4.1.2"
5
- #define RUBY_LIBXML_VERNUM 400
6
- #define RUBY_LIBXML_VER_MAJ 4
7
- #define RUBY_LIBXML_VER_MIN 1
8
- #define RUBY_LIBXML_VER_MIC 2
9
- #define RUBY_LIBXML_VER_PATCH 0
1
+ /* Don't nuke this block! It is used for automatically updating the
2
+ * versions below. VERSION = string formatting, VERNUM = numbered
3
+ * version for inline testing: increment both or none at all.*/
4
+ #define RUBY_LIBXML_VERSION "6.0.0"
5
+ #define RUBY_LIBXML_VERNUM 600
6
+ #define RUBY_LIBXML_VER_MAJ 6
7
+ #define RUBY_LIBXML_VER_MIN 0
8
+ #define RUBY_LIBXML_VER_MIC 0
9
+ #define RUBY_LIBXML_VER_PATCH 0