ruby-xml-smart 0.1.11-i486-linux → 0.1.12-i486-linux
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/.gitignore +0 -0
- data/Changelog +7 -0
- data/Rakefile +9 -15
- data/TODO +19 -0
- data/examples/HELLO-MORE.xml +1 -0
- data/examples/HELLO.rng +14 -0
- data/examples/HELLO.xml +8 -0
- data/examples/relaxng.rb +12 -0
- data/examples/xinclude.rb +15 -0
- data/rbxs.h +2 -1
- data/rbxs_dom.c +158 -13
- data/rbxs_dom.h +3 -0
- data/rbxs_domelement.c +23 -0
- metadata +68 -69
data/.gitignore
ADDED
File without changes
|
data/Changelog
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
0.1.12 "Oh my dear, a wall is missing in my flat and it's getting cold"
|
2
|
+
* XML::SMART::DOM::save_unformated => defaults to false
|
3
|
+
* XML::SMART::DOM::#xinclude!
|
4
|
+
* XML::SMART::DOM::ELEMENT::#xinclude!
|
5
|
+
* XML::SMART::DOM::#validate_against(XML::SMART.open("some_file.rng"))
|
6
|
+
-> will validate against XML Schema if ever libxml supports it :-)
|
7
|
+
|
1
8
|
0.1.11 "name has to be selected"
|
2
9
|
* Made usage in threads more robust (examples/concurrent.rb)
|
3
10
|
(namespace related bug? gone!)
|
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ require 'rake/gempackagetask'
|
|
6
6
|
require 'rdoc/rdoc'
|
7
7
|
|
8
8
|
PKG_FILE = 'ruby-xml-smart'
|
9
|
-
PKG_FILES =
|
9
|
+
PKG_FILES = `git ls-files`.split(/\r?\n/)
|
10
10
|
PKG_VERSION = File.read('rbxs.h').to_s.match(/RBXS_VERSION\s+"([^"]+)"/)[1]
|
11
11
|
PKG_CURRENT = PKG_FILE + "-" + PKG_VERSION
|
12
12
|
|
@@ -32,23 +32,23 @@ end
|
|
32
32
|
|
33
33
|
desc "Clean directory"
|
34
34
|
task :clean do
|
35
|
-
if File.exists?("
|
36
|
-
Dir.glob("**/*").collect{ |i| i unless i=~/^
|
37
|
-
|
35
|
+
if File.exists?(".git")
|
36
|
+
Dir.glob("**/*").collect{ |i| i unless i=~/^i\.git/ || i=~/^rdoc/ || i=~/^extconf/ || i=~/^Makefile/ }.compact.each do |i|
|
37
|
+
if !PKG_FILES.include?(i) && !File.directory?(i)
|
38
38
|
rm_r i if File.exists?(i)
|
39
39
|
end
|
40
|
-
|
40
|
+
end
|
41
41
|
else
|
42
42
|
system "make clean"
|
43
43
|
end
|
44
44
|
end
|
45
45
|
task :distclean do
|
46
|
-
if File.exists?("
|
47
|
-
Dir.glob("**/*").collect{ |i| i unless i
|
48
|
-
|
46
|
+
if File.exists?(".git")
|
47
|
+
Dir.glob("**/*").collect{ |i| i unless i=~/^\.git/ }.compact.each do |i|
|
48
|
+
if !PKG_FILES.include?(i) && !File.directory?(i)
|
49
49
|
rm_r i if File.exists?(i)
|
50
50
|
end
|
51
|
-
|
51
|
+
end
|
52
52
|
else
|
53
53
|
system "make distclean"
|
54
54
|
end
|
@@ -99,12 +99,6 @@ Rake::RDocTask.new(:doc) do |rdoc|
|
|
99
99
|
rdoc.rdoc_files.include 'rbxs_pullattribute.c'
|
100
100
|
end
|
101
101
|
|
102
|
-
desc "Creating package"
|
103
|
-
task :darcs_package do
|
104
|
-
system "export DARCS_REPO=#{Dir.pwd}; " +
|
105
|
-
"darcs dist -d #{PKG_CURRENT}"
|
106
|
-
end
|
107
|
-
|
108
102
|
Rake::TestTask.new do |t|
|
109
103
|
t.libs << "test"
|
110
104
|
t.pattern = "test/*_test.rb"
|
data/TODO
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
Known Bugs
|
2
|
+
|
3
|
+
* I have to deal with dup's, clone's and new's for XML::Smart::DOM::*
|
4
|
+
|
5
|
+
require 'xml/smart'
|
6
|
+
require 'date'
|
7
|
+
|
8
|
+
xmldoc = XML::Smart.open('crasher.xml')
|
9
|
+
xpath = '/eveapi/currentTime/text()'
|
10
|
+
text_str = xmldoc.root.find(xpath)[0]
|
11
|
+
puts DateTime.parse(text_str)
|
12
|
+
# or text_str.dup
|
13
|
+
|
14
|
+
########################
|
15
|
+
<?xml version='1.0' encoding='UTF-8'?>
|
16
|
+
<eveapi version="2">
|
17
|
+
<currentTime>2008-10-10 02:40:49</currentTime>
|
18
|
+
</eveapi>
|
19
|
+
|
1
20
|
Todo + Ideas:
|
2
21
|
|
3
22
|
* add apply_style to dom (apply xslts) - keep in touch with Ken Wronkiewicz <wh at wirewd dot com>
|
@@ -0,0 +1 @@
|
|
1
|
+
<hello>hello curucamp</hello>
|
data/examples/HELLO.rng
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
<element name="hellos" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0">
|
2
|
+
<oneOrMore>
|
3
|
+
<element name="hello">
|
4
|
+
<data type="string">
|
5
|
+
<param name="pattern">hello .+</param>
|
6
|
+
</data>
|
7
|
+
</element>
|
8
|
+
</oneOrMore>
|
9
|
+
<element name="include" ns="http://www.w3.org/2001/XInclude">
|
10
|
+
<attribute name="href">
|
11
|
+
<data type="anyURI"/>
|
12
|
+
</attribute>
|
13
|
+
</element>
|
14
|
+
</element>
|
data/examples/HELLO.xml
ADDED
data/examples/relaxng.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
require "#{File.dirname($0)}/../smart"
|
3
|
+
|
4
|
+
stime = Time.now.to_f
|
5
|
+
nums = 1000
|
6
|
+
# Watch the power
|
7
|
+
nums.times do
|
8
|
+
doc = XML::Smart.open(File.dirname($0) + "/HELLO.xml")
|
9
|
+
rng = XML::Smart.open(File.dirname($0) + "/HELLO.rng")
|
10
|
+
doc.validate_against(rng)
|
11
|
+
end
|
12
|
+
puts "#{nums} validations done: #{Time.now.to_f - stime} seconds"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
require "#{File.dirname($0)}/../smart"
|
3
|
+
|
4
|
+
stime = Time.now.to_f
|
5
|
+
nums = 100000
|
6
|
+
# Watch the power
|
7
|
+
nums.times do
|
8
|
+
doc = XML::Smart.open(File.dirname($0) + "/HELLO.xml")
|
9
|
+
doc.xinclude!
|
10
|
+
|
11
|
+
# doc.find("//hellos").each do |e|
|
12
|
+
# e.xinclude!
|
13
|
+
# end
|
14
|
+
end
|
15
|
+
puts "#{nums} loads and xincludes done: #{Time.now.to_f - stime} seconds"
|
data/rbxs.h
CHANGED
@@ -41,8 +41,9 @@
|
|
41
41
|
#include <libxml/xpathInternals.h>
|
42
42
|
#include <libxml/xmlreader.h>
|
43
43
|
#include <libxml/xmlsave.h>
|
44
|
+
#include <libxml/xinclude.h>
|
44
45
|
|
45
|
-
#define RBXS_VERSION "0.1.
|
46
|
+
#define RBXS_VERSION "0.1.12"
|
46
47
|
|
47
48
|
#define RBXS_PARSER_TYPE_DOM 0
|
48
49
|
#define RBXS_PARSER_TYPE_READER 1
|
data/rbxs_dom.c
CHANGED
@@ -128,6 +128,31 @@ VALUE rbxs_dom_encode_entities_set(VALUE self, VALUE value)
|
|
128
128
|
}
|
129
129
|
}
|
130
130
|
|
131
|
+
/*
|
132
|
+
* Documentation
|
133
|
+
*/
|
134
|
+
VALUE rbxs_dom_xinclude(VALUE self)
|
135
|
+
{
|
136
|
+
xmlNodePtr root = NULL;
|
137
|
+
int err = 0;
|
138
|
+
rbxs_dom *prbxs_dom;
|
139
|
+
|
140
|
+
Data_Get_Struct(self, rbxs_dom, prbxs_dom);
|
141
|
+
err = xmlXIncludeProcess(prbxs_dom->doc);
|
142
|
+
|
143
|
+
root = (xmlNodePtr) prbxs_dom->doc->children;
|
144
|
+
while(root && root->type != XML_ELEMENT_NODE && root->type != XML_XINCLUDE_START) {
|
145
|
+
root = root->next;
|
146
|
+
}
|
147
|
+
if (root) {
|
148
|
+
rbxs_dom_remove_xinclude_nodes(root);
|
149
|
+
}
|
150
|
+
|
151
|
+
if (err)
|
152
|
+
return(Qtrue);
|
153
|
+
return(Qfalse);
|
154
|
+
}
|
155
|
+
|
131
156
|
/*
|
132
157
|
* Documentation
|
133
158
|
*/
|
@@ -140,6 +165,38 @@ VALUE rbxs_dom_encode_entities_q(VALUE self)
|
|
140
165
|
else
|
141
166
|
return(Qtrue);
|
142
167
|
}
|
168
|
+
|
169
|
+
/*
|
170
|
+
* Documentation
|
171
|
+
*/
|
172
|
+
VALUE rbxs_dom_save_unformated_set(VALUE self, VALUE value)
|
173
|
+
{
|
174
|
+
rbxs_dom *prbxs_dom;
|
175
|
+
Data_Get_Struct(self, rbxs_dom, prbxs_dom);
|
176
|
+
switch (TYPE(value)) {
|
177
|
+
case T_FALSE:
|
178
|
+
prbxs_dom->saveUnformated = 1;
|
179
|
+
return Qfalse;
|
180
|
+
case T_TRUE:
|
181
|
+
prbxs_dom->saveUnformated = 0;
|
182
|
+
return Qtrue;
|
183
|
+
default:
|
184
|
+
rb_raise(rb_eArgError, "can be set to TRUE or FALSE");
|
185
|
+
}
|
186
|
+
}
|
187
|
+
|
188
|
+
/*
|
189
|
+
* Documentation
|
190
|
+
*/
|
191
|
+
VALUE rbxs_dom_save_unformated_q(VALUE self)
|
192
|
+
{
|
193
|
+
rbxs_dom *prbxs_dom;
|
194
|
+
Data_Get_Struct(self, rbxs_dom, prbxs_dom);
|
195
|
+
if (prbxs_dom->saveUnformated == 1)
|
196
|
+
return(Qfalse);
|
197
|
+
else
|
198
|
+
return(Qtrue);
|
199
|
+
}
|
143
200
|
|
144
201
|
/*
|
145
202
|
* Documentation
|
@@ -157,6 +214,55 @@ VALUE rbxs_dom_root(VALUE self)
|
|
157
214
|
return(Qnil);
|
158
215
|
}
|
159
216
|
|
217
|
+
/*
|
218
|
+
* Documentation
|
219
|
+
*/
|
220
|
+
VALUE rbxs_dom_validate_relaxng(VALUE self, VALUE rdoc)
|
221
|
+
{
|
222
|
+
xmlRelaxNGParserCtxtPtr parser;
|
223
|
+
xmlRelaxNGPtr sptr;
|
224
|
+
xmlRelaxNGValidCtxtPtr vptr;
|
225
|
+
int is_valid;
|
226
|
+
|
227
|
+
rbxs_dom *prbxs_dom;
|
228
|
+
rbxs_dom *prbxs_rdom;
|
229
|
+
|
230
|
+
Data_Get_Struct(self, rbxs_dom, prbxs_dom);
|
231
|
+
Data_Get_Struct(rdoc, rbxs_dom, prbxs_rdom);
|
232
|
+
|
233
|
+
if (rb_obj_is_kind_of(rdoc, cSmartDom)) {
|
234
|
+
parser = xmlRelaxNGNewDocParserCtxt(prbxs_rdom->doc);
|
235
|
+
|
236
|
+
xmlRelaxNGSetParserErrors(parser,
|
237
|
+
(xmlRelaxNGValidityErrorFunc) fprintf,
|
238
|
+
(xmlRelaxNGValidityWarningFunc) fprintf,
|
239
|
+
stderr);
|
240
|
+
sptr = xmlRelaxNGParse(parser);
|
241
|
+
xmlRelaxNGFreeParserCtxt(parser);
|
242
|
+
if (!sptr)
|
243
|
+
rb_raise(rb_eRuntimeError, "Invalid RelaxNG");
|
244
|
+
|
245
|
+
vptr = xmlRelaxNGNewValidCtxt(sptr);
|
246
|
+
if (!vptr) {
|
247
|
+
xmlRelaxNGFree(sptr);
|
248
|
+
rb_raise(rb_eRuntimeError, "Invalid RelaxNG Validation Context");
|
249
|
+
}
|
250
|
+
|
251
|
+
xmlRelaxNGSetValidErrors(vptr,
|
252
|
+
(xmlRelaxNGValidityErrorFunc) fprintf,
|
253
|
+
(xmlRelaxNGValidityErrorFunc) fprintf,
|
254
|
+
stderr);
|
255
|
+
is_valid = xmlRelaxNGValidateDoc(vptr, prbxs_dom->doc);
|
256
|
+
xmlRelaxNGFree(sptr);
|
257
|
+
xmlRelaxNGFreeValidCtxt(vptr);
|
258
|
+
|
259
|
+
if (is_valid == 0)
|
260
|
+
return(Qtrue);
|
261
|
+
return(Qfalse);
|
262
|
+
} else
|
263
|
+
rb_raise(rb_eArgError, "takes a dom document as argument");
|
264
|
+
}
|
265
|
+
|
160
266
|
/*
|
161
267
|
* Documentation
|
162
268
|
*/
|
@@ -290,6 +396,39 @@ void rbxs_dom_change_handlers_execute(rbxs_dom *prbxs_dom, unsigned short int ty
|
|
290
396
|
}
|
291
397
|
}
|
292
398
|
|
399
|
+
xmlNodePtr rbxs_dom_free_xinclude_node(xmlNodePtr cur) {
|
400
|
+
xmlNodePtr xincnode;
|
401
|
+
xincnode = cur;
|
402
|
+
cur = cur->next;
|
403
|
+
xmlUnlinkNode(xincnode);
|
404
|
+
xmlFreeNode(xincnode);
|
405
|
+
return cur;
|
406
|
+
}
|
407
|
+
|
408
|
+
void rbxs_dom_remove_xinclude_nodes(xmlNodePtr cur) {
|
409
|
+
while(cur) {
|
410
|
+
if (cur->type == XML_XINCLUDE_START) {
|
411
|
+
rbxs_dom_free_xinclude_node(cur);
|
412
|
+
|
413
|
+
while(cur && cur->type != XML_XINCLUDE_END) {
|
414
|
+
if (cur->type == XML_ELEMENT_NODE) {
|
415
|
+
rbxs_dom_remove_xinclude_nodes(cur->children);
|
416
|
+
}
|
417
|
+
cur = cur->next;
|
418
|
+
}
|
419
|
+
|
420
|
+
if (cur && cur->type == XML_XINCLUDE_END) {
|
421
|
+
cur = rbxs_dom_free_xinclude_node(cur);
|
422
|
+
}
|
423
|
+
} else {
|
424
|
+
if (cur->type == XML_ELEMENT_NODE) {
|
425
|
+
rbxs_dom_remove_xinclude_nodes(cur->children);
|
426
|
+
}
|
427
|
+
cur = cur->next;
|
428
|
+
}
|
429
|
+
}
|
430
|
+
}
|
431
|
+
|
293
432
|
//***********************************************************************************
|
294
433
|
// Constructors
|
295
434
|
//***********************************************************************************
|
@@ -327,6 +466,7 @@ VALUE rbxs_dom_string(VALUE string) {
|
|
327
466
|
prbxs_dom->changeHandlers = rb_ary_new2(0);
|
328
467
|
prbxs_dom->namespaces = rb_hash_new();
|
329
468
|
prbxs_dom->encodeEntities = 1;
|
469
|
+
prbxs_dom->saveUnformated = 1;
|
330
470
|
prbxs_dom->doc = ctxt->myDoc;
|
331
471
|
|
332
472
|
xmlFreeParserCtxt(ctxt);
|
@@ -397,6 +537,7 @@ VALUE rbxs_dom_open(VALUE name, char *root, unsigned short int lock, unsigned sh
|
|
397
537
|
|
398
538
|
prbxs_dom->type = RBXS_DOM_TYPE_FILE;
|
399
539
|
prbxs_dom->encodeEntities = 1;
|
540
|
+
prbxs_dom->saveUnformated = 1;
|
400
541
|
prbxs_dom->changeHandlers = rb_ary_new2(0);
|
401
542
|
prbxs_dom->namespaces = rb_hash_new();
|
402
543
|
prbxs_dom->lock = lock;
|
@@ -438,7 +579,7 @@ VALUE rbxs_dom_open(VALUE name, char *root, unsigned short int lock, unsigned sh
|
|
438
579
|
rb_yield(Data_Wrap_Struct(cSmartDom, rbxs_dom_mark, rbxs_dom_free, prbxs_dom));
|
439
580
|
if (save > 0) {
|
440
581
|
int status = -1;
|
441
|
-
status = xmlSaveFormatFile(StringValuePtr(name), prbxs_dom->doc,
|
582
|
+
status = xmlSaveFormatFile(StringValuePtr(name), prbxs_dom->doc, prbxs_dom->saveUnformated);
|
442
583
|
if (prbxs_dom->lock > 0) {
|
443
584
|
unlink(lockfile);
|
444
585
|
free(lockfile);
|
@@ -468,16 +609,20 @@ void init_rbxs_dom( void ) {
|
|
468
609
|
rb_define_const(cSmartDom, "SIGNAL_CHANGE", INT2NUM(RBXS_DOM_SIGNAL_CHANGE));
|
469
610
|
rb_define_const(cSmartDom, "SIGNAL_DELETE", INT2NUM(RBXS_DOM_SIGNAL_DELETE));
|
470
611
|
|
471
|
-
rb_define_method(cSmartDom, "inspect",
|
472
|
-
rb_define_method(cSmartDom, "to_s",
|
473
|
-
rb_define_method(cSmartDom, "root",
|
474
|
-
rb_define_method(cSmartDom, "root=",
|
475
|
-
rb_define_method(cSmartDom, "find",
|
476
|
-
rb_define_method(cSmartDom, "on_change",
|
477
|
-
rb_define_method(cSmartDom, "change_handlers",
|
478
|
-
rb_define_method(cSmartDom, "save_as",
|
479
|
-
rb_define_method(cSmartDom, "namespaces=",
|
480
|
-
rb_define_method(cSmartDom, "namespaces",
|
481
|
-
rb_define_method(cSmartDom, "encode_entities=",
|
482
|
-
rb_define_method(cSmartDom, "encode_entities?",
|
612
|
+
rb_define_method(cSmartDom, "inspect", rbxs_dom_inspect, 0);
|
613
|
+
rb_define_method(cSmartDom, "to_s", rbxs_dom_to_s, 0);
|
614
|
+
rb_define_method(cSmartDom, "root", rbxs_dom_root, 0);
|
615
|
+
rb_define_method(cSmartDom, "root=", rbxs_dom_root_set, 1);
|
616
|
+
rb_define_method(cSmartDom, "find", rbxs_dom_find, -1);
|
617
|
+
rb_define_method(cSmartDom, "on_change", rbxs_dom_change_handler_set, 0);
|
618
|
+
rb_define_method(cSmartDom, "change_handlers", rbxs_dom_change_handlers, 0);
|
619
|
+
rb_define_method(cSmartDom, "save_as", rbxs_dom_save_as, 1);
|
620
|
+
rb_define_method(cSmartDom, "namespaces=", rbxs_dom_namespaces_set, 1);
|
621
|
+
rb_define_method(cSmartDom, "namespaces", rbxs_dom_namespaces_get, 0);
|
622
|
+
rb_define_method(cSmartDom, "encode_entities=", rbxs_dom_encode_entities_set, 1);
|
623
|
+
rb_define_method(cSmartDom, "encode_entities?", rbxs_dom_encode_entities_q, 0);
|
624
|
+
rb_define_method(cSmartDom, "save_unformated=", rbxs_dom_save_unformated_set, 1);
|
625
|
+
rb_define_method(cSmartDom, "save_unformated?", rbxs_dom_save_unformated_q, 0);
|
626
|
+
rb_define_method(cSmartDom, "xinclude!", rbxs_dom_xinclude, 0);
|
627
|
+
rb_define_method(cSmartDom, "validate_against", rbxs_dom_validate_relaxng, 1);
|
483
628
|
}
|
data/rbxs_dom.h
CHANGED
@@ -16,6 +16,7 @@ RUBY_EXTERN VALUE cSmartDom;
|
|
16
16
|
|
17
17
|
typedef struct rbxs_dom {
|
18
18
|
unsigned short int encodeEntities;
|
19
|
+
unsigned short int saveUnformated;
|
19
20
|
int type;
|
20
21
|
unsigned short int lock;
|
21
22
|
xmlDocPtr doc;
|
@@ -24,6 +25,8 @@ typedef struct rbxs_dom {
|
|
24
25
|
} rbxs_dom;
|
25
26
|
|
26
27
|
void rbxs_dom_change_handlers_execute(rbxs_dom *prbxs_dom, unsigned short int type, VALUE node);
|
28
|
+
xmlNodePtr rbxs_dom_free_xinclude_node(xmlNodePtr cur);
|
29
|
+
void rbxs_dom_remove_xinclude_nodes(xmlNodePtr cur);
|
27
30
|
|
28
31
|
RUBY_EXTERN VALUE rbxs_dom_open(VALUE name, char *root, unsigned short int lock, unsigned short int save);
|
29
32
|
RUBY_EXTERN VALUE rbxs_dom_string(VALUE string);
|
data/rbxs_domelement.c
CHANGED
@@ -566,6 +566,28 @@ VALUE rbxs_domelement_namespace_q(VALUE self)
|
|
566
566
|
return(Qfalse);
|
567
567
|
}
|
568
568
|
|
569
|
+
/*
|
570
|
+
* Documentation
|
571
|
+
*/
|
572
|
+
VALUE rbxs_domelement_xinclude(VALUE self)
|
573
|
+
{
|
574
|
+
xmlNodePtr node = NULL;
|
575
|
+
int err = 0;
|
576
|
+
rbxs_domelement *prbxs_domelement;
|
577
|
+
|
578
|
+
Data_Get_Struct(self, rbxs_domelement, prbxs_domelement);
|
579
|
+
|
580
|
+
node = (xmlNodePtr) prbxs_domelement->node;
|
581
|
+
if (node) {
|
582
|
+
err = xmlXIncludeProcessTree(node);
|
583
|
+
rbxs_dom_remove_xinclude_nodes(node);
|
584
|
+
}
|
585
|
+
|
586
|
+
if (err)
|
587
|
+
return(Qtrue);
|
588
|
+
return(Qfalse);
|
589
|
+
}
|
590
|
+
|
569
591
|
/*
|
570
592
|
* Documentation
|
571
593
|
*/
|
@@ -653,4 +675,5 @@ void init_rbxs_domelement(void) {
|
|
653
675
|
rb_define_method(cSmartDomElement, "namespace", rbxs_domelement_namespace, 0);
|
654
676
|
rb_define_method(cSmartDomElement, "namespace?", rbxs_domelement_namespace_q, 0);
|
655
677
|
rb_define_method(cSmartDomElement, "namespace=", rbxs_domelement_namespace_set, 1);
|
678
|
+
rb_define_method(cSmartDomElement, "xinclude!", rbxs_domelement_xinclude, 0);
|
656
679
|
}
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: ruby-xml-smart
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.
|
7
|
-
date:
|
6
|
+
version: 0.1.12
|
7
|
+
date: 2009-03-14 00:00:00 +01:00
|
8
8
|
summary: easy to use and stable libxml2 binding
|
9
9
|
require_paths:
|
10
10
|
- .
|
@@ -28,85 +28,84 @@ cert_chain:
|
|
28
28
|
authors:
|
29
29
|
- "J\xC3\xBCrgen Mangler"
|
30
30
|
files:
|
31
|
-
-
|
31
|
+
- .gitignore
|
32
|
+
- AUTHORS
|
33
|
+
- COPYING
|
34
|
+
- Changelog
|
35
|
+
- README
|
36
|
+
- Rakefile
|
37
|
+
- TODO
|
38
|
+
- examples/EXAMPLE.xml
|
39
|
+
- examples/EXAMPLE.xml.sic
|
40
|
+
- examples/HELLO-MORE.xml
|
41
|
+
- examples/HELLO.rng
|
42
|
+
- examples/HELLO.xml
|
43
|
+
- examples/Visualise/EXAMPLE.xml
|
44
|
+
- examples/Visualise/term-ansicolor-0.0.4/CHANGES
|
45
|
+
- examples/Visualise/term-ansicolor-0.0.4/GPL
|
46
|
+
- examples/Visualise/term-ansicolor-0.0.4/README.en
|
47
|
+
- examples/Visualise/term-ansicolor-0.0.4/Rakefile
|
48
|
+
- examples/Visualise/term-ansicolor-0.0.4/VERSION
|
49
|
+
- examples/Visualise/term-ansicolor-0.0.4/examples/cdiff.rb
|
50
|
+
- examples/Visualise/term-ansicolor-0.0.4/examples/example.rb
|
51
|
+
- examples/Visualise/term-ansicolor-0.0.4/install.rb
|
52
|
+
- examples/Visualise/term-ansicolor-0.0.4/lib/term/ansicolor.rb
|
53
|
+
- examples/Visualise/xpath_visual.rb
|
54
|
+
- examples/add_children.rb
|
55
|
+
- examples/add_elements.rb
|
56
|
+
- examples/attrs.rb
|
57
|
+
- examples/children.rb
|
58
|
+
- examples/concurrent.rb
|
59
|
+
- examples/copy.rb
|
60
|
+
- examples/create.rb
|
61
|
+
- examples/delete.rb
|
62
|
+
- examples/move_elements.rb
|
63
|
+
- examples/namespace.rb
|
64
|
+
- examples/namespace_detailed.rb
|
65
|
+
- examples/namespace_find.rb
|
66
|
+
- examples/pull.rb
|
67
|
+
- examples/qname.rb
|
68
|
+
- examples/relaxng.rb
|
69
|
+
- examples/replace.rb
|
70
|
+
- examples/set_OR_replace.rb
|
71
|
+
- examples/signals.rb
|
72
|
+
- examples/string.rb
|
73
|
+
- examples/write.rb
|
74
|
+
- examples/xinclude.rb
|
75
|
+
- examples/xpath_attrs.rb
|
76
|
+
- examples/xpath_functions.rb
|
77
|
+
- examples/xpath_root.rb
|
78
|
+
- extconf.rb
|
79
|
+
- rbxs.c
|
80
|
+
- rbxs.h
|
81
|
+
- rbxs_dom.c
|
82
|
+
- rbxs_dom.h
|
32
83
|
- rbxs_domattribute.c
|
33
84
|
- rbxs_domattribute.h
|
34
|
-
-
|
35
|
-
-
|
36
|
-
-
|
37
|
-
-
|
38
|
-
-
|
39
|
-
-
|
40
|
-
- rbxs_qname.c
|
41
|
-
- rbxs_qname.h
|
85
|
+
- rbxs_domattributeset.c
|
86
|
+
- rbxs_domattributeset.h
|
87
|
+
- rbxs_domelement.c
|
88
|
+
- rbxs_domelement.h
|
89
|
+
- rbxs_domnamespace.c
|
90
|
+
- rbxs_domnamespace.h
|
42
91
|
- rbxs_domnamespaceset.c
|
43
92
|
- rbxs_domnamespaceset.h
|
44
93
|
- rbxs_domnodeset.c
|
45
94
|
- rbxs_domnodeset.h
|
95
|
+
- rbxs_domother.c
|
96
|
+
- rbxs_domother.h
|
46
97
|
- rbxs_domtext.c
|
47
98
|
- rbxs_domtext.h
|
48
|
-
- rbxs_domnamespace.c
|
49
|
-
- rbxs_domnamespace.h
|
50
|
-
- rbxs.c
|
51
|
-
- rbxs.h
|
52
99
|
- rbxs_pull.c
|
53
100
|
- rbxs_pull.h
|
54
|
-
-
|
55
|
-
-
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
59
|
-
-
|
60
|
-
- rbxs_domattributeset.h
|
61
|
-
- examples
|
101
|
+
- rbxs_pullattribute.c
|
102
|
+
- rbxs_pullattribute.h
|
103
|
+
- rbxs_pullattributeset.c
|
104
|
+
- rbxs_pullattributeset.h
|
105
|
+
- rbxs_qname.c
|
106
|
+
- rbxs_qname.h
|
62
107
|
- rbxs_utils.h
|
63
|
-
- Changelog
|
64
|
-
- COPYING
|
65
|
-
- TODO
|
66
|
-
- rbxs_domother.c
|
67
|
-
- rbxs_domother.h
|
68
|
-
- extconf.rb
|
69
108
|
- test/namespace_test.rb
|
70
|
-
- examples/pull.rb
|
71
|
-
- examples/copy.rb
|
72
|
-
- examples/EXAMPLE.xml
|
73
|
-
- examples/Visualise
|
74
|
-
- examples/attrs.rb
|
75
|
-
- examples/string.rb
|
76
|
-
- examples/xpath_root.rb
|
77
|
-
- examples/xpath_functions.rb
|
78
|
-
- examples/add_elements.rb
|
79
|
-
- examples/add_children.rb
|
80
|
-
- examples/namespace_detailed.rb
|
81
|
-
- examples/move_elements.rb
|
82
|
-
- examples/EXAMPLE.xml.sic
|
83
|
-
- examples/namespace.rb
|
84
|
-
- examples/delete.rb
|
85
|
-
- examples/replace.rb
|
86
|
-
- examples/qname.rb
|
87
|
-
- examples/create.rb
|
88
|
-
- examples/set_OR_replace.rb
|
89
|
-
- examples/write.rb
|
90
|
-
- examples/xpath_attrs.rb
|
91
|
-
- examples/signals.rb
|
92
|
-
- examples/children.rb
|
93
|
-
- examples/namespace_find.rb
|
94
|
-
- examples/concurrent.rb
|
95
|
-
- examples/Visualise/EXAMPLE.xml
|
96
|
-
- examples/Visualise/xpath_visual.rb
|
97
|
-
- examples/Visualise/term-ansicolor-0.0.4
|
98
|
-
- examples/Visualise/term-ansicolor-0.0.4/GPL
|
99
|
-
- examples/Visualise/term-ansicolor-0.0.4/lib
|
100
|
-
- examples/Visualise/term-ansicolor-0.0.4/README.en
|
101
|
-
- examples/Visualise/term-ansicolor-0.0.4/Rakefile
|
102
|
-
- examples/Visualise/term-ansicolor-0.0.4/install.rb
|
103
|
-
- examples/Visualise/term-ansicolor-0.0.4/VERSION
|
104
|
-
- examples/Visualise/term-ansicolor-0.0.4/CHANGES
|
105
|
-
- examples/Visualise/term-ansicolor-0.0.4/examples
|
106
|
-
- examples/Visualise/term-ansicolor-0.0.4/lib/term
|
107
|
-
- examples/Visualise/term-ansicolor-0.0.4/lib/term/ansicolor.rb
|
108
|
-
- examples/Visualise/term-ansicolor-0.0.4/examples/example.rb
|
109
|
-
- examples/Visualise/term-ansicolor-0.0.4/examples/cdiff.rb
|
110
109
|
test_files:
|
111
110
|
- test/namespace_test.rb
|
112
111
|
rdoc_options:
|