libxml-ruby 0.5.4 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. data/LICENSE +23 -23
  2. data/README +144 -144
  3. data/ext/libxml/extconf.rb +26 -27
  4. data/ext/libxml/libxml.c +7 -37
  5. data/ext/libxml/{libxml.h → ruby_libxml.h} +93 -98
  6. data/ext/libxml/ruby_xml_attr.c +405 -387
  7. data/ext/libxml/ruby_xml_attr.h +19 -18
  8. data/ext/libxml/ruby_xml_document.c +1111 -1115
  9. data/ext/libxml/ruby_xml_document.h +27 -24
  10. data/ext/libxml/ruby_xml_dtd.c +168 -168
  11. data/ext/libxml/ruby_xml_html_parser.c +449 -450
  12. data/ext/libxml/ruby_xml_html_parser.h +1 -1
  13. data/ext/libxml/ruby_xml_input_cbg.c +158 -158
  14. data/ext/libxml/ruby_xml_node.c +2410 -2395
  15. data/ext/libxml/ruby_xml_node.h +1 -1
  16. data/ext/libxml/ruby_xml_node_set.c +170 -170
  17. data/ext/libxml/ruby_xml_node_set.h +1 -1
  18. data/ext/libxml/ruby_xml_ns.c +153 -153
  19. data/ext/libxml/ruby_xml_ns.h +1 -1
  20. data/ext/libxml/ruby_xml_parser.c +1425 -1422
  21. data/ext/libxml/ruby_xml_parser.h +1 -1
  22. data/ext/libxml/ruby_xml_parser_context.c +750 -716
  23. data/ext/libxml/ruby_xml_parser_context.h +1 -1
  24. data/ext/libxml/ruby_xml_reader.c +900 -896
  25. data/ext/libxml/ruby_xml_sax_parser.c +485 -485
  26. data/ext/libxml/ruby_xml_sax_parser.h +1 -1
  27. data/ext/libxml/ruby_xml_schema.c +146 -142
  28. data/ext/libxml/ruby_xml_state.c +5 -6
  29. data/ext/libxml/ruby_xml_state.h +1 -0
  30. data/ext/libxml/ruby_xml_tree.c +43 -43
  31. data/ext/libxml/ruby_xml_tree.h +1 -1
  32. data/ext/libxml/ruby_xml_xinclude.c +20 -20
  33. data/ext/libxml/ruby_xml_xinclude.h +1 -1
  34. data/ext/libxml/ruby_xml_xpath.c +243 -252
  35. data/ext/libxml/ruby_xml_xpath.h +1 -1
  36. data/ext/libxml/ruby_xml_xpath_context.c +118 -118
  37. data/ext/libxml/ruby_xml_xpath_context.h +1 -1
  38. data/ext/libxml/ruby_xml_xpath_object.c +43 -29
  39. data/ext/libxml/ruby_xml_xpath_object.h +0 -1
  40. data/ext/libxml/ruby_xml_xpointer.c +100 -100
  41. data/ext/libxml/ruby_xml_xpointer.h +1 -1
  42. data/ext/libxml/ruby_xml_xpointer_context.c +21 -21
  43. data/ext/libxml/ruby_xml_xpointer_context.h +1 -1
  44. data/ext/libxml/sax_parser_callbacks.inc +213 -213
  45. data/ext/libxml/version.h +9 -9
  46. data/lib/libxml.rb +24 -3
  47. data/mingw/libiconv-2.dll +0 -0
  48. data/mingw/libxml2-2.dll +0 -0
  49. data/mingw/libxml_ruby.so +0 -0
  50. data/mingw/mingw.rake +36 -0
  51. data/test/dtd-test.rb +24 -24
  52. data/test/etc_doc_to_s.rb +1 -3
  53. data/test/ets_copy_bug.rb +21 -21
  54. data/test/ets_copy_bug2.rb +32 -32
  55. data/test/ets_copy_bug3.rb +38 -0
  56. data/test/ets_doc_file.rb +1 -0
  57. data/test/{model/default_validation_bug.rb → gc.log} +0 -0
  58. data/test/merge_bug.rb +55 -55
  59. data/test/schema-test.rb +74 -74
  60. data/test/tc_well_formed.rb +11 -0
  61. data/test/tc_xml_document.rb +52 -52
  62. data/test/tc_xml_document_write.rb +24 -24
  63. data/test/tc_xml_document_write2.rb +54 -54
  64. data/test/tc_xml_document_write3.rb +96 -96
  65. data/test/tc_xml_html_parser.rb +63 -63
  66. data/test/tc_xml_node.rb +59 -59
  67. data/test/tc_xml_node2.rb +25 -25
  68. data/test/tc_xml_node3.rb +27 -27
  69. data/test/tc_xml_node4.rb +86 -86
  70. data/test/tc_xml_node5.rb +52 -52
  71. data/test/tc_xml_node6.rb +27 -27
  72. data/test/tc_xml_node7.rb +35 -35
  73. data/test/tc_xml_node8.rb +32 -32
  74. data/test/tc_xml_node9.rb +32 -32
  75. data/test/tc_xml_node_set.rb +24 -24
  76. data/test/tc_xml_node_set2.rb +37 -37
  77. data/test/tc_xml_node_xlink.rb +28 -28
  78. data/test/tc_xml_parser.rb +190 -178
  79. data/test/tc_xml_parser2.rb +16 -17
  80. data/test/tc_xml_parser3.rb +23 -23
  81. data/test/tc_xml_parser4.rb +33 -33
  82. data/test/tc_xml_parser5.rb +27 -27
  83. data/test/tc_xml_parser6.rb +23 -23
  84. data/test/tc_xml_parser7.rb +28 -28
  85. data/test/tc_xml_parser8.rb +32 -32
  86. data/test/tc_xml_parser9.rb +11 -0
  87. data/test/tc_xml_parser_context.rb +88 -88
  88. data/test/tc_xml_reader.rb +112 -109
  89. data/test/tc_xml_sax_parser.rb +104 -94
  90. data/test/tc_xml_sax_parser2.rb +51 -0
  91. data/test/tc_xml_xinclude.rb +30 -30
  92. data/test/tc_xml_xpath.rb +38 -38
  93. data/test/tc_xml_xpath2.rb +14 -0
  94. data/test/tc_xml_xpointer.rb +78 -78
  95. data/vc/libxml.sln +20 -0
  96. data/vc/libxml.vcproj +389 -0
  97. data/work/Rakefile +247 -0
  98. data/work/task/make +26 -0
  99. data/work/task/memory +37 -0
  100. data/work/task/rdoc +39 -0
  101. data/work/task/setup +1616 -0
  102. data/work/task/test +29 -0
  103. data/work/test/ets_runner.rb +33 -0
  104. data/work/test/libxml_test.rb +3 -0
  105. data/work/test/runner.rb +0 -0
  106. data/work/test/runner_ets.rb +33 -0
  107. data/work/vc/debug/libxml.exp +0 -0
  108. data/work/vc/debug/libxml.ilk +0 -0
  109. data/work/vc/debug/libxml.lib +0 -0
  110. data/work/vc/debug/libxml.pdb +0 -0
  111. data/work/vc/debug/libxml.so +0 -0
  112. metadata +158 -189
  113. data/MANIFEST +0 -138
  114. data/NOTES +0 -9
  115. data/Rakefile +0 -38
  116. data/TODO +0 -75
  117. data/VERSION +0 -1
  118. data/log/Changelog-0.txt +0 -426
  119. data/log/Changelog.txt +0 -435
  120. data/meta/project.yaml +0 -27
  121. data/meta/unixname +0 -1
  122. data/setup.rb +0 -1472
  123. data/site/css/normal.css +0 -182
  124. data/site/img/raze-tiny.png +0 -0
  125. data/site/img/red-cube.jpg +0 -0
  126. data/site/img/xml-ruby.png +0 -0
  127. data/site/index.xml +0 -43
  128. data/site/install.xml +0 -77
  129. data/site/layout.rhtml +0 -38
  130. data/site/layout.xsl +0 -67
  131. data/site/license.xml +0 -32
  132. data/site/log/changelog.xml +0 -1324
  133. data/site/log/changelog.xsl +0 -42
  134. data/test/model/merge_bug_data.xml +0 -58
  135. data/test/model/rubynet.xml +0 -78
  136. data/test/model/rubynet_project +0 -13
  137. data/test/model/saxtest.xml +0 -5
  138. data/test/model/simple.xml +0 -7
  139. data/test/model/xinclude.xml +0 -5
@@ -1,4 +1,4 @@
1
- /* $Id: ruby_xml_html_parser.h 225 2007-12-07 04:58:09Z transami $ */
1
+ /* $Id: ruby_xml_html_parser.h 111 2006-11-20 01:39:14Z roscopeco $ */
2
2
 
3
3
  /* Please see the LICENSE file for copyright and distribution information */
4
4
 
@@ -1,158 +1,158 @@
1
-
2
- /* ruby support for custom scheme handlers */
3
- /* Author: Martin Povolny (xpovolny@fi.muni.cz) */
4
-
5
- #include "libxml.h"
6
- #include "ruby_xml_input_cbg.h"
7
-
8
- static ic_scheme *first_scheme = 0;
9
-
10
- int ic_match (char const *filename) {
11
- ic_scheme *scheme;
12
-
13
- //fprintf( stderr, "ic_match: %s\n", filename );
14
-
15
- scheme = first_scheme;
16
- while (0 != scheme) {
17
- if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST scheme->scheme_name, scheme->name_len)) {
18
- return 1;
19
- }
20
- scheme = scheme->next_scheme;
21
- }
22
- return 0;
23
- }
24
-
25
- void* ic_open (char const *filename) {
26
- ic_doc_context *ic_doc;
27
- ic_scheme *scheme;
28
- VALUE res;
29
-
30
- scheme = first_scheme;
31
- while (0 != scheme) {
32
- if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST scheme->scheme_name, scheme->name_len)) {
33
- ic_doc = (ic_doc_context*)malloc( sizeof(ic_doc_context) );
34
-
35
- res = rb_funcall( scheme->class,
36
- rb_intern("document_query"),
37
- 1,
38
- rb_str_new2(filename) );
39
-
40
- ic_doc->buffer = strdup( StringValuePtr(res) );
41
-
42
- ic_doc->bpos = ic_doc->buffer;
43
- ic_doc->remaining = strlen(ic_doc->buffer);
44
- return ic_doc;
45
- }
46
- scheme = scheme->next_scheme;
47
- }
48
- return 0;
49
- }
50
-
51
- int ic_read (void *context, char *buffer, int len) {
52
- ic_doc_context *ic_doc;
53
- int ret_len;
54
- ic_doc = (ic_doc_context*)context;
55
-
56
- if (len >= ic_doc->remaining) {
57
- ret_len = ic_doc->remaining;
58
- } else {
59
- ret_len = len;
60
- }
61
- ic_doc->remaining -= ret_len;
62
- strncpy( buffer, ic_doc->bpos, ret_len );
63
- ic_doc->bpos += ret_len;
64
-
65
- return ret_len;
66
- }
67
-
68
- int ic_close (void *context) {
69
- free( ((ic_doc_context*)context)->buffer );
70
- free( context );
71
- return 1;
72
- }
73
-
74
- VALUE input_callbacks_register_input_callbacks() {
75
- xmlRegisterInputCallbacks( ic_match, ic_open, ic_read, ic_close );
76
- return(Qtrue);
77
- }
78
-
79
- VALUE
80
- input_callbacks_add_scheme (VALUE self, VALUE scheme_name, VALUE class) {
81
- ic_scheme *scheme;
82
-
83
- Check_Type(scheme_name, T_STRING);
84
-
85
- scheme = (ic_scheme*)malloc(sizeof(ic_scheme));
86
- scheme->next_scheme = 0;
87
- scheme->scheme_name = strdup(StringValuePtr(scheme_name)); /* TODO alloc, dealloc */
88
- scheme->name_len = strlen(scheme->scheme_name);
89
- scheme->class = class; /* TODO alloc, dealloc */
90
-
91
- //fprintf( stderr, "registered: %s, %d, %s\n", scheme->scheme_name, scheme->name_len, scheme->class );
92
-
93
- if (0 == first_scheme)
94
- first_scheme = scheme;
95
- else {
96
- ic_scheme *pos;
97
- pos = first_scheme;
98
- while (0 != pos->next_scheme)
99
- pos = pos->next_scheme;
100
- pos->next_scheme = scheme;
101
- }
102
-
103
- return(Qtrue);
104
- }
105
-
106
- VALUE
107
- input_callbacks_remove_scheme (VALUE self, VALUE scheme_name) {
108
- char *name;
109
- ic_scheme *save_scheme, *scheme;
110
-
111
- Check_Type(scheme_name, T_STRING);
112
- name = StringValuePtr(scheme_name);
113
-
114
- if (0 == first_scheme)
115
- return Qfalse;
116
-
117
- /* check the first one */
118
- if (!strncmp(name, first_scheme->scheme_name, first_scheme->name_len)) {
119
- save_scheme = first_scheme->next_scheme;
120
-
121
- free(first_scheme->scheme_name);
122
- free(first_scheme);
123
-
124
- first_scheme = save_scheme;
125
- return Qtrue;
126
- }
127
-
128
- scheme = first_scheme;
129
- while (0 != scheme->next_scheme) {
130
- if ( !strncmp( name, scheme->next_scheme->scheme_name, scheme->next_scheme->name_len ) ) {
131
- save_scheme = scheme->next_scheme->next_scheme;
132
-
133
- free(scheme->next_scheme->scheme_name);
134
- free(scheme->next_scheme);
135
-
136
- scheme->next_scheme = save_scheme;
137
- return Qtrue;
138
- }
139
- scheme = scheme->next_scheme;
140
- }
141
- return Qfalse;
142
- }
143
-
144
- // Rdoc needs to know
145
- #ifdef RDOC_NEVER_DEFINED
146
- mXML = rb_define_module("XML");
147
- #endif
148
-
149
- void
150
- ruby_init_input_callbacks(void) {
151
- VALUE cInputCallbacks;
152
- cInputCallbacks = rb_define_class_under(mXML, "InputCallbacks", rb_cObject);
153
-
154
- /* Class Methods */
155
- rb_define_singleton_method(cInputCallbacks, "register", input_callbacks_register_input_callbacks, 0);
156
- rb_define_singleton_method(cInputCallbacks, "add_scheme", input_callbacks_add_scheme, 2);
157
- rb_define_singleton_method(cInputCallbacks, "remove_scheme", input_callbacks_remove_scheme, 1);
158
- }
1
+
2
+ /* ruby support for custom scheme handlers */
3
+ /* Author: Martin Povolny (xpovolny@fi.muni.cz) */
4
+
5
+ #include "ruby_libxml.h"
6
+ #include "ruby_xml_input_cbg.h"
7
+
8
+ static ic_scheme *first_scheme = 0;
9
+
10
+ int ic_match (char const *filename) {
11
+ ic_scheme *scheme;
12
+
13
+ //fprintf( stderr, "ic_match: %s\n", filename );
14
+
15
+ scheme = first_scheme;
16
+ while (0 != scheme) {
17
+ if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST scheme->scheme_name, scheme->name_len)) {
18
+ return 1;
19
+ }
20
+ scheme = scheme->next_scheme;
21
+ }
22
+ return 0;
23
+ }
24
+
25
+ void* ic_open (char const *filename) {
26
+ ic_doc_context *ic_doc;
27
+ ic_scheme *scheme;
28
+ VALUE res;
29
+
30
+ scheme = first_scheme;
31
+ while (0 != scheme) {
32
+ if (!xmlStrncasecmp(BAD_CAST filename, BAD_CAST scheme->scheme_name, scheme->name_len)) {
33
+ ic_doc = (ic_doc_context*)malloc( sizeof(ic_doc_context) );
34
+
35
+ res = rb_funcall( scheme->class,
36
+ rb_intern("document_query"),
37
+ 1,
38
+ rb_str_new2(filename) );
39
+
40
+ ic_doc->buffer = strdup( StringValuePtr(res) );
41
+
42
+ ic_doc->bpos = ic_doc->buffer;
43
+ ic_doc->remaining = strlen(ic_doc->buffer);
44
+ return ic_doc;
45
+ }
46
+ scheme = scheme->next_scheme;
47
+ }
48
+ return 0;
49
+ }
50
+
51
+ int ic_read (void *context, char *buffer, int len) {
52
+ ic_doc_context *ic_doc;
53
+ int ret_len;
54
+ ic_doc = (ic_doc_context*)context;
55
+
56
+ if (len >= ic_doc->remaining) {
57
+ ret_len = ic_doc->remaining;
58
+ } else {
59
+ ret_len = len;
60
+ }
61
+ ic_doc->remaining -= ret_len;
62
+ strncpy( buffer, ic_doc->bpos, ret_len );
63
+ ic_doc->bpos += ret_len;
64
+
65
+ return ret_len;
66
+ }
67
+
68
+ int ic_close (void *context) {
69
+ ruby_xfree( ((ic_doc_context*)context)->buffer );
70
+ ruby_xfree( context );
71
+ return 1;
72
+ }
73
+
74
+ VALUE input_callbacks_register_input_callbacks() {
75
+ xmlRegisterInputCallbacks( ic_match, ic_open, ic_read, ic_close );
76
+ return(Qtrue);
77
+ }
78
+
79
+ VALUE
80
+ input_callbacks_add_scheme (VALUE self, VALUE scheme_name, VALUE class) {
81
+ ic_scheme *scheme;
82
+
83
+ Check_Type(scheme_name, T_STRING);
84
+
85
+ scheme = (ic_scheme*)malloc(sizeof(ic_scheme));
86
+ scheme->next_scheme = 0;
87
+ scheme->scheme_name = strdup(StringValuePtr(scheme_name)); /* TODO alloc, dealloc */
88
+ scheme->name_len = strlen(scheme->scheme_name);
89
+ scheme->class = class; /* TODO alloc, dealloc */
90
+
91
+ //fprintf( stderr, "registered: %s, %d, %s\n", scheme->scheme_name, scheme->name_len, scheme->class );
92
+
93
+ if (0 == first_scheme)
94
+ first_scheme = scheme;
95
+ else {
96
+ ic_scheme *pos;
97
+ pos = first_scheme;
98
+ while (0 != pos->next_scheme)
99
+ pos = pos->next_scheme;
100
+ pos->next_scheme = scheme;
101
+ }
102
+
103
+ return(Qtrue);
104
+ }
105
+
106
+ VALUE
107
+ input_callbacks_remove_scheme (VALUE self, VALUE scheme_name) {
108
+ char *name;
109
+ ic_scheme *save_scheme, *scheme;
110
+
111
+ Check_Type(scheme_name, T_STRING);
112
+ name = StringValuePtr(scheme_name);
113
+
114
+ if (0 == first_scheme)
115
+ return Qfalse;
116
+
117
+ /* check the first one */
118
+ if (!strncmp(name, first_scheme->scheme_name, first_scheme->name_len)) {
119
+ save_scheme = first_scheme->next_scheme;
120
+
121
+ ruby_xfree(first_scheme->scheme_name);
122
+ ruby_xfree(first_scheme);
123
+
124
+ first_scheme = save_scheme;
125
+ return Qtrue;
126
+ }
127
+
128
+ scheme = first_scheme;
129
+ while (0 != scheme->next_scheme) {
130
+ if ( !strncmp( name, scheme->next_scheme->scheme_name, scheme->next_scheme->name_len ) ) {
131
+ save_scheme = scheme->next_scheme->next_scheme;
132
+
133
+ ruby_xfree(scheme->next_scheme->scheme_name);
134
+ ruby_xfree(scheme->next_scheme);
135
+
136
+ scheme->next_scheme = save_scheme;
137
+ return Qtrue;
138
+ }
139
+ scheme = scheme->next_scheme;
140
+ }
141
+ return Qfalse;
142
+ }
143
+
144
+ // Rdoc needs to know
145
+ #ifdef RDOC_NEVER_DEFINED
146
+ mXML = rb_define_module("XML");
147
+ #endif
148
+
149
+ void
150
+ ruby_init_input_callbacks(void) {
151
+ VALUE cInputCallbacks;
152
+ cInputCallbacks = rb_define_class_under(mXML, "InputCallbacks", rb_cObject);
153
+
154
+ /* Class Methods */
155
+ rb_define_singleton_method(cInputCallbacks, "register", input_callbacks_register_input_callbacks, 0);
156
+ rb_define_singleton_method(cInputCallbacks, "add_scheme", input_callbacks_add_scheme, 2);
157
+ rb_define_singleton_method(cInputCallbacks, "remove_scheme", input_callbacks_remove_scheme, 1);
158
+ }