libxml-ruby 4.1.2-x64-mingw-ucrt → 5.0.1-x64-mingw-ucrt
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 +17 -0
- data/README.rdoc +7 -16
- data/ext/libxml/ruby_libxml.h +43 -44
- data/ext/libxml/ruby_xml.c +0 -343
- data/ext/libxml/ruby_xml.h +9 -10
- data/ext/libxml/ruby_xml_attributes.h +2 -0
- data/ext/libxml/ruby_xml_document.c +6 -6
- data/ext/libxml/ruby_xml_document.h +11 -11
- data/ext/libxml/ruby_xml_dtd.c +85 -79
- data/ext/libxml/ruby_xml_encoding.h +20 -18
- data/ext/libxml/ruby_xml_error.c +9 -6
- data/ext/libxml/ruby_xml_error.h +2 -2
- data/ext/libxml/ruby_xml_html_parser_context.c +35 -21
- data/ext/libxml/ruby_xml_namespace.c +0 -3
- data/ext/libxml/ruby_xml_node.c +1394 -1398
- data/ext/libxml/ruby_xml_parser.h +1 -1
- data/ext/libxml/ruby_xml_parser_context.c +47 -39
- data/ext/libxml/ruby_xml_parser_options.c +9 -1
- data/ext/libxml/ruby_xml_parser_options.h +1 -1
- data/ext/libxml/ruby_xml_reader.c +15 -16
- data/ext/libxml/ruby_xml_sax2_handler.c +1 -1
- data/ext/libxml/ruby_xml_sax_parser.c +1 -9
- data/ext/libxml/ruby_xml_schema.c +4 -4
- data/ext/libxml/ruby_xml_version.h +5 -5
- data/ext/libxml/ruby_xml_writer.c +8 -8
- data/ext/libxml/ruby_xml_xpath.c +1 -1
- data/ext/libxml/ruby_xml_xpath_context.c +2 -2
- data/ext/libxml/ruby_xml_xpath_expression.c +1 -1
- data/lib/3.2/libxml_ruby.so +0 -0
- data/lib/3.3/libxml_ruby.so +0 -0
- data/lib/libxml/document.rb +15 -15
- data/lib/libxml/html_parser.rb +23 -23
- data/lib/libxml/parser.rb +26 -24
- data/test/test.rb +5 -0
- data/test/test_document.rb +8 -0
- data/test/test_document_write.rb +1 -4
- data/test/test_dtd.rb +5 -8
- data/test/test_encoding.rb +1 -4
- data/test/test_helper.rb +9 -2
- data/test/test_html_parser.rb +162 -162
- data/test/test_namespace.rb +1 -3
- data/test/test_node.rb +1 -3
- data/test/test_node_write.rb +1 -4
- data/test/test_parser.rb +26 -17
- data/test/test_reader.rb +4 -4
- data/test/test_sax_parser.rb +1 -1
- data/test/test_xml.rb +0 -99
- metadata +5 -3
- data/lib/3.1/libxml_ruby.so +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7d18cd1b2da9ad060e5f82304c15c84d693234be8d51027e7070e8462687c60
|
4
|
+
data.tar.gz: c7a0f7748c84bccdb11601fbd26934c1c26d5bdedfaa983908b9c796d559f472
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 71b4750282d6ae545c0f72a478cc0c9ad9d29e00934934aa1693b8e6890610ef48ce50e644f0dc2a9ff56dddee99ce991cb58e582bdca70e8cb613f28c629747
|
7
|
+
data.tar.gz: 3e967314278f64210a29f45cefae3ba7b2c139e3121b803cdbc6b1abd8d8831f7e65db184cd25708b6bf0e70d242e2a0dbe1dab6ac603ff5cfa5eaac1ed3f24f
|
data/HISTORY
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
= Release History
|
2
2
|
|
3
|
+
== 5.0.1 / 2024-01-08
|
4
|
+
|
5
|
+
* Fix broken Document#io method that was broken by switching Parsers to use keyword arguments
|
6
|
+
|
7
|
+
== 5.0.0 / 2024-01-07
|
8
|
+
|
9
|
+
* This release is major version bump because it removes access to global parser options
|
10
|
+
that libxml2 version 2.12.0 deprecated (see https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.0)
|
11
|
+
In the unlikely event your code uses these options, then you will need to update it.
|
12
|
+
Specifically, instead of setting global parser options, pass them directly to either Parsers
|
13
|
+
or ParserContexts when creating them. Options are defined as constants in
|
14
|
+
LibXML::XML::Parser::Options and LibXML::HTML::Parser::Options
|
15
|
+
* Update Parser initialize methods to take keyword parameters instead of a hash table (you may have to update your code due to this change)
|
16
|
+
* Fix broken compilation with libxml2 version 2.12.0 (due to libxml2 header changes)
|
17
|
+
* Add support for Ruby 3.3.*
|
18
|
+
* Remove support for Ruby 2.7.* (gem should still work but is no longer tested)
|
19
|
+
|
3
20
|
== 4.1.2 / 2023-11-04
|
4
21
|
|
5
22
|
* Fix Ruby warnings about undefined allocators (yuuji.yaginuma, Christopher Sahnwaldt)
|
data/README.rdoc
CHANGED
@@ -11,7 +11,7 @@ We think libxml-ruby is the best XML library for Ruby because:
|
|
11
11
|
* Conformance - It passes all 1800+ tests from the OASIS XML Tests Suite
|
12
12
|
|
13
13
|
== Requirements
|
14
|
-
libxml-ruby requires Ruby
|
14
|
+
libxml-ruby requires Ruby 3.0.0 or higher. It depends on libxml2 to
|
15
15
|
function properly. libxml2, in turn, depends on:
|
16
16
|
|
17
17
|
* libm (math routines: very standard)
|
@@ -20,9 +20,9 @@ function properly. libxml2, in turn, depends on:
|
|
20
20
|
|
21
21
|
If you are running Linux or Unix you'll need a C compiler so the
|
22
22
|
extension can be compiled when it is installed. If you are running
|
23
|
-
Windows, then install the x64-
|
24
|
-
|
25
|
-
|
23
|
+
Windows, then install the x64-mingw-ucr gem or build it yourself using (Ruby
|
24
|
+
for Windows)[https://rubyinstaller.org/] or directly with msys2[https://msys2.github.io/]
|
25
|
+
and ucrt64.
|
26
26
|
|
27
27
|
== Installation
|
28
28
|
The easiest way to install libxml-ruby is via RubyGems. To install:
|
@@ -46,13 +46,9 @@ Or bundler:
|
|
46
46
|
<tt>bundle install libxml-ruby</tt>
|
47
47
|
|
48
48
|
If you are running Windows, then install the libxml-ruby-x64-mingw32 gem.
|
49
|
-
The gem includes prebuilt extensions for Ruby 2.3.
|
50
|
-
extensions are built using MinGW64 and libxml2 version 2.9.3,
|
51
|
-
iconv version 1.14 and zlib version 1.2.8. Note these binaries
|
52
|
-
are available in the <tt>lib\\libs</tt> directory. To use them, put them
|
53
|
-
on your <tt>PATH</tt>.
|
49
|
+
The gem includes prebuilt extensions for Ruby 3.2 and 3.3.
|
54
50
|
|
55
|
-
The gem also includes a Microsoft VC++
|
51
|
+
The gem also includes a Microsoft VC++ solution and XCode project - these
|
56
52
|
are very useful for debugging.
|
57
53
|
|
58
54
|
libxml-ruby's source codes lives on GitHub[https://github.com/xml4r/libxml-ruby].
|
@@ -128,11 +124,6 @@ For example:
|
|
128
124
|
|
129
125
|
For simplicity's sake, the documentation uses the xml module in its examples.
|
130
126
|
|
131
|
-
== Threading
|
132
|
-
libxml-ruby fully supports native, background Ruby threads. This of course
|
133
|
-
only applies to Ruby 1.9.x and higher since earlier versions of Ruby do not
|
134
|
-
support native threads.
|
135
|
-
|
136
127
|
== Tests
|
137
128
|
|
138
129
|
To run tests you first need to build the shared libary:
|
@@ -143,7 +134,7 @@ Once you have build the shared libary, you can then run tests using rake:
|
|
143
134
|
|
144
135
|
rake test
|
145
136
|
|
146
|
-
+
|
137
|
+
+Build status: {rdoc-image:https://github.com/xml4r/libxml-ruby/actions/workflows/mri.yml/badge.svg}[https://github.com/xml4r/libxml-ruby/actions/workflows/mri.yml]
|
147
138
|
|
148
139
|
== Performance
|
149
140
|
|
data/ext/libxml/ruby_libxml.h
CHANGED
@@ -1,44 +1,43 @@
|
|
1
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
2
|
-
|
3
|
-
#ifndef __RUBY_LIBXML_H__
|
4
|
-
#define __RUBY_LIBXML_H__
|
5
|
-
|
6
|
-
#include <ruby.h>
|
7
|
-
|
8
|
-
|
9
|
-
#include "
|
10
|
-
#include "
|
11
|
-
#include "
|
12
|
-
#include "
|
13
|
-
#include "
|
14
|
-
#include "
|
15
|
-
#include "
|
16
|
-
#include "
|
17
|
-
#include "
|
18
|
-
#include "
|
19
|
-
#include "
|
20
|
-
#include "
|
21
|
-
#include "
|
22
|
-
#include "
|
23
|
-
#include "
|
24
|
-
#include "
|
25
|
-
#include "
|
26
|
-
#include "
|
27
|
-
#include "
|
28
|
-
#include "
|
29
|
-
#include "
|
30
|
-
#include "
|
31
|
-
#include "
|
32
|
-
#include "
|
33
|
-
#include "
|
34
|
-
#include "
|
35
|
-
#include "
|
36
|
-
#include "
|
37
|
-
#include "
|
38
|
-
#include "
|
39
|
-
#include "
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
#endif
|
1
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
2
|
+
|
3
|
+
#ifndef __RUBY_LIBXML_H__
|
4
|
+
#define __RUBY_LIBXML_H__
|
5
|
+
|
6
|
+
#include <ruby.h>
|
7
|
+
|
8
|
+
#include "ruby_xml_version.h"
|
9
|
+
#include "ruby_xml.h"
|
10
|
+
#include "ruby_xml_io.h"
|
11
|
+
#include "ruby_xml_error.h"
|
12
|
+
#include "ruby_xml_encoding.h"
|
13
|
+
#include "ruby_xml_attributes.h"
|
14
|
+
#include "ruby_xml_attr.h"
|
15
|
+
#include "ruby_xml_attr_decl.h"
|
16
|
+
#include "ruby_xml_document.h"
|
17
|
+
#include "ruby_xml_node.h"
|
18
|
+
#include "ruby_xml_namespace.h"
|
19
|
+
#include "ruby_xml_namespaces.h"
|
20
|
+
#include "ruby_xml_parser.h"
|
21
|
+
#include "ruby_xml_parser_options.h"
|
22
|
+
#include "ruby_xml_parser_context.h"
|
23
|
+
#include "ruby_xml_html_parser.h"
|
24
|
+
#include "ruby_xml_html_parser_options.h"
|
25
|
+
#include "ruby_xml_html_parser_context.h"
|
26
|
+
#include "ruby_xml_reader.h"
|
27
|
+
#include "ruby_xml_writer.h"
|
28
|
+
#include "ruby_xml_sax2_handler.h"
|
29
|
+
#include "ruby_xml_sax_parser.h"
|
30
|
+
#include "ruby_xml_writer.h"
|
31
|
+
#include "ruby_xml_xinclude.h"
|
32
|
+
#include "ruby_xml_xpath.h"
|
33
|
+
#include "ruby_xml_xpath_expression.h"
|
34
|
+
#include "ruby_xml_xpath_context.h"
|
35
|
+
#include "ruby_xml_xpath_object.h"
|
36
|
+
#include "ruby_xml_input_cbg.h"
|
37
|
+
#include "ruby_xml_dtd.h"
|
38
|
+
#include "ruby_xml_schema.h"
|
39
|
+
#include "ruby_xml_relaxng.h"
|
40
|
+
|
41
|
+
extern VALUE mLibXML;
|
42
|
+
|
43
|
+
#endif
|
data/ext/libxml/ruby_xml.c
CHANGED
@@ -328,264 +328,6 @@ static VALUE rxml_enabled_zlib_q(VALUE klass)
|
|
328
328
|
#endif
|
329
329
|
}
|
330
330
|
|
331
|
-
/*
|
332
|
-
* call-seq:
|
333
|
-
* XML.debug_entities -> (true|false)
|
334
|
-
*
|
335
|
-
* Determine whether included-entity debugging is enabled.
|
336
|
-
* (Requires Libxml to be compiled with debugging support)
|
337
|
-
*/
|
338
|
-
static VALUE rxml_debug_entities_get(VALUE klass)
|
339
|
-
{
|
340
|
-
#ifdef LIBXML_DEBUG_ENABLED
|
341
|
-
if (xmlParserDebugEntities)
|
342
|
-
return(Qtrue);
|
343
|
-
else
|
344
|
-
return(Qfalse);
|
345
|
-
#else
|
346
|
-
rb_warn("libxml was compiled with debugging turned off");
|
347
|
-
return (Qfalse);
|
348
|
-
#endif
|
349
|
-
}
|
350
|
-
|
351
|
-
/*
|
352
|
-
* call-seq:
|
353
|
-
* XML.debug_entities = true|false
|
354
|
-
*
|
355
|
-
* Enable or disable included-entity debugging.
|
356
|
-
* (Requires Libxml to be compiled with debugging support)
|
357
|
-
*/
|
358
|
-
static VALUE rxml_debug_entities_set(VALUE klass, VALUE value)
|
359
|
-
{
|
360
|
-
#ifdef LIBXML_DEBUG_ENABLED
|
361
|
-
if (value == Qfalse)
|
362
|
-
{
|
363
|
-
xmlParserDebugEntities = 0;
|
364
|
-
return(Qfalse);
|
365
|
-
}
|
366
|
-
else
|
367
|
-
{
|
368
|
-
xmlParserDebugEntities = 1;
|
369
|
-
return(Qtrue);
|
370
|
-
}
|
371
|
-
#else
|
372
|
-
rb_warn("libxml was compiled with debugging turned off");
|
373
|
-
#endif
|
374
|
-
}
|
375
|
-
|
376
|
-
/*
|
377
|
-
* call-seq:
|
378
|
-
* XML.default_keep_blanks -> (true|false)
|
379
|
-
*
|
380
|
-
* Determine whether parsers retain whitespace by default.
|
381
|
-
*/
|
382
|
-
static VALUE rxml_default_keep_blanks_get(VALUE klass)
|
383
|
-
{
|
384
|
-
if (xmlKeepBlanksDefaultValue)
|
385
|
-
return (Qtrue);
|
386
|
-
else
|
387
|
-
return (Qfalse);
|
388
|
-
}
|
389
|
-
|
390
|
-
/*
|
391
|
-
* call-seq:
|
392
|
-
* XML.default_keep_blanks = true|false
|
393
|
-
*
|
394
|
-
* Controls whether parsers retain whitespace by default.
|
395
|
-
*/
|
396
|
-
static VALUE rxml_default_keep_blanks_set(VALUE klass, VALUE value)
|
397
|
-
{
|
398
|
-
if (value == Qfalse)
|
399
|
-
{
|
400
|
-
xmlKeepBlanksDefaultValue = 0;
|
401
|
-
return (Qfalse);
|
402
|
-
}
|
403
|
-
else if (value == Qtrue)
|
404
|
-
{
|
405
|
-
xmlKeepBlanksDefaultValue = 1;
|
406
|
-
return (Qtrue);
|
407
|
-
}
|
408
|
-
else
|
409
|
-
{
|
410
|
-
rb_raise(rb_eArgError, "Invalid argument, must be a boolean");
|
411
|
-
}
|
412
|
-
}
|
413
|
-
|
414
|
-
/*
|
415
|
-
* call-seq:
|
416
|
-
* XML.default_load_external_dtd -> (true|false)
|
417
|
-
*
|
418
|
-
* Determine whether parsers load external DTDs by default.
|
419
|
-
*/
|
420
|
-
static VALUE rxml_default_load_external_dtd_get(VALUE klass)
|
421
|
-
{
|
422
|
-
if (xmlLoadExtDtdDefaultValue)
|
423
|
-
return (Qtrue);
|
424
|
-
else
|
425
|
-
return (Qfalse);
|
426
|
-
}
|
427
|
-
|
428
|
-
/*
|
429
|
-
* call-seq:
|
430
|
-
* XML.default_load_external_dtd = true|false
|
431
|
-
*
|
432
|
-
* Controls whether parsers load external DTDs by default.
|
433
|
-
*/
|
434
|
-
static VALUE rxml_default_load_external_dtd_set(VALUE klass, VALUE value)
|
435
|
-
{
|
436
|
-
if (value == Qfalse)
|
437
|
-
{
|
438
|
-
xmlLoadExtDtdDefaultValue = 0;
|
439
|
-
return (Qfalse);
|
440
|
-
}
|
441
|
-
else
|
442
|
-
{
|
443
|
-
xmlLoadExtDtdDefaultValue = 1;
|
444
|
-
return (Qtrue);
|
445
|
-
}
|
446
|
-
}
|
447
|
-
|
448
|
-
/*
|
449
|
-
* call-seq:
|
450
|
-
* XML.default_line_numbers -> (true|false)
|
451
|
-
*
|
452
|
-
* Determine whether parsers retain line-numbers by default.
|
453
|
-
*/
|
454
|
-
static VALUE rxml_default_line_numbers_get(VALUE klass)
|
455
|
-
{
|
456
|
-
if (xmlLineNumbersDefaultValue)
|
457
|
-
return (Qtrue);
|
458
|
-
else
|
459
|
-
return (Qfalse);
|
460
|
-
}
|
461
|
-
|
462
|
-
/*
|
463
|
-
* call-seq:
|
464
|
-
* XML.default_line_numbers = true|false
|
465
|
-
*
|
466
|
-
* Controls whether parsers retain line-numbers by default.
|
467
|
-
*/
|
468
|
-
static VALUE rxml_default_line_numbers_set(VALUE klass, VALUE value)
|
469
|
-
{
|
470
|
-
if (value == Qfalse)
|
471
|
-
{
|
472
|
-
xmlLineNumbersDefault(0);
|
473
|
-
return (Qfalse);
|
474
|
-
}
|
475
|
-
else
|
476
|
-
{
|
477
|
-
xmlLineNumbersDefault(1);
|
478
|
-
return (Qtrue);
|
479
|
-
}
|
480
|
-
}
|
481
|
-
|
482
|
-
int rxml_libxml_default_options(void)
|
483
|
-
{
|
484
|
-
int options = 0;
|
485
|
-
|
486
|
-
if (xmlLoadExtDtdDefaultValue)
|
487
|
-
options |= XML_PARSE_DTDLOAD;
|
488
|
-
|
489
|
-
if (xmlDoValidityCheckingDefaultValue)
|
490
|
-
options |= XML_PARSE_DTDVALID;
|
491
|
-
|
492
|
-
if (!xmlKeepBlanksDefaultValue)
|
493
|
-
options |= XML_PARSE_NOBLANKS;
|
494
|
-
|
495
|
-
if (xmlSubstituteEntitiesDefaultValue)
|
496
|
-
options |= XML_PARSE_NOENT;
|
497
|
-
|
498
|
-
if (!xmlGetWarningsDefaultValue)
|
499
|
-
options |= XML_PARSE_NOWARNING;
|
500
|
-
|
501
|
-
if (xmlPedanticParserDefaultValue)
|
502
|
-
options |= XML_PARSE_PEDANTIC;
|
503
|
-
|
504
|
-
return options;
|
505
|
-
}
|
506
|
-
|
507
|
-
/*
|
508
|
-
* call-seq:
|
509
|
-
* XML.default_options -> int
|
510
|
-
*
|
511
|
-
* Returns an integer that summarize libxml2's default options.
|
512
|
-
*/
|
513
|
-
static VALUE rxml_default_options_get(VALUE klass)
|
514
|
-
{
|
515
|
-
int options = rxml_libxml_default_options();
|
516
|
-
return INT2NUM(options);
|
517
|
-
}
|
518
|
-
|
519
|
-
/*
|
520
|
-
* call-seq:
|
521
|
-
* XML.default_pedantic_parser -> (true|false)
|
522
|
-
*
|
523
|
-
* Determine whether parsers are pedantic by default.
|
524
|
-
*/
|
525
|
-
static VALUE rxml_default_pedantic_parser_get(VALUE klass)
|
526
|
-
{
|
527
|
-
if (xmlPedanticParserDefaultValue)
|
528
|
-
return (Qtrue);
|
529
|
-
else
|
530
|
-
return (Qfalse);
|
531
|
-
}
|
532
|
-
|
533
|
-
/*
|
534
|
-
* call-seq:
|
535
|
-
* XML.default_pedantic_parser = true|false
|
536
|
-
*
|
537
|
-
* Controls whether parsers are pedantic by default.
|
538
|
-
*/
|
539
|
-
static VALUE rxml_default_pedantic_parser_set(VALUE klass, VALUE value)
|
540
|
-
{
|
541
|
-
if (value == Qfalse)
|
542
|
-
{
|
543
|
-
xmlPedanticParserDefault(0);
|
544
|
-
return (Qfalse);
|
545
|
-
}
|
546
|
-
else
|
547
|
-
{
|
548
|
-
xmlPedanticParserDefault(1);
|
549
|
-
return (Qtrue);
|
550
|
-
}
|
551
|
-
}
|
552
|
-
|
553
|
-
/*
|
554
|
-
* call-seq:
|
555
|
-
* XML.default_substitute_entities -> (true|false)
|
556
|
-
*
|
557
|
-
* Determine whether parsers perform inline entity substitution
|
558
|
-
* (for external entities) by default.
|
559
|
-
*/
|
560
|
-
static VALUE rxml_default_substitute_entities_get(VALUE klass)
|
561
|
-
{
|
562
|
-
if (xmlSubstituteEntitiesDefaultValue)
|
563
|
-
return (Qtrue);
|
564
|
-
else
|
565
|
-
return (Qfalse);
|
566
|
-
}
|
567
|
-
|
568
|
-
/*
|
569
|
-
* call-seq:
|
570
|
-
* XML.default_substitute_entities = true|false
|
571
|
-
*
|
572
|
-
* Controls whether parsers perform inline entity substitution
|
573
|
-
* (for external entities) by default.
|
574
|
-
*/
|
575
|
-
static VALUE rxml_default_substitute_entities_set(VALUE klass, VALUE value)
|
576
|
-
{
|
577
|
-
if (value == Qfalse)
|
578
|
-
{
|
579
|
-
xmlSubstituteEntitiesDefault(0);
|
580
|
-
return (Qfalse);
|
581
|
-
}
|
582
|
-
else
|
583
|
-
{
|
584
|
-
xmlSubstituteEntitiesDefault(1);
|
585
|
-
return (Qtrue);
|
586
|
-
}
|
587
|
-
}
|
588
|
-
|
589
331
|
/*
|
590
332
|
* call-seq:
|
591
333
|
* XML.default_tree_indent_string -> "string"
|
@@ -615,74 +357,6 @@ static VALUE rxml_default_tree_indent_string_set(VALUE klass, VALUE string)
|
|
615
357
|
return (string);
|
616
358
|
}
|
617
359
|
|
618
|
-
/*
|
619
|
-
* call-seq:
|
620
|
-
* XML.default_validity_checking -> (true|false)
|
621
|
-
*
|
622
|
-
* Determine whether parsers perform XML validation by default.
|
623
|
-
*/
|
624
|
-
static VALUE rxml_default_validity_checking_get(VALUE klass)
|
625
|
-
{
|
626
|
-
if (xmlDoValidityCheckingDefaultValue)
|
627
|
-
return (Qtrue);
|
628
|
-
else
|
629
|
-
return (Qfalse);
|
630
|
-
}
|
631
|
-
|
632
|
-
/*
|
633
|
-
* call-seq:
|
634
|
-
* XML.default_validity_checking = true|false
|
635
|
-
*
|
636
|
-
* Controls whether parsers perform XML validation by default.
|
637
|
-
*/
|
638
|
-
static VALUE rxml_default_validity_checking_set(VALUE klass, VALUE value)
|
639
|
-
{
|
640
|
-
if (value == Qfalse)
|
641
|
-
{
|
642
|
-
xmlDoValidityCheckingDefaultValue = 0;
|
643
|
-
return (Qfalse);
|
644
|
-
}
|
645
|
-
else
|
646
|
-
{
|
647
|
-
xmlDoValidityCheckingDefaultValue = 1;
|
648
|
-
return (Qtrue);
|
649
|
-
}
|
650
|
-
}
|
651
|
-
|
652
|
-
/*
|
653
|
-
* call-seq:
|
654
|
-
* XML.default_warnings -> (true|false)
|
655
|
-
*
|
656
|
-
* Determine whether parsers output warnings by default.
|
657
|
-
*/
|
658
|
-
static VALUE rxml_default_warnings_get(VALUE klass)
|
659
|
-
{
|
660
|
-
if (xmlGetWarningsDefaultValue)
|
661
|
-
return (Qtrue);
|
662
|
-
else
|
663
|
-
return (Qfalse);
|
664
|
-
}
|
665
|
-
|
666
|
-
/*
|
667
|
-
* call-seq:
|
668
|
-
* XML.default_warnings = true|false
|
669
|
-
*
|
670
|
-
* Controls whether parsers output warnings by default.
|
671
|
-
*/
|
672
|
-
static VALUE rxml_default_warnings_set(VALUE klass, VALUE value)
|
673
|
-
{
|
674
|
-
if (value == Qfalse)
|
675
|
-
{
|
676
|
-
xmlGetWarningsDefaultValue = 0;
|
677
|
-
return (Qfalse);
|
678
|
-
}
|
679
|
-
else
|
680
|
-
{
|
681
|
-
xmlGetWarningsDefaultValue = 1;
|
682
|
-
return (Qtrue);
|
683
|
-
}
|
684
|
-
}
|
685
|
-
|
686
360
|
/*
|
687
361
|
* call-seq:
|
688
362
|
* XML.default_compression -> (true|false)
|
@@ -869,27 +543,10 @@ void rxml_init_xml(void)
|
|
869
543
|
rb_define_module_function(mXML, "catalog_dump", rxml_catalog_dump, 0);
|
870
544
|
rb_define_module_function(mXML, "catalog_remove", rxml_catalog_remove, 1);
|
871
545
|
rb_define_module_function(mXML, "check_lib_versions", rxml_check_lib_versions, 0);
|
872
|
-
rb_define_module_function(mXML, "debug_entities", rxml_debug_entities_get, 0);
|
873
|
-
rb_define_module_function(mXML, "debug_entities=", rxml_debug_entities_set, 1);
|
874
546
|
rb_define_module_function(mXML, "default_compression", rxml_default_compression_get, 0);
|
875
547
|
rb_define_module_function(mXML, "default_compression=", rxml_default_compression_set, 1);
|
876
|
-
rb_define_module_function(mXML, "default_keep_blanks", rxml_default_keep_blanks_get, 0);
|
877
|
-
rb_define_module_function(mXML, "default_keep_blanks=", rxml_default_keep_blanks_set, 1);
|
878
|
-
rb_define_module_function(mXML, "default_load_external_dtd", rxml_default_load_external_dtd_get, 0);
|
879
|
-
rb_define_module_function(mXML, "default_load_external_dtd=", rxml_default_load_external_dtd_set, 1);
|
880
|
-
rb_define_module_function(mXML, "default_line_numbers", rxml_default_line_numbers_get, 0);
|
881
|
-
rb_define_module_function(mXML, "default_line_numbers=", rxml_default_line_numbers_set, 1);
|
882
|
-
rb_define_module_function(mXML, "default_options", rxml_default_options_get, 0);
|
883
|
-
rb_define_module_function(mXML, "default_pedantic_parser", rxml_default_pedantic_parser_get, 0);
|
884
|
-
rb_define_module_function(mXML, "default_pedantic_parser=", rxml_default_pedantic_parser_set, 1);
|
885
|
-
rb_define_module_function(mXML, "default_substitute_entities", rxml_default_substitute_entities_get, 0);
|
886
|
-
rb_define_module_function(mXML, "default_substitute_entities=", rxml_default_substitute_entities_set, 1);
|
887
548
|
rb_define_module_function(mXML, "default_tree_indent_string", rxml_default_tree_indent_string_get, 0);
|
888
549
|
rb_define_module_function(mXML, "default_tree_indent_string=", rxml_default_tree_indent_string_set, 1);
|
889
|
-
rb_define_module_function(mXML, "default_validity_checking", rxml_default_validity_checking_get, 0);
|
890
|
-
rb_define_module_function(mXML, "default_validity_checking=", rxml_default_validity_checking_set, 1);
|
891
|
-
rb_define_module_function(mXML, "default_warnings", rxml_default_warnings_get, 0);
|
892
|
-
rb_define_module_function(mXML, "default_warnings=", rxml_default_warnings_set, 1);
|
893
550
|
rb_define_module_function(mXML, "default_save_no_empty_tags", rxml_default_save_no_empty_tags_get, 0);
|
894
551
|
rb_define_module_function(mXML, "default_save_no_empty_tags=", rxml_default_save_no_empty_tags_set, 1);
|
895
552
|
rb_define_module_function(mXML, "indent_tree_output", rxml_indent_tree_output_get, 0);
|
data/ext/libxml/ruby_xml.h
CHANGED
@@ -1,10 +1,9 @@
|
|
1
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
2
|
-
|
3
|
-
#ifndef __RUBY_XML_H__
|
4
|
-
#define __RUBY_XML_H__
|
5
|
-
|
6
|
-
extern VALUE mXML;
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
#endif
|
1
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
2
|
+
|
3
|
+
#ifndef __RUBY_XML_H__
|
4
|
+
#define __RUBY_XML_H__
|
5
|
+
|
6
|
+
extern VALUE mXML;
|
7
|
+
void rxml_init_xml(void);
|
8
|
+
|
9
|
+
#endif
|
@@ -542,7 +542,7 @@ static VALUE rxml_document_import(VALUE self, VALUE node)
|
|
542
542
|
xresult = xmlDocCopyNode(xnode, xdoc, 1);
|
543
543
|
|
544
544
|
if (xresult == NULL)
|
545
|
-
rxml_raise(
|
545
|
+
rxml_raise(xmlGetLastError());
|
546
546
|
|
547
547
|
return rxml_node_wrap(xresult);
|
548
548
|
}
|
@@ -808,7 +808,7 @@ static VALUE rxml_document_save(int argc, VALUE *argv, VALUE self)
|
|
808
808
|
length = xmlSaveFormatFileEnc(xfilename, xdoc, (const char*)xencoding, indent);
|
809
809
|
|
810
810
|
if (length == -1)
|
811
|
-
rxml_raise(
|
811
|
+
rxml_raise(xmlGetLastError());
|
812
812
|
|
813
813
|
return (INT2NUM(length));
|
814
814
|
}
|
@@ -958,7 +958,7 @@ static VALUE rxml_document_xinclude(VALUE self)
|
|
958
958
|
}
|
959
959
|
else
|
960
960
|
{
|
961
|
-
rxml_raise(
|
961
|
+
rxml_raise(xmlGetLastError());
|
962
962
|
return Qnil;
|
963
963
|
}
|
964
964
|
#else
|
@@ -1007,7 +1007,7 @@ static VALUE rxml_document_validate_schema(VALUE self, VALUE schema)
|
|
1007
1007
|
xmlSchemaFreeValidCtxt(vptr);
|
1008
1008
|
if (is_invalid)
|
1009
1009
|
{
|
1010
|
-
rxml_raise(
|
1010
|
+
rxml_raise(xmlGetLastError());
|
1011
1011
|
return Qfalse;
|
1012
1012
|
}
|
1013
1013
|
else
|
@@ -1040,7 +1040,7 @@ static VALUE rxml_document_validate_relaxng(VALUE self, VALUE relaxng)
|
|
1040
1040
|
xmlRelaxNGFreeValidCtxt(vptr);
|
1041
1041
|
if (is_invalid)
|
1042
1042
|
{
|
1043
|
-
rxml_raise(
|
1043
|
+
rxml_raise(xmlGetLastError());
|
1044
1044
|
return Qfalse;
|
1045
1045
|
}
|
1046
1046
|
else
|
@@ -1075,7 +1075,7 @@ static VALUE rxml_document_validate_dtd(VALUE self, VALUE dtd)
|
|
1075
1075
|
}
|
1076
1076
|
else
|
1077
1077
|
{
|
1078
|
-
rxml_raise(
|
1078
|
+
rxml_raise(xmlGetLastError());
|
1079
1079
|
return Qfalse;
|
1080
1080
|
}
|
1081
1081
|
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
2
|
-
|
3
|
-
#ifndef __RXML_DOCUMENT__
|
4
|
-
#define __RXML_DOCUMENT__
|
5
|
-
|
6
|
-
extern VALUE cXMLDocument;
|
7
|
-
void rxml_init_document();
|
8
|
-
VALUE rxml_document_wrap(xmlDocPtr xnode);
|
9
|
-
|
10
|
-
typedef xmlChar * xmlCharPtr;
|
11
|
-
#endif
|
1
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
2
|
+
|
3
|
+
#ifndef __RXML_DOCUMENT__
|
4
|
+
#define __RXML_DOCUMENT__
|
5
|
+
|
6
|
+
extern VALUE cXMLDocument;
|
7
|
+
void rxml_init_document(void);
|
8
|
+
VALUE rxml_document_wrap(xmlDocPtr xnode);
|
9
|
+
|
10
|
+
typedef xmlChar * xmlCharPtr;
|
11
|
+
#endif
|