libxml-ruby 2.9.0 → 3.0.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.
- checksums.yaml +4 -4
- data/HISTORY +811 -790
- data/LICENSE +20 -20
- data/MANIFEST +166 -166
- data/README.rdoc +188 -184
- data/Rakefile +1 -1
- data/ext/libxml/libxml.c +80 -80
- data/ext/libxml/ruby_libxml.h +75 -75
- data/ext/libxml/ruby_xml.c +0 -84
- data/ext/libxml/ruby_xml.h +0 -10
- data/ext/libxml/ruby_xml_attr.h +12 -12
- data/ext/libxml/ruby_xml_attr_decl.c +153 -153
- data/ext/libxml/ruby_xml_attr_decl.h +11 -11
- data/ext/libxml/ruby_xml_attributes.c +275 -275
- data/ext/libxml/ruby_xml_attributes.h +15 -15
- data/ext/libxml/ruby_xml_document.c +21 -27
- data/ext/libxml/ruby_xml_document.h +11 -11
- data/ext/libxml/ruby_xml_dtd.c +2 -13
- data/ext/libxml/ruby_xml_dtd.h +9 -9
- data/ext/libxml/ruby_xml_error.c +996 -996
- data/ext/libxml/ruby_xml_error.h +12 -12
- data/ext/libxml/ruby_xml_html_parser.c +89 -92
- data/ext/libxml/ruby_xml_html_parser.h +10 -10
- data/ext/libxml/ruby_xml_html_parser_context.h +10 -10
- data/ext/libxml/ruby_xml_html_parser_options.c +46 -46
- data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
- data/ext/libxml/ruby_xml_input_cbg.h +20 -20
- data/ext/libxml/ruby_xml_io.c +0 -1
- data/ext/libxml/ruby_xml_io.h +10 -10
- data/ext/libxml/ruby_xml_namespace.c +153 -153
- data/ext/libxml/ruby_xml_namespace.h +10 -10
- data/ext/libxml/ruby_xml_namespaces.c +293 -293
- data/ext/libxml/ruby_xml_namespaces.h +9 -9
- data/ext/libxml/ruby_xml_node.c +100 -143
- data/ext/libxml/ruby_xml_node.h +13 -11
- data/ext/libxml/ruby_xml_parser.c +91 -94
- data/ext/libxml/ruby_xml_parser.h +12 -12
- data/ext/libxml/ruby_xml_parser_context.h +10 -10
- data/ext/libxml/ruby_xml_parser_options.c +66 -66
- data/ext/libxml/ruby_xml_parser_options.h +12 -12
- data/ext/libxml/ruby_xml_reader.c +45 -37
- data/ext/libxml/ruby_xml_reader.h +17 -17
- data/ext/libxml/ruby_xml_relaxng.h +10 -10
- data/ext/libxml/ruby_xml_sax2_handler.c +3 -3
- data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
- data/ext/libxml/ruby_xml_sax_parser.c +116 -120
- data/ext/libxml/ruby_xml_sax_parser.h +10 -10
- data/ext/libxml/ruby_xml_schema.h +809 -809
- data/ext/libxml/ruby_xml_schema_attribute.c +109 -109
- data/ext/libxml/ruby_xml_schema_attribute.h +15 -15
- data/ext/libxml/ruby_xml_schema_element.c +94 -94
- data/ext/libxml/ruby_xml_schema_element.h +14 -14
- data/ext/libxml/ruby_xml_schema_facet.c +52 -52
- data/ext/libxml/ruby_xml_schema_facet.h +13 -13
- data/ext/libxml/ruby_xml_schema_type.c +259 -259
- data/ext/libxml/ruby_xml_schema_type.h +9 -9
- data/ext/libxml/ruby_xml_version.h +9 -9
- data/ext/libxml/ruby_xml_writer.c +1136 -1136
- data/ext/libxml/ruby_xml_writer.h +10 -10
- data/ext/libxml/ruby_xml_xinclude.c +16 -16
- data/ext/libxml/ruby_xml_xinclude.h +11 -11
- data/ext/libxml/ruby_xml_xpath.c +42 -36
- data/ext/libxml/ruby_xml_xpath.h +13 -13
- data/ext/libxml/ruby_xml_xpath_context.c +1 -1
- data/ext/libxml/ruby_xml_xpath_context.h +9 -9
- data/ext/libxml/ruby_xml_xpath_expression.c +81 -81
- data/ext/libxml/ruby_xml_xpath_expression.h +10 -10
- data/ext/libxml/ruby_xml_xpath_object.c +5 -2
- data/ext/libxml/ruby_xml_xpath_object.h +17 -17
- data/ext/libxml/ruby_xml_xpointer.c +99 -99
- data/ext/libxml/ruby_xml_xpointer.h +11 -11
- data/ext/vc/libxml_ruby.sln +17 -15
- data/lib/libxml.rb +1 -6
- data/lib/libxml/node.rb +2 -78
- data/lib/libxml/parser.rb +0 -266
- data/lib/libxml/sax_parser.rb +0 -17
- data/lib/libxml/schema.rb +66 -66
- data/lib/libxml/schema/attribute.rb +19 -19
- data/lib/libxml/schema/element.rb +27 -27
- data/lib/libxml/schema/type.rb +29 -29
- data/script/benchmark/depixelate +634 -634
- data/script/benchmark/hamlet.xml +9054 -9054
- data/script/benchmark/parsecount +170 -170
- data/script/benchmark/throughput +41 -41
- data/script/test +6 -6
- data/test/c14n/given/example-1.xml +14 -14
- data/test/c14n/given/example-2.xml +11 -11
- data/test/c14n/given/example-3.xml +18 -18
- data/test/c14n/given/example-4.xml +9 -9
- data/test/c14n/given/example-5.xml +12 -12
- data/test/c14n/given/example-6.xml +2 -2
- data/test/c14n/given/example-7.xml +11 -11
- data/test/c14n/given/example-8.xml +11 -11
- data/test/c14n/given/example-8.xpath +9 -9
- data/test/c14n/result/1-1-without-comments/example-1 +3 -3
- data/test/c14n/result/1-1-without-comments/example-2 +10 -10
- data/test/c14n/result/1-1-without-comments/example-3 +13 -13
- data/test/c14n/result/1-1-without-comments/example-4 +8 -8
- data/test/c14n/result/1-1-without-comments/example-5 +2 -2
- data/test/c14n/result/with-comments/example-1 +5 -5
- data/test/c14n/result/with-comments/example-2 +10 -10
- data/test/c14n/result/with-comments/example-3 +13 -13
- data/test/c14n/result/with-comments/example-4 +8 -8
- data/test/c14n/result/with-comments/example-5 +3 -3
- data/test/c14n/result/without-comments/example-1 +3 -3
- data/test/c14n/result/without-comments/example-2 +10 -10
- data/test/c14n/result/without-comments/example-3 +13 -13
- data/test/c14n/result/without-comments/example-4 +8 -8
- data/test/c14n/result/without-comments/example-5 +2 -2
- data/test/model/atom.xml +12 -12
- data/test/model/bands.iso-8859-1.xml +4 -4
- data/test/model/bands.utf-8.xml +4 -4
- data/test/model/bands.xml +4 -4
- data/test/model/books.xml +153 -153
- data/test/model/merge_bug_data.xml +58 -58
- data/test/model/ruby-lang.html +238 -238
- data/test/model/rubynet.xml +79 -79
- data/test/model/shiporder.rnc +28 -28
- data/test/model/shiporder.rng +86 -86
- data/test/model/shiporder.xml +22 -22
- data/test/model/shiporder.xsd +39 -39
- data/test/model/soap.xml +27 -27
- data/test/model/xinclude.xml +4 -4
- data/test/tc_attributes.rb +0 -6
- data/test/tc_error.rb +157 -158
- data/test/tc_node.rb +33 -17
- data/test/tc_node_edit.rb +0 -15
- data/test/tc_node_pi.rb +39 -39
- data/test/tc_parser.rb +0 -48
- data/test/tc_reader.rb +12 -53
- data/test/tc_writer.rb +447 -447
- data/test/tc_xpath.rb +1 -1
- data/test/test_helper.rb +2 -2
- metadata +3 -8
- data/ext/libxml/extconf.h +0 -4
- data/lib/libxml/ns.rb +0 -22
- data/lib/libxml/properties.rb +0 -23
- data/lib/libxml/reader.rb +0 -29
- data/lib/libxml/xpath_object.rb +0 -16
data/Rakefile
CHANGED
data/ext/libxml/libxml.c
CHANGED
@@ -1,80 +1,80 @@
|
|
1
|
-
#include "ruby_libxml.h"
|
2
|
-
|
3
|
-
#if RUBY_INTERN_H
|
4
|
-
#include <ruby/util.h>
|
5
|
-
#else
|
6
|
-
#include <util.h>
|
7
|
-
#endif
|
8
|
-
|
9
|
-
|
10
|
-
VALUE mLibXML;
|
11
|
-
|
12
|
-
static void rxml_init_memory(void)
|
13
|
-
{
|
14
|
-
/* Disable for now - broke attributes.
|
15
|
-
xmlGcMemSetup(
|
16
|
-
(xmlFreeFunc)ruby_xfree,
|
17
|
-
(xmlMallocFunc)ruby_xmalloc,
|
18
|
-
(xmlMallocFunc)ruby_xmalloc,
|
19
|
-
(xmlReallocFunc)ruby_xrealloc,
|
20
|
-
(xmlStrdupFunc)ruby_strdup
|
21
|
-
);*/
|
22
|
-
}
|
23
|
-
|
24
|
-
void Init_libxml_ruby(void)
|
25
|
-
{
|
26
|
-
/* The libxml gem provides Ruby language bindings for GNOME's Libxml2
|
27
|
-
* XML toolkit. To get started you may:
|
28
|
-
*
|
29
|
-
* require 'test_helper'
|
30
|
-
* document = XML::Document.new
|
31
|
-
*
|
32
|
-
* However, when creating an application or library you plan to
|
33
|
-
* redistribute, it is best to not add the LibXML module to the global
|
34
|
-
* namespace, in which case you can either write your code like this:
|
35
|
-
*
|
36
|
-
* require 'libxml'
|
37
|
-
* document = LibXML::XML::Document.new
|
38
|
-
*
|
39
|
-
* Refer to the README file to get started and the LICENSE file for
|
40
|
-
* copyright and distribution information.
|
41
|
-
*/
|
42
|
-
|
43
|
-
// Seutp for threading. http://xmlsoft.org/threads.html
|
44
|
-
xmlInitParser();
|
45
|
-
|
46
|
-
mLibXML = rb_define_module("LibXML");
|
47
|
-
|
48
|
-
rxml_init_memory();
|
49
|
-
rxml_init_xml();
|
50
|
-
rxml_init_io();
|
51
|
-
rxml_init_error();
|
52
|
-
rxml_init_encoding();
|
53
|
-
rxml_init_parser();
|
54
|
-
rxml_init_parser_context();
|
55
|
-
rxml_init_parser_options();
|
56
|
-
rxml_init_node();
|
57
|
-
rxml_init_attributes();
|
58
|
-
rxml_init_attr();
|
59
|
-
rxml_init_attr_decl();
|
60
|
-
rxml_init_document();
|
61
|
-
rxml_init_namespaces();
|
62
|
-
rxml_init_namespace();
|
63
|
-
rxml_init_sax_parser();
|
64
|
-
rxml_init_sax2_handler();
|
65
|
-
rxml_init_xinclude();
|
66
|
-
rxml_init_xpath();
|
67
|
-
rxml_init_xpath_object();
|
68
|
-
rxml_init_xpath_context();
|
69
|
-
rxml_init_xpath_expression();
|
70
|
-
rxml_init_xpointer();
|
71
|
-
rxml_init_html_parser();
|
72
|
-
rxml_init_html_parser_options();
|
73
|
-
rxml_init_html_parser_context();
|
74
|
-
rxml_init_input_callbacks();
|
75
|
-
rxml_init_dtd();
|
76
|
-
rxml_init_schema();
|
77
|
-
rxml_init_relaxng();
|
78
|
-
rxml_init_reader();
|
79
|
-
rxml_init_writer();
|
80
|
-
}
|
1
|
+
#include "ruby_libxml.h"
|
2
|
+
|
3
|
+
#if RUBY_INTERN_H
|
4
|
+
#include <ruby/util.h>
|
5
|
+
#else
|
6
|
+
#include <util.h>
|
7
|
+
#endif
|
8
|
+
|
9
|
+
|
10
|
+
VALUE mLibXML;
|
11
|
+
|
12
|
+
static void rxml_init_memory(void)
|
13
|
+
{
|
14
|
+
/* Disable for now - broke attributes.
|
15
|
+
xmlGcMemSetup(
|
16
|
+
(xmlFreeFunc)ruby_xfree,
|
17
|
+
(xmlMallocFunc)ruby_xmalloc,
|
18
|
+
(xmlMallocFunc)ruby_xmalloc,
|
19
|
+
(xmlReallocFunc)ruby_xrealloc,
|
20
|
+
(xmlStrdupFunc)ruby_strdup
|
21
|
+
);*/
|
22
|
+
}
|
23
|
+
|
24
|
+
void Init_libxml_ruby(void)
|
25
|
+
{
|
26
|
+
/* The libxml gem provides Ruby language bindings for GNOME's Libxml2
|
27
|
+
* XML toolkit. To get started you may:
|
28
|
+
*
|
29
|
+
* require 'test_helper'
|
30
|
+
* document = XML::Document.new
|
31
|
+
*
|
32
|
+
* However, when creating an application or library you plan to
|
33
|
+
* redistribute, it is best to not add the LibXML module to the global
|
34
|
+
* namespace, in which case you can either write your code like this:
|
35
|
+
*
|
36
|
+
* require 'libxml'
|
37
|
+
* document = LibXML::XML::Document.new
|
38
|
+
*
|
39
|
+
* Refer to the README file to get started and the LICENSE file for
|
40
|
+
* copyright and distribution information.
|
41
|
+
*/
|
42
|
+
|
43
|
+
// Seutp for threading. http://xmlsoft.org/threads.html
|
44
|
+
xmlInitParser();
|
45
|
+
|
46
|
+
mLibXML = rb_define_module("LibXML");
|
47
|
+
|
48
|
+
rxml_init_memory();
|
49
|
+
rxml_init_xml();
|
50
|
+
rxml_init_io();
|
51
|
+
rxml_init_error();
|
52
|
+
rxml_init_encoding();
|
53
|
+
rxml_init_parser();
|
54
|
+
rxml_init_parser_context();
|
55
|
+
rxml_init_parser_options();
|
56
|
+
rxml_init_node();
|
57
|
+
rxml_init_attributes();
|
58
|
+
rxml_init_attr();
|
59
|
+
rxml_init_attr_decl();
|
60
|
+
rxml_init_document();
|
61
|
+
rxml_init_namespaces();
|
62
|
+
rxml_init_namespace();
|
63
|
+
rxml_init_sax_parser();
|
64
|
+
rxml_init_sax2_handler();
|
65
|
+
rxml_init_xinclude();
|
66
|
+
rxml_init_xpath();
|
67
|
+
rxml_init_xpath_object();
|
68
|
+
rxml_init_xpath_context();
|
69
|
+
rxml_init_xpath_expression();
|
70
|
+
rxml_init_xpointer();
|
71
|
+
rxml_init_html_parser();
|
72
|
+
rxml_init_html_parser_options();
|
73
|
+
rxml_init_html_parser_context();
|
74
|
+
rxml_init_input_callbacks();
|
75
|
+
rxml_init_dtd();
|
76
|
+
rxml_init_schema();
|
77
|
+
rxml_init_relaxng();
|
78
|
+
rxml_init_reader();
|
79
|
+
rxml_init_writer();
|
80
|
+
}
|
data/ext/libxml/ruby_libxml.h
CHANGED
@@ -1,75 +1,75 @@
|
|
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
|
-
#include <libxml/parser.h>
|
8
|
-
#include <libxml/parserInternals.h>
|
9
|
-
#include <libxml/debugXML.h>
|
10
|
-
#include <libxml/xmlversion.h>
|
11
|
-
#include <libxml/xmlmemory.h>
|
12
|
-
#include <libxml/xpath.h>
|
13
|
-
#include <libxml/valid.h>
|
14
|
-
#include <libxml/catalog.h>
|
15
|
-
#include <libxml/HTMLparser.h>
|
16
|
-
#include <libxml/xmlreader.h>
|
17
|
-
#include <libxml/c14n.h>
|
18
|
-
|
19
|
-
/* Needed prior to Ruby 1.9.1 */
|
20
|
-
#ifndef RHASH_TBL
|
21
|
-
#define RHASH_TBL(s) (RHASH(s)->tbl)
|
22
|
-
#endif
|
23
|
-
|
24
|
-
// Encoding support added in Ruby 1.9.*
|
25
|
-
#ifdef HAVE_RUBY_ENCODING_H
|
26
|
-
#include <ruby/encoding.h>
|
27
|
-
#endif
|
28
|
-
|
29
|
-
#ifdef LIBXML_DEBUG_ENABLED
|
30
|
-
#include <libxml/xpathInternals.h>
|
31
|
-
#endif
|
32
|
-
#ifdef LIBXML_XINCLUDE_ENABLED
|
33
|
-
#include <libxml/xinclude.h>
|
34
|
-
#endif
|
35
|
-
#ifdef LIBXML_XPTR_ENABLED
|
36
|
-
#include <libxml/xpointer.h>
|
37
|
-
#endif
|
38
|
-
|
39
|
-
#include "ruby_xml_version.h"
|
40
|
-
#include "ruby_xml.h"
|
41
|
-
#include "ruby_xml_io.h"
|
42
|
-
#include "ruby_xml_error.h"
|
43
|
-
#include "ruby_xml_encoding.h"
|
44
|
-
#include "ruby_xml_attributes.h"
|
45
|
-
#include "ruby_xml_attr.h"
|
46
|
-
#include "ruby_xml_attr_decl.h"
|
47
|
-
#include "ruby_xml_document.h"
|
48
|
-
#include "ruby_xml_node.h"
|
49
|
-
#include "ruby_xml_namespace.h"
|
50
|
-
#include "ruby_xml_namespaces.h"
|
51
|
-
#include "ruby_xml_parser.h"
|
52
|
-
#include "ruby_xml_parser_options.h"
|
53
|
-
#include "ruby_xml_parser_context.h"
|
54
|
-
#include "ruby_xml_html_parser.h"
|
55
|
-
#include "ruby_xml_html_parser_options.h"
|
56
|
-
#include "ruby_xml_html_parser_context.h"
|
57
|
-
#include "ruby_xml_reader.h"
|
58
|
-
#include "ruby_xml_writer.h"
|
59
|
-
#include "ruby_xml_sax2_handler.h"
|
60
|
-
#include "ruby_xml_sax_parser.h"
|
61
|
-
#include "ruby_xml_writer.h"
|
62
|
-
#include "ruby_xml_xinclude.h"
|
63
|
-
#include "ruby_xml_xpath.h"
|
64
|
-
#include "ruby_xml_xpath_expression.h"
|
65
|
-
#include "ruby_xml_xpath_context.h"
|
66
|
-
#include "ruby_xml_xpath_object.h"
|
67
|
-
#include "ruby_xml_xpointer.h"
|
68
|
-
#include "ruby_xml_input_cbg.h"
|
69
|
-
#include "ruby_xml_dtd.h"
|
70
|
-
#include "ruby_xml_schema.h"
|
71
|
-
#include "ruby_xml_relaxng.h"
|
72
|
-
|
73
|
-
extern VALUE mLibXML;
|
74
|
-
|
75
|
-
#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
|
+
#include <libxml/parser.h>
|
8
|
+
#include <libxml/parserInternals.h>
|
9
|
+
#include <libxml/debugXML.h>
|
10
|
+
#include <libxml/xmlversion.h>
|
11
|
+
#include <libxml/xmlmemory.h>
|
12
|
+
#include <libxml/xpath.h>
|
13
|
+
#include <libxml/valid.h>
|
14
|
+
#include <libxml/catalog.h>
|
15
|
+
#include <libxml/HTMLparser.h>
|
16
|
+
#include <libxml/xmlreader.h>
|
17
|
+
#include <libxml/c14n.h>
|
18
|
+
|
19
|
+
/* Needed prior to Ruby 1.9.1 */
|
20
|
+
#ifndef RHASH_TBL
|
21
|
+
#define RHASH_TBL(s) (RHASH(s)->tbl)
|
22
|
+
#endif
|
23
|
+
|
24
|
+
// Encoding support added in Ruby 1.9.*
|
25
|
+
#ifdef HAVE_RUBY_ENCODING_H
|
26
|
+
#include <ruby/encoding.h>
|
27
|
+
#endif
|
28
|
+
|
29
|
+
#ifdef LIBXML_DEBUG_ENABLED
|
30
|
+
#include <libxml/xpathInternals.h>
|
31
|
+
#endif
|
32
|
+
#ifdef LIBXML_XINCLUDE_ENABLED
|
33
|
+
#include <libxml/xinclude.h>
|
34
|
+
#endif
|
35
|
+
#ifdef LIBXML_XPTR_ENABLED
|
36
|
+
#include <libxml/xpointer.h>
|
37
|
+
#endif
|
38
|
+
|
39
|
+
#include "ruby_xml_version.h"
|
40
|
+
#include "ruby_xml.h"
|
41
|
+
#include "ruby_xml_io.h"
|
42
|
+
#include "ruby_xml_error.h"
|
43
|
+
#include "ruby_xml_encoding.h"
|
44
|
+
#include "ruby_xml_attributes.h"
|
45
|
+
#include "ruby_xml_attr.h"
|
46
|
+
#include "ruby_xml_attr_decl.h"
|
47
|
+
#include "ruby_xml_document.h"
|
48
|
+
#include "ruby_xml_node.h"
|
49
|
+
#include "ruby_xml_namespace.h"
|
50
|
+
#include "ruby_xml_namespaces.h"
|
51
|
+
#include "ruby_xml_parser.h"
|
52
|
+
#include "ruby_xml_parser_options.h"
|
53
|
+
#include "ruby_xml_parser_context.h"
|
54
|
+
#include "ruby_xml_html_parser.h"
|
55
|
+
#include "ruby_xml_html_parser_options.h"
|
56
|
+
#include "ruby_xml_html_parser_context.h"
|
57
|
+
#include "ruby_xml_reader.h"
|
58
|
+
#include "ruby_xml_writer.h"
|
59
|
+
#include "ruby_xml_sax2_handler.h"
|
60
|
+
#include "ruby_xml_sax_parser.h"
|
61
|
+
#include "ruby_xml_writer.h"
|
62
|
+
#include "ruby_xml_xinclude.h"
|
63
|
+
#include "ruby_xml_xpath.h"
|
64
|
+
#include "ruby_xml_xpath_expression.h"
|
65
|
+
#include "ruby_xml_xpath_context.h"
|
66
|
+
#include "ruby_xml_xpath_object.h"
|
67
|
+
#include "ruby_xml_xpointer.h"
|
68
|
+
#include "ruby_xml_input_cbg.h"
|
69
|
+
#include "ruby_xml_dtd.h"
|
70
|
+
#include "ruby_xml_schema.h"
|
71
|
+
#include "ruby_xml_relaxng.h"
|
72
|
+
|
73
|
+
extern VALUE mLibXML;
|
74
|
+
|
75
|
+
#endif
|
data/ext/libxml/ruby_xml.c
CHANGED
@@ -1,87 +1,6 @@
|
|
1
1
|
#include "ruby_libxml.h"
|
2
2
|
#include "ruby_xml.h"
|
3
3
|
|
4
|
-
static struct st_table *private_pointers;
|
5
|
-
|
6
|
-
static int registered = 0; // Constant to track what nodes have been registered
|
7
|
-
|
8
|
-
void rxml_register(void *xnode, VALUE value) {
|
9
|
-
st_insert(private_pointers, (st_data_t)xnode, (st_data_t)value);
|
10
|
-
}
|
11
|
-
|
12
|
-
void rxml_register_node(xmlNodePtr xnode, VALUE value) {
|
13
|
-
if (rxml_lookup_node(xnode) == Qnil) {
|
14
|
-
xnode->_private = ®istered;
|
15
|
-
rxml_register(xnode, value);
|
16
|
-
}
|
17
|
-
}
|
18
|
-
|
19
|
-
void rxml_register_doc(xmlDocPtr xdoc, VALUE value) {
|
20
|
-
if (rxml_lookup_doc(xdoc) == Qnil) {
|
21
|
-
xdoc->_private = ®istered;
|
22
|
-
rxml_register(xdoc, value);
|
23
|
-
}
|
24
|
-
}
|
25
|
-
|
26
|
-
void rxml_register_dtd(xmlDtdPtr xdtd, VALUE value) {
|
27
|
-
if (rxml_lookup_dtd(xdtd) == Qnil) {
|
28
|
-
xdtd->_private = ®istered;
|
29
|
-
rxml_register(xdtd, value);
|
30
|
-
}
|
31
|
-
}
|
32
|
-
|
33
|
-
void rxml_unregister(void *xnode) {
|
34
|
-
st_delete(private_pointers, (st_data_t*)&xnode, NULL);
|
35
|
-
}
|
36
|
-
|
37
|
-
void rxml_unregister_node(xmlNodePtr xnode) {
|
38
|
-
if (xnode->_private == ®istered) {
|
39
|
-
xnode->_private = NULL;
|
40
|
-
rxml_unregister(xnode);
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
void rxml_unregister_doc(xmlDocPtr xdoc) {
|
45
|
-
if (xdoc->_private == ®istered) {
|
46
|
-
xdoc->_private = NULL;
|
47
|
-
rxml_unregister(xdoc);
|
48
|
-
}
|
49
|
-
}
|
50
|
-
|
51
|
-
void rxml_unregister_dtd(xmlDtdPtr xdtd) {
|
52
|
-
if (xdtd->_private == ®istered) {
|
53
|
-
xdtd->_private = NULL;
|
54
|
-
rxml_unregister(xdtd);
|
55
|
-
}
|
56
|
-
}
|
57
|
-
|
58
|
-
VALUE rxml_lookup(void *pointer) {
|
59
|
-
st_data_t result = 0;
|
60
|
-
int ret = st_lookup(private_pointers, (st_data_t)pointer, &result);
|
61
|
-
return ret ? (VALUE)result : Qnil;
|
62
|
-
}
|
63
|
-
|
64
|
-
VALUE rxml_lookup_node(xmlNodePtr xnode) {
|
65
|
-
if (!xnode || xnode->_private != ®istered)
|
66
|
-
return Qnil;
|
67
|
-
|
68
|
-
return rxml_lookup(xnode);
|
69
|
-
}
|
70
|
-
|
71
|
-
VALUE rxml_lookup_doc(xmlDocPtr xdoc) {
|
72
|
-
if (!xdoc || xdoc->_private != ®istered)
|
73
|
-
return Qnil;
|
74
|
-
|
75
|
-
return rxml_lookup(xdoc);
|
76
|
-
}
|
77
|
-
|
78
|
-
VALUE rxml_lookup_dtd(xmlDtdPtr xdtd) {
|
79
|
-
if (!xdtd || xdtd->_private != ®istered)
|
80
|
-
return Qnil;
|
81
|
-
|
82
|
-
return rxml_lookup(xdtd);
|
83
|
-
}
|
84
|
-
|
85
4
|
VALUE mXML;
|
86
5
|
|
87
6
|
/*
|
@@ -915,9 +834,6 @@ static VALUE rxml_memory_used(VALUE self)
|
|
915
834
|
|
916
835
|
void rxml_init_xml(void)
|
917
836
|
{
|
918
|
-
/* Create a hashtable suitable for pointer keys */
|
919
|
-
private_pointers = st_init_numtable();
|
920
|
-
|
921
837
|
mXML = rb_define_module_under(mLibXML, "XML");
|
922
838
|
|
923
839
|
/* Constants */
|
data/ext/libxml/ruby_xml.h
CHANGED
@@ -7,14 +7,4 @@ extern VALUE mXML;
|
|
7
7
|
int rxml_libxml_default_options();
|
8
8
|
void rxml_init_xml(void);
|
9
9
|
|
10
|
-
void rxml_register_node(xmlNodePtr node, VALUE value);
|
11
|
-
void rxml_register_doc(xmlDocPtr doc, VALUE value);
|
12
|
-
void rxml_register_dtd(xmlDtdPtr dtd, VALUE value);
|
13
|
-
void rxml_unregister_node(xmlNodePtr node);
|
14
|
-
void rxml_unregister_doc(xmlDocPtr doc);
|
15
|
-
void rxml_unregister_dtd(xmlDtdPtr dtd);
|
16
|
-
VALUE rxml_lookup_node(xmlNodePtr node);
|
17
|
-
VALUE rxml_lookup_doc(xmlDocPtr doc);
|
18
|
-
VALUE rxml_lookup_dtd(xmlDtdPtr dtd);
|
19
|
-
|
20
10
|
#endif
|
data/ext/libxml/ruby_xml_attr.h
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
/* Please see the LICENSE file for copyright and distribution information */
|
2
|
-
|
3
|
-
#ifndef __RXML_ATTR__
|
4
|
-
#define __RXML_ATTR__
|
5
|
-
|
6
|
-
extern VALUE cXMLAttr;
|
7
|
-
|
8
|
-
void rxml_init_attr(void);
|
9
|
-
VALUE rxml_attr_wrap(xmlAttrPtr xattr);
|
10
|
-
VALUE rxml_attr_value_get(VALUE self);
|
11
|
-
VALUE rxml_attr_value_set(VALUE self, VALUE val);
|
12
|
-
#endif
|
1
|
+
/* Please see the LICENSE file for copyright and distribution information */
|
2
|
+
|
3
|
+
#ifndef __RXML_ATTR__
|
4
|
+
#define __RXML_ATTR__
|
5
|
+
|
6
|
+
extern VALUE cXMLAttr;
|
7
|
+
|
8
|
+
void rxml_init_attr(void);
|
9
|
+
VALUE rxml_attr_wrap(xmlAttrPtr xattr);
|
10
|
+
VALUE rxml_attr_value_get(VALUE self);
|
11
|
+
VALUE rxml_attr_value_set(VALUE self, VALUE val);
|
12
|
+
#endif
|