libxml-ruby 5.0.5 → 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.
- checksums.yaml +4 -4
- data/{HISTORY → CHANGELOG.md} +875 -923
- data/LICENSE +20 -20
- data/README.md +67 -0
- data/Rakefile +77 -98
- data/ext/libxml/extconf.rb +34 -20
- data/ext/libxml/libxml.c +67 -79
- data/ext/libxml/ruby_libxml.h +1 -1
- data/ext/libxml/ruby_xml_attr.c +338 -333
- data/ext/libxml/ruby_xml_attr.h +13 -12
- data/ext/libxml/ruby_xml_attr_decl.c +19 -12
- data/ext/libxml/ruby_xml_attr_decl.h +11 -11
- data/ext/libxml/ruby_xml_attributes.c +18 -9
- data/ext/libxml/ruby_xml_document.c +111 -98
- data/ext/libxml/ruby_xml_document.h +1 -0
- data/ext/libxml/ruby_xml_dtd.c +49 -19
- data/ext/libxml/ruby_xml_dtd.h +10 -9
- data/ext/libxml/ruby_xml_html_parser.c +91 -91
- data/ext/libxml/ruby_xml_html_parser.h +10 -10
- data/ext/libxml/ruby_xml_html_parser_context.c +19 -6
- data/ext/libxml/ruby_xml_html_parser_context.h +11 -10
- data/ext/libxml/ruby_xml_html_parser_options.c +48 -48
- data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
- data/ext/libxml/ruby_xml_input_cbg.c +45 -17
- data/ext/libxml/ruby_xml_input_cbg.h +20 -20
- data/ext/libxml/ruby_xml_io.c +49 -47
- data/ext/libxml/ruby_xml_io.h +10 -10
- data/ext/libxml/ruby_xml_namespace.c +20 -12
- data/ext/libxml/ruby_xml_namespace.h +11 -10
- data/ext/libxml/ruby_xml_namespaces.c +313 -293
- data/ext/libxml/ruby_xml_namespaces.h +9 -9
- data/ext/libxml/ruby_xml_node.c +71 -32
- data/ext/libxml/ruby_xml_node.h +15 -13
- data/ext/libxml/ruby_xml_parser.c +91 -91
- data/ext/libxml/ruby_xml_parser_context.c +54 -47
- data/ext/libxml/ruby_xml_parser_context.h +11 -10
- data/ext/libxml/ruby_xml_reader.c +25 -15
- data/ext/libxml/ruby_xml_reader.h +14 -14
- data/ext/libxml/ruby_xml_registry.c +31 -0
- data/ext/libxml/ruby_xml_registry.h +22 -0
- data/ext/libxml/ruby_xml_relaxng.c +21 -5
- data/ext/libxml/ruby_xml_relaxng.h +9 -8
- data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
- data/ext/libxml/ruby_xml_sax_parser.c +1 -1
- data/ext/libxml/ruby_xml_sax_parser.h +10 -10
- data/ext/libxml/ruby_xml_schema.c +18 -11
- data/ext/libxml/ruby_xml_schema.h +26 -25
- data/ext/libxml/ruby_xml_schema_attribute.c +7 -7
- data/ext/libxml/ruby_xml_schema_attribute.h +37 -37
- data/ext/libxml/ruby_xml_schema_element.c +8 -8
- data/ext/libxml/ruby_xml_schema_element.h +11 -11
- data/ext/libxml/ruby_xml_schema_facet.c +50 -50
- data/ext/libxml/ruby_xml_schema_facet.h +9 -9
- data/ext/libxml/ruby_xml_schema_type.c +12 -19
- data/ext/libxml/ruby_xml_schema_type.h +9 -9
- data/ext/libxml/ruby_xml_version.h +4 -4
- data/ext/libxml/ruby_xml_writer.c +1136 -1124
- data/ext/libxml/ruby_xml_writer.h +6 -6
- data/ext/libxml/ruby_xml_xinclude.c +20 -20
- data/ext/libxml/ruby_xml_xinclude.h +11 -11
- data/ext/libxml/ruby_xml_xpath.c +195 -195
- data/ext/libxml/ruby_xml_xpath.h +15 -15
- data/ext/libxml/ruby_xml_xpath_context.c +408 -362
- data/ext/libxml/ruby_xml_xpath_context.h +9 -9
- data/ext/libxml/ruby_xml_xpath_expression.c +11 -5
- data/ext/libxml/ruby_xml_xpath_expression.h +11 -10
- data/ext/libxml/ruby_xml_xpath_object.c +69 -54
- data/ext/libxml/ruby_xml_xpath_object.h +19 -17
- data/ext/vc/libxml_ruby/libxml_ruby.vcxproj +271 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.pbxproj +633 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/ext/xcode/libxml-ruby.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/ext/xcode/libxml-ruby.xcodeproj/xcshareddata/xcschemes/libxml-ruby.xcscheme +80 -0
- data/lib/libxml/document.rb +0 -29
- data/lib/libxml/error.rb +30 -3
- data/lib/libxml/html_parser.rb +0 -16
- data/lib/libxml/node.rb +1 -3
- data/lib/libxml/parser.rb +0 -8
- data/lib/libxml/schema/attribute.rb +27 -19
- data/lib/libxml/schema/element.rb +20 -0
- data/lib/libxml/schema/type.rb +44 -21
- data/lib/libxml/schema.rb +47 -47
- data/lib/libxml-ruby.rb +30 -30
- data/libxml-ruby.gemspec +12 -16
- data/test/c14n/result/1-1-without-comments/example-1 +3 -3
- data/test/c14n/result/1-1-without-comments/example-2 +10 -10
- data/test/c14n/result/1-1-without-comments/example-3 +13 -13
- data/test/c14n/result/1-1-without-comments/example-4 +8 -8
- data/test/c14n/result/1-1-without-comments/example-5 +2 -2
- data/test/c14n/result/with-comments/example-1 +5 -5
- data/test/c14n/result/with-comments/example-2 +10 -10
- data/test/c14n/result/with-comments/example-3 +13 -13
- data/test/c14n/result/with-comments/example-4 +8 -8
- data/test/c14n/result/with-comments/example-5 +3 -3
- data/test/c14n/result/without-comments/example-1 +3 -3
- data/test/c14n/result/without-comments/example-2 +10 -10
- data/test/c14n/result/without-comments/example-3 +13 -13
- data/test/c14n/result/without-comments/example-4 +8 -8
- data/test/c14n/result/without-comments/example-5 +2 -2
- data/test/test_attr.rb +179 -180
- data/test/test_attr_decl.rb +131 -131
- data/test/test_attributes.rb +135 -135
- data/test/test_canonicalize.rb +122 -120
- data/test/test_document.rb +2 -4
- data/test/test_dtd.rb +12 -4
- data/test/test_encoding_sax.rb +114 -114
- data/test/test_error.rb +6 -3
- data/test/test_helper.rb +1 -0
- data/test/test_html_parser.rb +6 -2
- data/test/test_html_parser_context.rb +22 -22
- data/test/test_input_callbacks.rb +36 -0
- data/test/test_namespace.rb +1 -1
- data/test/test_namespaces.rb +200 -200
- data/test/test_node.rb +16 -0
- data/test/test_node_cdata.rb +50 -50
- data/test/test_node_comment.rb +32 -32
- data/test/test_node_copy.rb +40 -40
- data/test/test_node_edit.rb +176 -158
- data/test/test_node_pi.rb +37 -37
- data/test/test_node_text.rb +69 -69
- data/test/test_node_xlink.rb +28 -28
- data/test/test_parser.rb +5 -41
- data/test/test_parser_context.rb +198 -198
- data/test/test_properties.rb +38 -38
- data/test/test_reader.rb +55 -6
- data/test/test_relaxng.rb +59 -53
- data/test/test_sax_parser.rb +345 -345
- data/test/test_schema.rb +28 -0
- data/test/test_traversal.rb +152 -152
- data/test/test_writer.rb +469 -468
- data/test/test_xinclude.rb +20 -20
- data/test/test_xml.rb +3 -7
- data/test/test_xpath.rb +244 -244
- data/test/test_xpath_context.rb +87 -87
- data/test/test_xpath_expression.rb +37 -37
- metadata +33 -27
- data/README.rdoc +0 -208
- data/ext/libxml/extconf.h +0 -3
- data/ext/libxml/ruby_xml_cbg.c +0 -85
- data/lib/libxml/hpricot.rb +0 -78
- data/lib/libxml.rb +0 -5
- data/lib/xml/libxml.rb +0 -10
- data/lib/xml.rb +0 -14
- data/script/benchmark/depixelate +0 -634
- data/script/benchmark/hamlet.xml +0 -9055
- data/script/benchmark/parsecount +0 -170
- data/script/benchmark/sock_entries.xml +0 -507
- data/script/benchmark/throughput +0 -41
- data/script/test +0 -6
- data/test/test.rb +0 -5
- data/test/test_deprecated_require.rb +0 -12
data/ext/libxml/ruby_xml_attr.h
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
|
2
|
-
|
|
3
|
-
#ifndef __RXML_ATTR__
|
|
4
|
-
#define __RXML_ATTR__
|
|
5
|
-
|
|
6
|
-
extern VALUE cXMLAttr;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
VALUE
|
|
11
|
-
VALUE
|
|
12
|
-
|
|
1
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
|
2
|
+
|
|
3
|
+
#ifndef __RXML_ATTR__
|
|
4
|
+
#define __RXML_ATTR__
|
|
5
|
+
|
|
6
|
+
extern VALUE cXMLAttr;
|
|
7
|
+
extern const rb_data_type_t rxml_attr_type;
|
|
8
|
+
|
|
9
|
+
void rxml_init_attr(void);
|
|
10
|
+
VALUE rxml_attr_wrap(xmlAttrPtr xattr);
|
|
11
|
+
VALUE rxml_attr_value_get(VALUE self);
|
|
12
|
+
VALUE rxml_attr_value_set(VALUE self, VALUE val);
|
|
13
|
+
#endif
|
|
@@ -13,14 +13,21 @@
|
|
|
13
13
|
|
|
14
14
|
VALUE cXMLAttrDecl;
|
|
15
15
|
|
|
16
|
-
void rxml_attr_decl_mark(
|
|
16
|
+
static void rxml_attr_decl_mark(void *data)
|
|
17
17
|
{
|
|
18
|
-
|
|
18
|
+
xmlAttributePtr xattr = (xmlAttributePtr)data;
|
|
19
|
+
rxml_node_mark((xmlNodePtr)xattr);
|
|
19
20
|
}
|
|
20
21
|
|
|
22
|
+
static const rb_data_type_t rxml_attr_decl_type = {
|
|
23
|
+
"LibXML::XML::AttrDecl",
|
|
24
|
+
{rxml_attr_decl_mark, NULL, 0},
|
|
25
|
+
&rxml_attr_type, 0, RUBY_TYPED_FREE_IMMEDIATELY
|
|
26
|
+
};
|
|
27
|
+
|
|
21
28
|
VALUE rxml_attr_decl_wrap(xmlAttributePtr xattr)
|
|
22
29
|
{
|
|
23
|
-
return
|
|
30
|
+
return TypedData_Wrap_Struct(cXMLAttrDecl, &rxml_attr_decl_type, xattr);
|
|
24
31
|
}
|
|
25
32
|
|
|
26
33
|
/*
|
|
@@ -32,11 +39,11 @@ VALUE rxml_attr_decl_wrap(xmlAttributePtr xattr)
|
|
|
32
39
|
static VALUE rxml_attr_decl_doc_get(VALUE self)
|
|
33
40
|
{
|
|
34
41
|
xmlAttributePtr xattr;
|
|
35
|
-
|
|
42
|
+
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
|
|
36
43
|
if (xattr->doc == NULL)
|
|
37
44
|
return Qnil;
|
|
38
45
|
else
|
|
39
|
-
return
|
|
46
|
+
return rxml_registry_lookup(xattr->doc);
|
|
40
47
|
}
|
|
41
48
|
|
|
42
49
|
|
|
@@ -49,7 +56,7 @@ static VALUE rxml_attr_decl_doc_get(VALUE self)
|
|
|
49
56
|
static VALUE rxml_attr_decl_name_get(VALUE self)
|
|
50
57
|
{
|
|
51
58
|
xmlAttributePtr xattr;
|
|
52
|
-
|
|
59
|
+
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
|
|
53
60
|
|
|
54
61
|
if (xattr->name == NULL)
|
|
55
62
|
return Qnil;
|
|
@@ -66,7 +73,7 @@ static VALUE rxml_attr_decl_name_get(VALUE self)
|
|
|
66
73
|
static VALUE rxml_attr_decl_next_get(VALUE self)
|
|
67
74
|
{
|
|
68
75
|
xmlAttributePtr xattr;
|
|
69
|
-
|
|
76
|
+
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
|
|
70
77
|
if (xattr->next == NULL)
|
|
71
78
|
return Qnil;
|
|
72
79
|
else
|
|
@@ -81,8 +88,8 @@ static VALUE rxml_attr_decl_next_get(VALUE self)
|
|
|
81
88
|
*/
|
|
82
89
|
static VALUE rxml_attr_decl_node_type(VALUE self)
|
|
83
90
|
{
|
|
84
|
-
|
|
85
|
-
|
|
91
|
+
xmlAttributePtr xattr;
|
|
92
|
+
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
|
|
86
93
|
return INT2NUM(xattr->type);
|
|
87
94
|
}
|
|
88
95
|
|
|
@@ -96,7 +103,7 @@ static VALUE rxml_attr_decl_node_type(VALUE self)
|
|
|
96
103
|
static VALUE rxml_attr_decl_parent_get(VALUE self)
|
|
97
104
|
{
|
|
98
105
|
xmlAttributePtr xattr;
|
|
99
|
-
|
|
106
|
+
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
|
|
100
107
|
|
|
101
108
|
if (xattr->parent == NULL)
|
|
102
109
|
return Qnil;
|
|
@@ -114,7 +121,7 @@ static VALUE rxml_attr_decl_parent_get(VALUE self)
|
|
|
114
121
|
static VALUE rxml_attr_decl_prev_get(VALUE self)
|
|
115
122
|
{
|
|
116
123
|
xmlAttributePtr xattr;
|
|
117
|
-
|
|
124
|
+
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
|
|
118
125
|
|
|
119
126
|
if (xattr->prev == NULL)
|
|
120
127
|
return Qnil;
|
|
@@ -132,7 +139,7 @@ VALUE rxml_attr_decl_value_get(VALUE self)
|
|
|
132
139
|
{
|
|
133
140
|
xmlAttributePtr xattr;
|
|
134
141
|
|
|
135
|
-
|
|
142
|
+
TypedData_Get_Struct(self, xmlAttribute, &rxml_attr_decl_type, xattr);
|
|
136
143
|
|
|
137
144
|
if (xattr->defaultValue)
|
|
138
145
|
return rxml_new_cstr(xattr->defaultValue, NULL);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
|
2
|
-
|
|
3
|
-
#ifndef __RXML_ATTR_DECL__
|
|
4
|
-
#define __RXML_ATTR_DECL__
|
|
5
|
-
|
|
6
|
-
extern VALUE cXMLAttrDecl;
|
|
7
|
-
|
|
8
|
-
void rxml_init_attr_decl(void);
|
|
9
|
-
VALUE rxml_attr_decl_wrap(xmlAttributePtr xattribute);
|
|
10
|
-
VALUE rxml_attr_decl_value_get(VALUE self);
|
|
11
|
-
#endif
|
|
1
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
|
2
|
+
|
|
3
|
+
#ifndef __RXML_ATTR_DECL__
|
|
4
|
+
#define __RXML_ATTR_DECL__
|
|
5
|
+
|
|
6
|
+
extern VALUE cXMLAttrDecl;
|
|
7
|
+
|
|
8
|
+
void rxml_init_attr_decl(void);
|
|
9
|
+
VALUE rxml_attr_decl_wrap(xmlAttributePtr xattribute);
|
|
10
|
+
VALUE rxml_attr_decl_value_get(VALUE self);
|
|
11
|
+
#endif
|
|
@@ -32,17 +32,26 @@
|
|
|
32
32
|
|
|
33
33
|
VALUE cXMLAttributes;
|
|
34
34
|
|
|
35
|
-
void rxml_attributes_mark(
|
|
35
|
+
void rxml_attributes_mark(void *data)
|
|
36
36
|
{
|
|
37
|
-
rxml_node_mark(
|
|
37
|
+
rxml_node_mark((xmlNodePtr)data);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
static const rb_data_type_t rxml_attributes_data_type = {
|
|
41
|
+
.wrap_struct_name = "LibXML::XML::Attributes",
|
|
42
|
+
.function = {
|
|
43
|
+
.dmark = rxml_attributes_mark,
|
|
44
|
+
.dfree = NULL,
|
|
45
|
+
},
|
|
46
|
+
.flags = RUBY_TYPED_FREE_IMMEDIATELY,
|
|
47
|
+
};
|
|
48
|
+
|
|
40
49
|
/*
|
|
41
50
|
* Creates a new attributes instance. Not exposed to ruby.
|
|
42
51
|
*/
|
|
43
52
|
VALUE rxml_attributes_new(xmlNodePtr xnode)
|
|
44
53
|
{
|
|
45
|
-
return
|
|
54
|
+
return TypedData_Wrap_Struct(cXMLAttributes, &rxml_attributes_data_type, xnode);
|
|
46
55
|
}
|
|
47
56
|
|
|
48
57
|
/*
|
|
@@ -56,7 +65,7 @@ VALUE rxml_attributes_new(xmlNodePtr xnode)
|
|
|
56
65
|
VALUE rxml_attributes_node_get(VALUE self)
|
|
57
66
|
{
|
|
58
67
|
xmlNodePtr xnode;
|
|
59
|
-
|
|
68
|
+
TypedData_Get_Struct(self, xmlNode, &rxml_attributes_data_type, xnode);
|
|
60
69
|
return rxml_node_wrap(xnode);
|
|
61
70
|
}
|
|
62
71
|
|
|
@@ -80,7 +89,7 @@ static VALUE rxml_attributes_get_attribute(VALUE self, VALUE name)
|
|
|
80
89
|
|
|
81
90
|
name = rb_obj_as_string(name);
|
|
82
91
|
|
|
83
|
-
|
|
92
|
+
TypedData_Get_Struct(self, xmlNode, &rxml_attributes_data_type, xnode);
|
|
84
93
|
|
|
85
94
|
xattr = xmlHasProp(xnode, (xmlChar*) StringValuePtr(name));
|
|
86
95
|
|
|
@@ -114,7 +123,7 @@ static VALUE rxml_attributes_get_attribute_ns(VALUE self, VALUE namespace,
|
|
|
114
123
|
|
|
115
124
|
name = rb_obj_as_string(name);
|
|
116
125
|
|
|
117
|
-
|
|
126
|
+
TypedData_Get_Struct(self, xmlNode, &rxml_attributes_data_type, xnode);
|
|
118
127
|
|
|
119
128
|
xattr = xmlHasNsProp(xnode, (xmlChar*) StringValuePtr(name),
|
|
120
129
|
(xmlChar*) StringValuePtr(namespace));
|
|
@@ -191,7 +200,7 @@ static VALUE rxml_attributes_each(VALUE self)
|
|
|
191
200
|
{
|
|
192
201
|
xmlNodePtr xnode;
|
|
193
202
|
xmlAttrPtr xattr;
|
|
194
|
-
|
|
203
|
+
TypedData_Get_Struct(self, xmlNode, &rxml_attributes_data_type, xnode);
|
|
195
204
|
|
|
196
205
|
xattr = xnode->properties;
|
|
197
206
|
|
|
@@ -222,7 +231,7 @@ static VALUE rxml_attributes_length(VALUE self)
|
|
|
222
231
|
int length = 0;
|
|
223
232
|
xmlNodePtr xnode;
|
|
224
233
|
xmlAttrPtr xattr;
|
|
225
|
-
|
|
234
|
+
TypedData_Get_Struct(self, xmlNode, &rxml_attributes_data_type, xnode);
|
|
226
235
|
|
|
227
236
|
xattr = xnode->properties;
|
|
228
237
|
|
|
@@ -246,7 +255,7 @@ static VALUE rxml_attributes_length(VALUE self)
|
|
|
246
255
|
static VALUE rxml_attributes_first(VALUE self)
|
|
247
256
|
{
|
|
248
257
|
xmlNodePtr xnode;
|
|
249
|
-
|
|
258
|
+
TypedData_Get_Struct(self, xmlNode, &rxml_attributes_data_type, xnode);
|
|
250
259
|
|
|
251
260
|
if (xnode->type == XML_ELEMENT_NODE)
|
|
252
261
|
{
|