libxml-ruby 2.5.0-x86-mingw32 → 2.6.0-x86-mingw32
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 +7 -0
- data/HISTORY +6 -0
- data/ext/libxml/ruby_xml_encoding.h +1 -0
- data/ext/libxml/ruby_xml_version.h +3 -3
- data/ext/libxml/ruby_xml_writer.c +66 -23
- data/lib/1.8/libxml_ruby.so +0 -0
- data/lib/1.9/libxml_ruby.so +0 -0
- data/lib/2.0/libxml_ruby.so +0 -0
- data/lib/libxml/error.rb +10 -6
- data/test/tc_writer.rb +22 -1
- metadata +15 -18
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9f00d30d4338c5f2f9a8fe6c6949d1c665b377c8
|
4
|
+
data.tar.gz: 3af83672e51e8755109902a255a167f2b14f9875
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f7fc9a7e582ddd9799d8217f48935bb5178f7657c9c919325207e93c66a104895e504aa2bb206f173c6e5f1a00db8a175f2fd56e77b00fc564c118072386f5eb
|
7
|
+
data.tar.gz: b56080583500c323c68bba174306bfad997046e1e9645e82db972b228c5191c4b6b8c53b1075130cb7ef1232533223f3adfae97604c3ff8e5867eebe8943c0bd
|
data/HISTORY
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
= Release History
|
2
2
|
|
3
|
+
== 2.6.0 / 2013-02-16 Charlie Savage
|
4
|
+
|
5
|
+
* Fix uninitialized constant LibXML::XML::Error::I18N (NameError) that occurred
|
6
|
+
with older versions of libxml.
|
7
|
+
* Various updates/fixes to new XML::Writer class and update how flushing works (julp)
|
8
|
+
|
3
9
|
== 2.5.0 / 2013-01-27 Charlie Savage
|
4
10
|
|
5
11
|
* Compatibility with older versions for IO::write (rb_io_bufwrite is specific to ruby >= 1.9.3?)
|
@@ -13,6 +13,7 @@ VALUE rxml_new_cstr_len(const char* xstr, const int length, const char* xencodin
|
|
13
13
|
|
14
14
|
#ifdef HAVE_RUBY_ENCODING_H
|
15
15
|
rb_encoding* rxml_xml_encoding_to_rb_encoding(VALUE klass, xmlCharEncoding xmlEncoding);
|
16
|
+
rb_encoding* rxml_figure_encoding(const char* xencoding);
|
16
17
|
#endif
|
17
18
|
|
18
19
|
#endif
|
@@ -1,9 +1,9 @@
|
|
1
1
|
/* Don't nuke this block! It is used for automatically updating the
|
2
2
|
* versions below. VERSION = string formatting, VERNUM = numbered
|
3
3
|
* version for inline testing: increment both or none at all.*/
|
4
|
-
#define RUBY_LIBXML_VERSION "2.
|
5
|
-
#define RUBY_LIBXML_VERNUM
|
4
|
+
#define RUBY_LIBXML_VERSION "2.6.0"
|
5
|
+
#define RUBY_LIBXML_VERNUM 260
|
6
6
|
#define RUBY_LIBXML_VER_MAJ 2
|
7
|
-
#define RUBY_LIBXML_VER_MIN
|
7
|
+
#define RUBY_LIBXML_VER_MIN 6
|
8
8
|
#define RUBY_LIBXML_VER_MIC 0
|
9
9
|
#define RUBY_LIBXML_VER_PATCH 0
|
@@ -15,8 +15,6 @@
|
|
15
15
|
# include <libxml/xmlwriter.h>
|
16
16
|
|
17
17
|
# include "ruby_libxml.h"
|
18
|
-
# include "ruby_xml_io.h"
|
19
|
-
# include "ruby_xml_document.h"
|
20
18
|
# include "ruby_xml_writer.h"
|
21
19
|
|
22
20
|
VALUE cXMLWriter;
|
@@ -31,6 +29,9 @@ typedef enum {
|
|
31
29
|
|
32
30
|
typedef struct {
|
33
31
|
VALUE output;
|
32
|
+
# ifdef HAVE_RUBY_ENCODING_H
|
33
|
+
rb_encoding *encoding;
|
34
|
+
# endif /* HAVE_RUBY_ENCODING_H */
|
34
35
|
xmlBufferPtr buffer;
|
35
36
|
xmlTextWriterPtr writer;
|
36
37
|
rxmlw_output_type output_type;
|
@@ -122,6 +123,9 @@ xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char * name);
|
|
122
123
|
rwo = ALLOC(rxml_writer_object);
|
123
124
|
rwo->output = io;
|
124
125
|
rwo->buffer = NULL;
|
126
|
+
# ifdef HAVE_RUBY_ENCODING_H
|
127
|
+
rwo->encoding = NULL;
|
128
|
+
# endif /* HAVE_RUBY_ENCODING_H */
|
125
129
|
rwo->output_type = RXMLW_OUTPUT_IO;
|
126
130
|
if (NULL == (out = xmlOutputBufferCreateIO(rxml_write_callback, NULL, (void *) io, NULL))) {
|
127
131
|
rxml_raise(&xmlLastError);
|
@@ -147,6 +151,9 @@ static VALUE rxml_writer_file(VALUE klass, VALUE filename)
|
|
147
151
|
rwo = ALLOC(rxml_writer_object);
|
148
152
|
rwo->output = Qnil;
|
149
153
|
rwo->buffer = NULL;
|
154
|
+
# ifdef HAVE_RUBY_ENCODING_H
|
155
|
+
rwo->encoding = NULL;
|
156
|
+
# endif /* HAVE_RUBY_ENCODING_H */
|
150
157
|
rwo->output_type = RXMLW_OUTPUT_NONE;
|
151
158
|
if (NULL == (rwo->writer = xmlNewTextWriterFilename(StringValueCStr(filename), 0))) {
|
152
159
|
rxml_raise(&xmlLastError);
|
@@ -166,6 +173,9 @@ static VALUE rxml_writer_string(VALUE klass)
|
|
166
173
|
|
167
174
|
rwo = ALLOC(rxml_writer_object);
|
168
175
|
rwo->output = Qnil;
|
176
|
+
# ifdef HAVE_RUBY_ENCODING_H
|
177
|
+
rwo->encoding = NULL;
|
178
|
+
# endif /* HAVE_RUBY_ENCODING_H */
|
169
179
|
rwo->output_type = RXMLW_OUTPUT_STRING;
|
170
180
|
if (NULL == (rwo->buffer = xmlBufferCreate())) {
|
171
181
|
rxml_raise(&xmlLastError);
|
@@ -191,6 +201,9 @@ static VALUE rxml_writer_doc(VALUE klass)
|
|
191
201
|
rwo = ALLOC(rxml_writer_object);
|
192
202
|
rwo->buffer = NULL;
|
193
203
|
rwo->output = Qnil;
|
204
|
+
# ifdef HAVE_RUBY_ENCODING_H
|
205
|
+
rwo->encoding = NULL;
|
206
|
+
# endif /* HAVE_RUBY_ENCODING_H */
|
194
207
|
rwo->output_type = RXMLW_OUTPUT_DOC;
|
195
208
|
if (NULL == (rwo->writer = xmlNewTextWriterDoc(&doc, 0))) {
|
196
209
|
rxml_raise(&xmlLastError);
|
@@ -203,19 +216,41 @@ static VALUE rxml_writer_doc(VALUE klass)
|
|
203
216
|
/* ===== public instance methods ===== */
|
204
217
|
|
205
218
|
/* call-seq:
|
206
|
-
* writer.flush -> (
|
219
|
+
* writer.flush(empty? = true) -> (num|string)
|
207
220
|
*
|
208
|
-
* Flushes the output buffer.
|
221
|
+
* Flushes the output buffer. Returns the number of written bytes or
|
222
|
+
* the current content of the internal buffer for a in memory XML::Writer.
|
223
|
+
* If +empty?+ is +true+, and for a in memory XML::Writer, this internel
|
224
|
+
* buffer is empty.
|
209
225
|
*/
|
210
|
-
static VALUE rxml_writer_flush(VALUE self)
|
226
|
+
static VALUE rxml_writer_flush(int argc, VALUE *argv, VALUE self)
|
211
227
|
{
|
212
228
|
int ret;
|
229
|
+
VALUE empty;
|
213
230
|
rxml_writer_object *rwo;
|
214
231
|
|
232
|
+
rb_scan_args(argc, argv, "01", &empty);
|
233
|
+
|
215
234
|
rwo = rxml_textwriter_get(self);
|
216
|
-
ret = xmlTextWriterFlush(rwo->writer)
|
235
|
+
if (-1 == (ret = xmlTextWriterFlush(rwo->writer))) {
|
236
|
+
rxml_raise(&xmlLastError);
|
237
|
+
}
|
238
|
+
if (NULL != rwo->buffer) {
|
239
|
+
VALUE content;
|
217
240
|
|
218
|
-
|
241
|
+
# ifdef HAVE_RUBY_ENCODING_H
|
242
|
+
content = rb_external_str_new_with_enc(rwo->buffer->content, rwo->buffer->use, rwo->encoding);
|
243
|
+
# else
|
244
|
+
content = rb_str_new(rwo->buffer->content, rwo->buffer->use);
|
245
|
+
# endif /* HAVE_RUBY_ENCODING_H */
|
246
|
+
if (NIL_P(empty) || RTEST(empty)) { /* nil = default value = true */
|
247
|
+
xmlBufferEmpty(rwo->buffer);
|
248
|
+
}
|
249
|
+
|
250
|
+
return content;
|
251
|
+
} else {
|
252
|
+
return INT2NUM(ret);
|
253
|
+
}
|
219
254
|
}
|
220
255
|
|
221
256
|
/* call-seq:
|
@@ -232,6 +267,9 @@ static VALUE rxml_writer_result(VALUE self)
|
|
232
267
|
|
233
268
|
ret = Qnil;
|
234
269
|
rwo = rxml_textwriter_get(self);
|
270
|
+
if (-1 == (ret = xmlTextWriterFlush(rwo->writer))) {
|
271
|
+
rxml_raise(&xmlLastError);
|
272
|
+
}
|
235
273
|
switch (rwo->output_type) {
|
236
274
|
case RXMLW_OUTPUT_DOC:
|
237
275
|
ret = rwo->output;
|
@@ -264,7 +302,7 @@ static VALUE numeric_rxml_writer_void(VALUE obj, int (*fn)(xmlTextWriterPtr))
|
|
264
302
|
}
|
265
303
|
|
266
304
|
# define numeric_rxml_writer_string(/*VALUE*/ obj, /*VALUE*/ name_or_content, /*int (**/fn/*)(xmlTextWriterPtr, const xmlChar *)*/) \
|
267
|
-
numeric_rxml_writer_va_strings(obj,
|
305
|
+
numeric_rxml_writer_va_strings(obj, Qundef, 1, fn, name_or_content)
|
268
306
|
|
269
307
|
/**
|
270
308
|
* This is quite ugly but thanks to libxml2 coding style, all xmlTextWriter*
|
@@ -304,7 +342,7 @@ static VALUE numeric_rxml_writer_va_strings(VALUE obj, VALUE pe, size_t strings_
|
|
304
342
|
}
|
305
343
|
va_end(ap);
|
306
344
|
|
307
|
-
if (
|
345
|
+
if (Qundef == pe) {
|
308
346
|
switch (strings_count) {
|
309
347
|
case 0:
|
310
348
|
ret = fn(rwo->writer);
|
@@ -449,7 +487,7 @@ static VALUE rxml_writer_write_element(int argc, VALUE *argv, VALUE self)
|
|
449
487
|
}
|
450
488
|
return rxml_writer_end_element(self);
|
451
489
|
} else {
|
452
|
-
return numeric_rxml_writer_va_strings(self,
|
490
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWriteElement, name, content);
|
453
491
|
}
|
454
492
|
}
|
455
493
|
|
@@ -483,7 +521,7 @@ static VALUE rxml_writer_write_element_ns(int argc, VALUE *argv, VALUE self)
|
|
483
521
|
}
|
484
522
|
return rxml_writer_end_element(self);
|
485
523
|
} else {
|
486
|
-
return numeric_rxml_writer_va_strings(self,
|
524
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 4, xmlTextWriterWriteElementNS, prefix, name, namespaceURI, content);
|
487
525
|
}
|
488
526
|
}
|
489
527
|
|
@@ -495,7 +533,7 @@ static VALUE rxml_writer_write_element_ns(int argc, VALUE *argv, VALUE self)
|
|
495
533
|
*/
|
496
534
|
static VALUE rxml_writer_write_attribute(VALUE self, VALUE name, VALUE content)
|
497
535
|
{
|
498
|
-
return numeric_rxml_writer_va_strings(self,
|
536
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWriteAttribute, name, content);
|
499
537
|
}
|
500
538
|
|
501
539
|
/* call-seq:
|
@@ -518,7 +556,7 @@ static VALUE rxml_writer_write_attribute_ns(int argc, VALUE *argv, VALUE self)
|
|
518
556
|
|
519
557
|
rb_scan_args(argc, argv, "22", &prefix, &name, &namespaceURI, &content);
|
520
558
|
|
521
|
-
return numeric_rxml_writer_va_strings(self,
|
559
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 4, xmlTextWriterWriteAttributeNS, prefix, name, namespaceURI, content);
|
522
560
|
}
|
523
561
|
|
524
562
|
/* call-seq:
|
@@ -529,7 +567,7 @@ static VALUE rxml_writer_write_attribute_ns(int argc, VALUE *argv, VALUE self)
|
|
529
567
|
*/
|
530
568
|
static VALUE rxml_writer_write_pi(VALUE self, VALUE target, VALUE content)
|
531
569
|
{
|
532
|
-
return numeric_rxml_writer_va_strings(self,
|
570
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWritePI, target, content);
|
533
571
|
}
|
534
572
|
|
535
573
|
/* ===== public start/end interface ===== */
|
@@ -584,7 +622,7 @@ static VALUE rxml_writer_start_attribute_ns(int argc, VALUE *argv, VALUE self)
|
|
584
622
|
|
585
623
|
rb_scan_args(argc, argv, "21", &prefix, &name, &namespaceURI);
|
586
624
|
|
587
|
-
return numeric_rxml_writer_va_strings(self,
|
625
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterStartAttributeNS, prefix, name, namespaceURI);
|
588
626
|
}
|
589
627
|
|
590
628
|
/* call-seq:
|
@@ -647,7 +685,7 @@ static VALUE rxml_writer_start_element_ns(int argc, VALUE *argv, VALUE self)
|
|
647
685
|
|
648
686
|
rb_scan_args(argc, argv, "21", &prefix, &name, &namespaceURI);
|
649
687
|
|
650
|
-
return numeric_rxml_writer_va_strings(self,
|
688
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterStartElementNS, prefix, name, namespaceURI);
|
651
689
|
}
|
652
690
|
|
653
691
|
/* call-seq:
|
@@ -731,6 +769,9 @@ static VALUE rxml_writer_start_document(int argc, VALUE *argv, VALUE self)
|
|
731
769
|
}
|
732
770
|
}
|
733
771
|
rwo = rxml_textwriter_get(self);
|
772
|
+
# ifdef HAVE_RUBY_ENCODING_H
|
773
|
+
rwo->encoding = rxml_figure_encoding(xencoding);
|
774
|
+
# endif /* !HAVE_RUBY_ENCODING_H */
|
734
775
|
ret = xmlTextWriterStartDocument(rwo->writer, NULL, xencoding, xstandalone);
|
735
776
|
|
736
777
|
return (-1 == ret ? Qfalse : Qtrue);
|
@@ -777,7 +818,7 @@ static VALUE rxml_writer_start_dtd(int argc, VALUE *argv, VALUE self)
|
|
777
818
|
|
778
819
|
rb_scan_args(argc, argv, "12", &name, &pubid, &sysid);
|
779
820
|
|
780
|
-
return numeric_rxml_writer_va_strings(self,
|
821
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterStartDTD, name, pubid, sysid);
|
781
822
|
}
|
782
823
|
|
783
824
|
/* call-seq:
|
@@ -882,7 +923,7 @@ static VALUE rxml_writer_write_dtd(int argc, VALUE *argv, VALUE self)
|
|
882
923
|
|
883
924
|
rb_scan_args(argc, argv, "13", &name, &pubid, &sysid, &subset);
|
884
925
|
|
885
|
-
return numeric_rxml_writer_va_strings(self,
|
926
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 4, xmlTextWriterWriteDTD, name, pubid, sysid, subset);
|
886
927
|
}
|
887
928
|
|
888
929
|
/* call-seq:
|
@@ -894,7 +935,7 @@ static VALUE rxml_writer_write_dtd(int argc, VALUE *argv, VALUE self)
|
|
894
935
|
*/
|
895
936
|
static VALUE rxml_writer_write_dtd_attlist(VALUE self, VALUE name, VALUE content)
|
896
937
|
{
|
897
|
-
return numeric_rxml_writer_va_strings(self,
|
938
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWriteDTDAttlist, name, content);
|
898
939
|
}
|
899
940
|
|
900
941
|
/* call-seq:
|
@@ -906,7 +947,7 @@ static VALUE rxml_writer_write_dtd_attlist(VALUE self, VALUE name, VALUE content
|
|
906
947
|
*/
|
907
948
|
static VALUE rxml_writer_write_dtd_element(VALUE self, VALUE name, VALUE content)
|
908
949
|
{
|
909
|
-
return numeric_rxml_writer_va_strings(self,
|
950
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWriteDTDElement, name, content);
|
910
951
|
}
|
911
952
|
|
912
953
|
/* call-seq:
|
@@ -943,7 +984,7 @@ static VALUE rxml_writer_write_dtd_external_entity(VALUE self, VALUE name, VALUE
|
|
943
984
|
*/
|
944
985
|
static VALUE rxml_writer_write_dtd_external_entity_contents(VALUE self, VALUE pubid, VALUE sysid, VALUE ndataid)
|
945
986
|
{
|
946
|
-
return numeric_rxml_writer_va_strings(self,
|
987
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterWriteDTDExternalEntityContents, pubid, sysid, ndataid);
|
947
988
|
}
|
948
989
|
|
949
990
|
/* call-seq:
|
@@ -969,7 +1010,7 @@ static VALUE rxml_writer_write_dtd_internal_entity(VALUE self, VALUE name, VALUE
|
|
969
1010
|
*/
|
970
1011
|
static VALUE rxml_writer_write_dtd_notation(VALUE self, VALUE name, VALUE pubid, VALUE sysid)
|
971
1012
|
{
|
972
|
-
return numeric_rxml_writer_va_strings(self,
|
1013
|
+
return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterWriteDTDNotation, name, pubid, sysid);
|
973
1014
|
}
|
974
1015
|
|
975
1016
|
# if LIBXML_VERSION >= 20900
|
@@ -1017,7 +1058,7 @@ void rxml_init_writer(void)
|
|
1017
1058
|
# if LIBXML_VERSION >= 20900
|
1018
1059
|
rb_define_method(cXMLWriter, "set_quote_char", rxml_writer_set_quote_char, 1);
|
1019
1060
|
# endif /* LIBXML_VERSION >= 20900 */
|
1020
|
-
rb_define_method(cXMLWriter, "flush", rxml_writer_flush,
|
1061
|
+
rb_define_method(cXMLWriter, "flush", rxml_writer_flush, -1);
|
1021
1062
|
rb_define_method(cXMLWriter, "start_dtd", rxml_writer_start_dtd, -1);
|
1022
1063
|
rb_define_method(cXMLWriter, "start_dtd_entity", rxml_writer_start_dtd_entity, -1);
|
1023
1064
|
rb_define_method(cXMLWriter, "start_dtd_attlist", rxml_writer_start_dtd_attlist, 1);
|
@@ -1067,6 +1108,8 @@ void rxml_init_writer(void)
|
|
1067
1108
|
rb_define_method(cXMLWriter, "write_pi", rxml_writer_write_pi, 2);
|
1068
1109
|
|
1069
1110
|
rb_define_method(cXMLWriter, "result", rxml_writer_result, 0);
|
1111
|
+
|
1112
|
+
rb_undef_method(CLASS_OF(cXMLWriter), "new");
|
1070
1113
|
}
|
1071
1114
|
|
1072
1115
|
#endif /* LIBXML_WRITER_ENABLED */
|
data/lib/1.8/libxml_ruby.so
CHANGED
Binary file
|
data/lib/1.9/libxml_ruby.so
CHANGED
Binary file
|
data/lib/2.0/libxml_ruby.so
CHANGED
Binary file
|
data/lib/libxml/error.rb
CHANGED
@@ -3,20 +3,24 @@
|
|
3
3
|
module LibXML
|
4
4
|
module XML
|
5
5
|
class Error
|
6
|
-
|
7
|
-
DOMAIN_CODE_MAP =
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
# Create mapping from domain constant value to keys
|
7
|
+
DOMAIN_CODE_MAP = [:NO_ERROR, :PARSER, :TREE, :NAMESPACE, :DTD, :HTML, :MEMORY,
|
8
|
+
:OUTPUT, :IO, :FTP, :HTTP, :XINCLUDE, :XPATH, :XPOINTER, :REGEXP,
|
9
|
+
:DATATYPE, :SCHEMASP, :SCHEMASV, :RELAXNGP, :RELAXNGV, :CATALOG,
|
10
|
+
:C14N, :XSLT, :VALID, :CHECK, :WRITER, :MODULE, :I18N, :SCHEMATRONV].inject(Hash.new) do |hash, code|
|
11
|
+
if const_defined?(code)
|
12
|
+
hash[const_get(code)] = code.to_s
|
11
13
|
end
|
14
|
+
hash
|
12
15
|
end
|
13
16
|
|
17
|
+
# Create mapping from domain constant value to keys
|
14
18
|
ERROR_CODE_MAP = Hash.new.tap do |map|
|
15
19
|
(constants -
|
16
20
|
DOMAIN_CODE_MAP.values - #Domains
|
17
21
|
[:NONE, :WARNING, :ERROR, :FATAL] # Levels
|
18
22
|
).each do |code|
|
19
|
-
map[const_get(code)] = code.to_s
|
23
|
+
map[const_get(code)] = code.to_s
|
20
24
|
end
|
21
25
|
end
|
22
26
|
|
data/test/tc_writer.rb
CHANGED
@@ -404,6 +404,28 @@ class TestWriter < Test::Unit::TestCase
|
|
404
404
|
end
|
405
405
|
end
|
406
406
|
|
407
|
+
def test_flush
|
408
|
+
writer = XML::Writer.string
|
409
|
+
assert(writer.start_document)
|
410
|
+
assert_equal(writer.flush.strip!, '<?xml version="1.0"?>')
|
411
|
+
assert(writer.start_element 'foo')
|
412
|
+
assert(writer.end_element)
|
413
|
+
assert(writer.end_document)
|
414
|
+
writer.flush false
|
415
|
+
assert_equal(writer.result.strip, '<foo/>')
|
416
|
+
end
|
417
|
+
|
418
|
+
def test_nil_pe_issue
|
419
|
+
expected = '<!DOCTYPE html [<!ENTITY special.pre "br | span | bdo | map"><!ENTITY special "%special.pre; | object | img">]>'
|
420
|
+
|
421
|
+
writer = XML::Writer.string
|
422
|
+
dtd writer, 'html' do
|
423
|
+
assert(writer.write_dtd_internal_entity 'special.pre', 'br | span | bdo | map', nil)
|
424
|
+
assert(writer.write_dtd_internal_entity 'special', '%special.pre; | object | img', nil)
|
425
|
+
end
|
426
|
+
assert_equal(writer.result, expected)
|
427
|
+
end
|
428
|
+
|
407
429
|
private
|
408
430
|
|
409
431
|
def document(writer, options = {})
|
@@ -416,7 +438,6 @@ class TestWriter < Test::Unit::TestCase
|
|
416
438
|
assert(writer.start_dtd name, pubid, sysid)
|
417
439
|
yield if block_given?
|
418
440
|
assert(writer.end_dtd)
|
419
|
-
writer.flush
|
420
441
|
end
|
421
442
|
|
422
443
|
def element(writer, localname)
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libxml-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
5
|
-
prerelease:
|
4
|
+
version: 2.6.0
|
6
5
|
platform: x86-mingw32
|
7
6
|
authors:
|
8
7
|
- Ross Bamform
|
@@ -15,29 +14,28 @@ authors:
|
|
15
14
|
autorequire:
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
|
-
date: 2013-
|
17
|
+
date: 2013-02-16 00:00:00.000000000 Z
|
19
18
|
dependencies:
|
20
19
|
- !ruby/object:Gem::Dependency
|
21
20
|
name: hanna_guado
|
22
21
|
requirement: !ruby/object:Gem::Requirement
|
23
|
-
none: false
|
24
22
|
requirements:
|
25
|
-
- -
|
23
|
+
- - ">="
|
26
24
|
- !ruby/object:Gem::Version
|
27
25
|
version: '0'
|
28
26
|
type: :development
|
29
27
|
prerelease: false
|
30
28
|
version_requirements: !ruby/object:Gem::Requirement
|
31
|
-
none: false
|
32
29
|
requirements:
|
33
|
-
- -
|
30
|
+
- - ">="
|
34
31
|
- !ruby/object:Gem::Version
|
35
32
|
version: '0'
|
36
|
-
description:
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
33
|
+
description: |2
|
34
|
+
The Libxml-Ruby project provides Ruby language bindings for the GNOME
|
35
|
+
Libxml2 XML toolkit. It is free software, released under the MIT License.
|
36
|
+
Libxml-ruby's primary advantage over REXML is performance - if speed
|
37
|
+
is your need, these are good libraries to consider, as demonstrated
|
38
|
+
by the informal benchmark below.
|
41
39
|
email:
|
42
40
|
executables: []
|
43
41
|
extensions: []
|
@@ -265,27 +263,26 @@ files:
|
|
265
263
|
- lib/libs/libz.dll
|
266
264
|
homepage: http://xml4r.github.com/libxml-ruby
|
267
265
|
licenses: []
|
266
|
+
metadata: {}
|
268
267
|
post_install_message:
|
269
268
|
rdoc_options: []
|
270
269
|
require_paths:
|
271
270
|
- lib
|
272
271
|
required_ruby_version: !ruby/object:Gem::Requirement
|
273
|
-
none: false
|
274
272
|
requirements:
|
275
|
-
- -
|
273
|
+
- - ">="
|
276
274
|
- !ruby/object:Gem::Version
|
277
275
|
version: 1.8.6
|
278
276
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
279
|
-
none: false
|
280
277
|
requirements:
|
281
|
-
- -
|
278
|
+
- - ">="
|
282
279
|
- !ruby/object:Gem::Version
|
283
280
|
version: '0'
|
284
281
|
requirements: []
|
285
282
|
rubyforge_project:
|
286
|
-
rubygems_version:
|
283
|
+
rubygems_version: 2.0.0.rc.2
|
287
284
|
signing_key:
|
288
|
-
specification_version:
|
285
|
+
specification_version: 4
|
289
286
|
summary: Ruby Bindings for LibXML2
|
290
287
|
test_files:
|
291
288
|
- test/tc_attr.rb
|