libxml-ruby 0.3.8.4 → 0.5.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.
- data/CHANGELOG +6 -0
- data/LICENSE +1 -1
- data/README +1 -1
- data/Rakefile +8 -5
- data/TODO +1 -1
- data/ext/xml/extconf.rb +4 -5
- data/ext/xml/libxml.c +5 -2
- data/ext/xml/libxml.h +16 -7
- data/ext/xml/libxml.rb +3 -3
- data/ext/xml/ruby_xml_attr.c +118 -99
- data/ext/xml/ruby_xml_attr.h +4 -7
- data/ext/xml/ruby_xml_document.c +131 -170
- data/ext/xml/ruby_xml_document.h +5 -9
- data/ext/xml/ruby_xml_html_parser.c +453 -0
- data/ext/xml/ruby_xml_html_parser.h +29 -0
- data/ext/xml/ruby_xml_node.c +219 -253
- data/ext/xml/ruby_xml_node.h +4 -7
- data/ext/xml/ruby_xml_node_set.c +6 -6
- data/ext/xml/ruby_xml_node_set.h +1 -1
- data/ext/xml/ruby_xml_ns.c +1 -1
- data/ext/xml/ruby_xml_ns.h +1 -1
- data/ext/xml/ruby_xml_parser.c +5 -8
- data/ext/xml/ruby_xml_parser.h +1 -1
- data/ext/xml/ruby_xml_parser_context.c +3 -4
- data/ext/xml/ruby_xml_parser_context.h +1 -1
- data/ext/xml/ruby_xml_reader.c +893 -0
- data/ext/xml/ruby_xml_reader.h +14 -0
- data/ext/xml/ruby_xml_sax_parser.c +255 -204
- data/ext/xml/ruby_xml_sax_parser.h +6 -2
- data/ext/xml/ruby_xml_tree.c +1 -1
- data/ext/xml/ruby_xml_tree.h +1 -1
- data/ext/xml/ruby_xml_xinclude.c +1 -1
- data/ext/xml/ruby_xml_xinclude.h +1 -1
- data/ext/xml/ruby_xml_xpath.c +3 -2
- data/ext/xml/ruby_xml_xpath.h +1 -1
- data/ext/xml/ruby_xml_xpath_context.c +4 -4
- data/ext/xml/ruby_xml_xpath_context.h +1 -1
- data/ext/xml/ruby_xml_xpointer.c +10 -4
- data/ext/xml/ruby_xml_xpointer.h +1 -1
- data/ext/xml/ruby_xml_xpointer_context.c +1 -1
- data/ext/xml/ruby_xml_xpointer_context.h +1 -1
- data/ext/xml/sax_parser_callbacks.inc +55 -54
- data/tests/model/rubynet_project +1 -1
- data/tests/model/simple.xml +7 -0
- data/tests/tc_xml_document.rb +1 -1
- data/tests/tc_xml_document_write.rb +1 -1
- data/tests/tc_xml_document_write2.rb +1 -1
- data/tests/tc_xml_document_write3.rb +1 -1
- data/tests/tc_xml_html_parser.rb +60 -0
- data/tests/tc_xml_node.rb +1 -1
- data/tests/tc_xml_node2.rb +1 -1
- data/tests/tc_xml_node3.rb +1 -1
- data/tests/tc_xml_node4.rb +8 -5
- data/tests/tc_xml_node5.rb +1 -1
- data/tests/tc_xml_node6.rb +1 -1
- data/tests/tc_xml_node7.rb +1 -1
- data/tests/tc_xml_node_set.rb +1 -1
- data/tests/tc_xml_node_set2.rb +1 -1
- data/tests/tc_xml_node_xlink.rb +1 -1
- data/tests/tc_xml_parser.rb +5 -1
- data/tests/tc_xml_parser2.rb +1 -1
- data/tests/tc_xml_parser3.rb +1 -1
- data/tests/tc_xml_parser4.rb +1 -1
- data/tests/tc_xml_parser5.rb +1 -1
- data/tests/tc_xml_parser6.rb +1 -1
- data/tests/tc_xml_parser7.rb +1 -1
- data/tests/tc_xml_parser8.rb +1 -1
- data/tests/tc_xml_parser_context.rb +1 -1
- data/tests/tc_xml_reader.rb +101 -0
- data/tests/tc_xml_sax_parser.rb +95 -0
- data/tests/tc_xml_xinclude.rb +1 -1
- data/tests/tc_xml_xpath.rb +1 -1
- data/tests/tc_xml_xpointer.rb +1 -1
- metadata +79 -73
- data/ext/xml/ruby_xml_attribute.c +0 -224
- data/ext/xml/ruby_xml_attribute.h +0 -21
- data/tests/test_xml_sax_parser.rb +0 -64
data/ext/xml/ruby_xml_node.h
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* $Id: ruby_xml_node.h
|
|
1
|
+
/* $Id: ruby_xml_node.h 138 2007-08-29 18:00:35Z danj $ */
|
|
2
2
|
|
|
3
3
|
/* Please see the LICENSE file for copyright and distribution information */
|
|
4
4
|
|
|
@@ -12,18 +12,15 @@ extern VALUE eXMLNodeUnknownType;
|
|
|
12
12
|
|
|
13
13
|
typedef struct ruby_xml_node {
|
|
14
14
|
xmlNodePtr node;
|
|
15
|
-
VALUE xd;
|
|
16
|
-
//int is_ptr;
|
|
17
15
|
} ruby_xml_node;
|
|
18
16
|
|
|
17
|
+
VALUE
|
|
18
|
+
ruby_xml_node2_wrap(VALUE class, xmlNodePtr xnode);
|
|
19
|
+
|
|
19
20
|
void ruby_xml_node_free(ruby_xml_node *rxn);
|
|
20
21
|
void ruby_init_xml_node(void);
|
|
21
22
|
VALUE ruby_xml_node_child_set(VALUE self, VALUE obj);
|
|
22
|
-
VALUE ruby_xml_node_new(VALUE class, xmlNodePtr node);
|
|
23
|
-
VALUE ruby_xml_node_new_ptr(VALUE class, VALUE xd, xmlNodePtr node);
|
|
24
|
-
VALUE ruby_xml_node_new3(VALUE class, VALUE xd, xmlNodePtr node, int ptr);
|
|
25
23
|
VALUE ruby_xml_node_name_get(VALUE self);
|
|
26
24
|
VALUE ruby_xml_node_property_get(VALUE self, VALUE key);
|
|
27
25
|
VALUE ruby_xml_node_property_set(VALUE self, VALUE key, VALUE val);
|
|
28
|
-
VALUE ruby_xml_node_set_ptr(VALUE node, int is_ptr);
|
|
29
26
|
#endif
|
data/ext/xml/ruby_xml_node_set.c
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* $Id: ruby_xml_node_set.c
|
|
1
|
+
/* $Id: ruby_xml_node_set.c 138 2007-08-29 18:00:35Z danj $ */
|
|
2
2
|
|
|
3
3
|
/* Please see the LICENSE file for copyright and distribution information */
|
|
4
4
|
|
|
@@ -32,7 +32,7 @@ ruby_xml_node_set_to_a(VALUE self) {
|
|
|
32
32
|
set_ary = rb_ary_new();
|
|
33
33
|
if (!((rxnset->node_set == NULL) || (rxnset->node_set->nodeNr == 0))) {
|
|
34
34
|
for (i = 0; i < rxnset->node_set->nodeNr; i++) {
|
|
35
|
-
nodeobj =
|
|
35
|
+
nodeobj = ruby_xml_node2_wrap(cXMLNode, rxnset->node_set->nodeTab[i]);
|
|
36
36
|
rb_ary_push(set_ary, nodeobj);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -61,10 +61,10 @@ ruby_xml_node_set_each(VALUE self) {
|
|
|
61
61
|
for (i = 0; i < rxnset->node_set->nodeNr; i++) {
|
|
62
62
|
switch(rxnset->node_set->nodeTab[i]->type) {
|
|
63
63
|
case XML_ATTRIBUTE_NODE:
|
|
64
|
-
nodeobj =
|
|
64
|
+
nodeobj = ruby_xml_attr_wrap(cXMLAttr, (xmlAttrPtr)rxnset->node_set->nodeTab[i]);
|
|
65
65
|
break;
|
|
66
66
|
default:
|
|
67
|
-
nodeobj =
|
|
67
|
+
nodeobj = ruby_xml_node2_wrap(cXMLNode, rxnset->node_set->nodeTab[i]);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
rb_yield(nodeobj);
|
|
@@ -105,10 +105,10 @@ ruby_xml_node_set_first(VALUE self) {
|
|
|
105
105
|
|
|
106
106
|
switch(rxnset->node_set->nodeTab[0]->type) {
|
|
107
107
|
case XML_ATTRIBUTE_NODE:
|
|
108
|
-
nodeobj =
|
|
108
|
+
nodeobj = ruby_xml_attr_wrap(cXMLAttr, (xmlAttrPtr)rxnset->node_set->nodeTab[0]);
|
|
109
109
|
break;
|
|
110
110
|
default:
|
|
111
|
-
nodeobj =
|
|
111
|
+
nodeobj = ruby_xml_node2_wrap(cXMLNode, rxnset->node_set->nodeTab[0]);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
return(nodeobj);
|
data/ext/xml/ruby_xml_node_set.h
CHANGED
data/ext/xml/ruby_xml_ns.c
CHANGED
data/ext/xml/ruby_xml_ns.h
CHANGED
data/ext/xml/ruby_xml_parser.c
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/* $Id: ruby_xml_parser.c
|
|
2
|
-
/* $Id: ruby_xml_parser.c
|
|
1
|
+
/* $Id: ruby_xml_parser.c 138 2007-08-29 18:00:35Z danj $ */
|
|
2
|
+
/* $Id: ruby_xml_parser.c 138 2007-08-29 18:00:35Z danj $ */
|
|
3
3
|
|
|
4
4
|
/* Please see the LICENSE file for copyright and distribution information */
|
|
5
5
|
|
|
@@ -1107,7 +1107,7 @@ ruby_xml_parser_new_string(VALUE class, VALUE str) {
|
|
|
1107
1107
|
*/
|
|
1108
1108
|
VALUE
|
|
1109
1109
|
ruby_xml_parser_parse(VALUE self) {
|
|
1110
|
-
|
|
1110
|
+
ruby_xml_document_t *rxd;
|
|
1111
1111
|
ruby_xml_parser *rxp;
|
|
1112
1112
|
ruby_xml_parser_context *rxpc;
|
|
1113
1113
|
xmlDocPtr xdp;
|
|
@@ -1136,10 +1136,7 @@ ruby_xml_parser_parse(VALUE self) {
|
|
|
1136
1136
|
rxp->parsed = 1;
|
|
1137
1137
|
}
|
|
1138
1138
|
|
|
1139
|
-
doc =
|
|
1140
|
-
Data_Get_Struct(doc, ruby_xml_document, rxd);
|
|
1141
|
-
rxd->is_ptr = 0;
|
|
1142
|
-
rxd->doc = xdp;
|
|
1139
|
+
doc = ruby_xml_document_wrap(cXMLDocument, xdp);
|
|
1143
1140
|
break;
|
|
1144
1141
|
default:
|
|
1145
1142
|
rb_fatal("Unknown data type, %d", rxp->data_type);
|
|
@@ -1216,7 +1213,7 @@ ruby_xml_parser_str_set(VALUE self, VALUE str) {
|
|
|
1216
1213
|
data->str = str;
|
|
1217
1214
|
|
|
1218
1215
|
Data_Get_Struct(rxp->ctxt, ruby_xml_parser_context, rxpc);
|
|
1219
|
-
rxpc->ctxt = xmlCreateMemoryParserCtxt(StringValuePtr(data->str),
|
|
1216
|
+
rxpc->ctxt = xmlCreateMemoryParserCtxt(StringValuePtr(data->str), RSTRING_LEN(data->str));
|
|
1220
1217
|
|
|
1221
1218
|
return(data->str);
|
|
1222
1219
|
}
|
data/ext/xml/ruby_xml_parser.h
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* $Id: ruby_xml_parser_context.c
|
|
1
|
+
/* $Id: ruby_xml_parser_context.c 138 2007-08-29 18:00:35Z danj $ */
|
|
2
2
|
|
|
3
3
|
/* Please see the LICENSE file for copyright and distribution information */
|
|
4
4
|
|
|
@@ -82,7 +82,7 @@ ruby_xml_parser_context_doc_get(VALUE self) {
|
|
|
82
82
|
if (rxpc->ctxt->myDoc == NULL)
|
|
83
83
|
return(Qnil);
|
|
84
84
|
|
|
85
|
-
return(
|
|
85
|
+
return(ruby_xml_document_wrap(cXMLDocument, rxpc->ctxt->myDoc));
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
|
|
@@ -330,8 +330,7 @@ ruby_xml_parser_context_node_get(VALUE self) {
|
|
|
330
330
|
if (rxpc->ctxt->node == NULL)
|
|
331
331
|
return(Qnil);
|
|
332
332
|
else
|
|
333
|
-
return(
|
|
334
|
-
ruby_xml_document_new(cXMLDocument, rxpc->ctxt->myDoc),
|
|
333
|
+
return(ruby_xml_node2_wrap(cXMLNode,
|
|
335
334
|
rxpc->ctxt->node));
|
|
336
335
|
}
|
|
337
336
|
|