libxml-ruby 2.8.0 → 3.2.3

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.
Files changed (205) hide show
  1. checksums.yaml +5 -5
  2. data/HISTORY +859 -775
  3. data/LICENSE +20 -20
  4. data/MANIFEST +166 -166
  5. data/README.rdoc +217 -184
  6. data/Rakefile +98 -78
  7. data/ext/libxml/extconf.rb +61 -116
  8. data/ext/libxml/libxml.c +80 -76
  9. data/ext/libxml/ruby_libxml.h +67 -75
  10. data/ext/libxml/ruby_xml.c +937 -893
  11. data/ext/libxml/ruby_xml.h +10 -10
  12. data/ext/libxml/ruby_xml_attr.c +333 -333
  13. data/ext/libxml/ruby_xml_attr.h +12 -12
  14. data/ext/libxml/ruby_xml_attr_decl.c +153 -153
  15. data/ext/libxml/ruby_xml_attr_decl.h +11 -11
  16. data/ext/libxml/ruby_xml_attributes.c +275 -275
  17. data/ext/libxml/ruby_xml_attributes.h +15 -15
  18. data/ext/libxml/ruby_xml_cbg.c +85 -85
  19. data/ext/libxml/ruby_xml_document.c +1123 -1147
  20. data/ext/libxml/ruby_xml_document.h +11 -11
  21. data/ext/libxml/ruby_xml_dtd.c +248 -268
  22. data/ext/libxml/ruby_xml_dtd.h +9 -9
  23. data/ext/libxml/ruby_xml_encoding.c +250 -260
  24. data/ext/libxml/ruby_xml_encoding.h +16 -19
  25. data/ext/libxml/ruby_xml_error.c +996 -996
  26. data/ext/libxml/ruby_xml_error.h +12 -12
  27. data/ext/libxml/ruby_xml_html_parser.c +89 -92
  28. data/ext/libxml/ruby_xml_html_parser.h +10 -10
  29. data/ext/libxml/ruby_xml_html_parser_context.c +337 -338
  30. data/ext/libxml/ruby_xml_html_parser_context.h +10 -10
  31. data/ext/libxml/ruby_xml_html_parser_options.c +46 -46
  32. data/ext/libxml/ruby_xml_html_parser_options.h +10 -10
  33. data/ext/libxml/ruby_xml_input_cbg.c +191 -191
  34. data/ext/libxml/ruby_xml_input_cbg.h +20 -20
  35. data/ext/libxml/ruby_xml_io.c +47 -50
  36. data/ext/libxml/ruby_xml_io.h +10 -10
  37. data/ext/libxml/ruby_xml_namespace.c +154 -153
  38. data/ext/libxml/ruby_xml_namespace.h +10 -10
  39. data/ext/libxml/ruby_xml_namespaces.c +293 -293
  40. data/ext/libxml/ruby_xml_namespaces.h +9 -9
  41. data/ext/libxml/ruby_xml_node.c +1406 -1452
  42. data/ext/libxml/ruby_xml_node.h +13 -11
  43. data/ext/libxml/ruby_xml_parser.c +91 -94
  44. data/ext/libxml/ruby_xml_parser.h +12 -12
  45. data/ext/libxml/ruby_xml_parser_context.c +999 -1001
  46. data/ext/libxml/ruby_xml_parser_context.h +10 -10
  47. data/ext/libxml/ruby_xml_parser_options.c +66 -66
  48. data/ext/libxml/ruby_xml_parser_options.h +12 -12
  49. data/ext/libxml/ruby_xml_reader.c +1239 -1228
  50. data/ext/libxml/ruby_xml_reader.h +17 -17
  51. data/ext/libxml/ruby_xml_relaxng.c +110 -111
  52. data/ext/libxml/ruby_xml_relaxng.h +10 -10
  53. data/ext/libxml/ruby_xml_sax2_handler.c +326 -328
  54. data/ext/libxml/ruby_xml_sax2_handler.h +10 -10
  55. data/ext/libxml/ruby_xml_sax_parser.c +116 -120
  56. data/ext/libxml/ruby_xml_sax_parser.h +10 -10
  57. data/ext/libxml/ruby_xml_schema.c +350 -301
  58. data/ext/libxml/ruby_xml_schema.h +806 -809
  59. data/ext/libxml/ruby_xml_schema_attribute.c +61 -109
  60. data/ext/libxml/ruby_xml_schema_attribute.h +15 -15
  61. data/ext/libxml/ruby_xml_schema_element.c +69 -94
  62. data/ext/libxml/ruby_xml_schema_element.h +14 -14
  63. data/ext/libxml/ruby_xml_schema_facet.c +46 -52
  64. data/ext/libxml/ruby_xml_schema_facet.h +13 -13
  65. data/ext/libxml/ruby_xml_schema_type.c +214 -259
  66. data/ext/libxml/ruby_xml_schema_type.h +9 -9
  67. data/ext/libxml/ruby_xml_version.h +9 -9
  68. data/ext/libxml/ruby_xml_writer.c +1133 -1137
  69. data/ext/libxml/ruby_xml_writer.h +10 -10
  70. data/ext/libxml/ruby_xml_xinclude.c +16 -16
  71. data/ext/libxml/ruby_xml_xinclude.h +11 -11
  72. data/ext/libxml/ruby_xml_xpath.c +194 -188
  73. data/ext/libxml/ruby_xml_xpath.h +13 -13
  74. data/ext/libxml/ruby_xml_xpath_context.c +360 -361
  75. data/ext/libxml/ruby_xml_xpath_context.h +9 -9
  76. data/ext/libxml/ruby_xml_xpath_expression.c +81 -81
  77. data/ext/libxml/ruby_xml_xpath_expression.h +10 -10
  78. data/ext/libxml/ruby_xml_xpath_object.c +338 -335
  79. data/ext/libxml/ruby_xml_xpath_object.h +17 -17
  80. data/ext/libxml/ruby_xml_xpointer.c +99 -99
  81. data/ext/libxml/ruby_xml_xpointer.h +11 -11
  82. data/ext/vc/libxml_ruby.sln +17 -15
  83. data/lib/libxml/node.rb +2 -78
  84. data/lib/libxml/parser.rb +0 -266
  85. data/lib/libxml/sax_parser.rb +0 -17
  86. data/lib/libxml/schema/attribute.rb +19 -19
  87. data/lib/libxml/schema/element.rb +19 -27
  88. data/lib/libxml/schema/type.rb +21 -29
  89. data/lib/libxml/schema.rb +47 -66
  90. data/lib/libxml-ruby.rb +30 -0
  91. data/lib/libxml.rb +3 -33
  92. data/libxml-ruby.gemspec +48 -44
  93. data/script/benchmark/depixelate +634 -634
  94. data/script/benchmark/hamlet.xml +9054 -9054
  95. data/script/benchmark/parsecount +170 -170
  96. data/script/benchmark/throughput +41 -41
  97. data/script/test +6 -6
  98. data/setup.rb +0 -1
  99. data/test/c14n/given/example-1.xml +14 -14
  100. data/test/c14n/given/example-2.xml +11 -11
  101. data/test/c14n/given/example-3.xml +18 -18
  102. data/test/c14n/given/example-4.xml +9 -9
  103. data/test/c14n/given/example-5.xml +12 -12
  104. data/test/c14n/given/example-6.xml +2 -2
  105. data/test/c14n/given/example-7.xml +11 -11
  106. data/test/c14n/given/example-8.xml +11 -11
  107. data/test/c14n/given/example-8.xpath +9 -9
  108. data/test/c14n/result/1-1-without-comments/example-1 +3 -3
  109. data/test/c14n/result/1-1-without-comments/example-2 +10 -10
  110. data/test/c14n/result/1-1-without-comments/example-3 +13 -13
  111. data/test/c14n/result/1-1-without-comments/example-4 +8 -8
  112. data/test/c14n/result/1-1-without-comments/example-5 +2 -2
  113. data/test/c14n/result/with-comments/example-1 +5 -5
  114. data/test/c14n/result/with-comments/example-2 +10 -10
  115. data/test/c14n/result/with-comments/example-3 +13 -13
  116. data/test/c14n/result/with-comments/example-4 +8 -8
  117. data/test/c14n/result/with-comments/example-5 +3 -3
  118. data/test/c14n/result/without-comments/example-1 +3 -3
  119. data/test/c14n/result/without-comments/example-2 +10 -10
  120. data/test/c14n/result/without-comments/example-3 +13 -13
  121. data/test/c14n/result/without-comments/example-4 +8 -8
  122. data/test/c14n/result/without-comments/example-5 +2 -2
  123. data/test/model/atom.xml +12 -12
  124. data/test/model/bands.iso-8859-1.xml +4 -4
  125. data/test/model/bands.utf-8.xml +4 -4
  126. data/test/model/bands.xml +4 -4
  127. data/test/model/books.xml +153 -153
  128. data/test/model/cwm_1_0.xml +11336 -0
  129. data/test/model/merge_bug_data.xml +58 -58
  130. data/test/model/ruby-lang.html +238 -238
  131. data/test/model/rubynet.xml +79 -79
  132. data/test/model/shiporder.rnc +28 -28
  133. data/test/model/shiporder.rng +86 -86
  134. data/test/model/shiporder.xml +22 -22
  135. data/test/model/shiporder.xsd +44 -40
  136. data/test/model/shiporder_bad.xsd +40 -0
  137. data/test/model/shiporder_import.xsd +45 -0
  138. data/test/model/soap.xml +27 -27
  139. data/test/model/xinclude.xml +4 -4
  140. data/test/{tc_attr.rb → test_attr.rb} +23 -25
  141. data/test/{tc_attr_decl.rb → test_attr_decl.rb} +13 -14
  142. data/test/{tc_attributes.rb → test_attributes.rb} +11 -18
  143. data/test/{tc_canonicalize.rb → test_canonicalize.rb} +36 -41
  144. data/test/test_deprecated_require.rb +12 -0
  145. data/test/{tc_document.rb → test_document.rb} +33 -27
  146. data/test/test_document_write.rb +146 -0
  147. data/test/{tc_dtd.rb → test_dtd.rb} +29 -29
  148. data/test/{tc_encoding.rb → test_encoding.rb} +129 -126
  149. data/test/{tc_encoding_sax.rb → test_encoding_sax.rb} +7 -6
  150. data/test/test_error.rb +178 -0
  151. data/test/test_helper.rb +4 -9
  152. data/test/test_html_parser.rb +162 -0
  153. data/test/test_html_parser_context.rb +23 -0
  154. data/test/test_namespace.rb +60 -0
  155. data/test/{tc_namespaces.rb → test_namespaces.rb} +34 -44
  156. data/test/{tc_node.rb → test_node.rb} +68 -47
  157. data/test/{tc_node_cdata.rb → test_node_cdata.rb} +12 -13
  158. data/test/{tc_node_comment.rb → test_node_comment.rb} +7 -8
  159. data/test/{tc_node_copy.rb → test_node_copy.rb} +4 -6
  160. data/test/{tc_node_edit.rb → test_node_edit.rb} +23 -41
  161. data/test/{tc_node_pi.rb → test_node_pi.rb} +37 -40
  162. data/test/{tc_node_text.rb → test_node_text.rb} +10 -12
  163. data/test/{tc_node_write.rb → test_node_write.rb} +18 -29
  164. data/test/test_node_xlink.rb +28 -0
  165. data/test/test_parser.rb +324 -0
  166. data/test/{tc_parser_context.rb → test_parser_context.rb} +42 -49
  167. data/test/{tc_properties.rb → test_properties.rb} +6 -7
  168. data/test/test_reader.rb +364 -0
  169. data/test/test_relaxng.rb +53 -0
  170. data/test/{tc_sax_parser.rb → test_sax_parser.rb} +44 -38
  171. data/test/test_schema.rb +231 -0
  172. data/test/test_suite.rb +38 -40
  173. data/test/{tc_traversal.rb → test_traversal.rb} +5 -6
  174. data/test/{tc_writer.rb → test_writer.rb} +468 -448
  175. data/test/{tc_xinclude.rb → test_xinclude.rb} +4 -5
  176. data/test/test_xml.rb +263 -0
  177. data/test/{tc_xpath.rb → test_xpath.rb} +31 -32
  178. data/test/{tc_xpath_context.rb → test_xpath_context.rb} +8 -9
  179. data/test/test_xpath_expression.rb +37 -0
  180. data/test/{tc_xpointer.rb → test_xpointer.rb} +16 -18
  181. metadata +122 -100
  182. data/lib/libxml/ns.rb +0 -22
  183. data/lib/libxml/properties.rb +0 -23
  184. data/lib/libxml/reader.rb +0 -29
  185. data/lib/libxml/xpath_object.rb +0 -16
  186. data/test/etc_doc_to_s.rb +0 -21
  187. data/test/ets_doc_file.rb +0 -17
  188. data/test/ets_doc_to_s.rb +0 -23
  189. data/test/ets_gpx.rb +0 -28
  190. data/test/ets_node_gc.rb +0 -23
  191. data/test/ets_test.xml +0 -2
  192. data/test/ets_tsr.rb +0 -11
  193. data/test/tc_deprecated_require.rb +0 -13
  194. data/test/tc_document_write.rb +0 -196
  195. data/test/tc_error.rb +0 -180
  196. data/test/tc_html_parser.rb +0 -153
  197. data/test/tc_html_parser_context.rb +0 -24
  198. data/test/tc_namespace.rb +0 -62
  199. data/test/tc_node_xlink.rb +0 -29
  200. data/test/tc_parser.rb +0 -381
  201. data/test/tc_reader.rb +0 -400
  202. data/test/tc_relaxng.rb +0 -54
  203. data/test/tc_schema.rb +0 -162
  204. data/test/tc_xml.rb +0 -226
  205. data/test/tc_xpath_expression.rb +0 -38
@@ -36,23 +36,6 @@ module LibXML
36
36
  context = XML::Parser::Context.string(string)
37
37
  self.new(context)
38
38
  end
39
-
40
- # :enddoc:
41
-
42
- def file=(value)
43
- warn("XML::SaxParser#file is deprecated. Use XML::SaxParser.file instead")
44
- @context = XML::Parser::Context.file(value)
45
- end
46
-
47
- def io=(value)
48
- warn("XML::SaxParser#io is deprecated. Use XML::SaxParser.io instead")
49
- @context = XML::Parser::Context.io(value)
50
- end
51
-
52
- def string=(value)
53
- warn("XML::SaxParser#string is deprecated. Use XML::SaxParser.string instead")
54
- @context = XML::Parser::Context.string(value)
55
- end
56
39
  end
57
40
  end
58
41
  end
@@ -1,19 +1,19 @@
1
- # encoding: UTF-8
2
-
3
- module LibXML
4
- module XML
5
- class Schema::Attribute
6
- REQUIRED = 1
7
- OPTIONAL = 2
8
-
9
- def default
10
- node['default']
11
- end
12
-
13
- def required?
14
- occurs == REQUIRED
15
- end
16
-
17
- end
18
- end
19
- end
1
+ # encoding: UTF-8
2
+
3
+ module LibXML
4
+ module XML
5
+ class Schema::Attribute
6
+ REQUIRED = 1
7
+ OPTIONAL = 2
8
+
9
+ def default
10
+ node['default']
11
+ end
12
+
13
+ def required?
14
+ occurs == REQUIRED
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -1,27 +1,19 @@
1
- # encoding: UTF-8
2
-
3
- module LibXML
4
- module XML
5
- class Schema::Element
6
- def required?
7
- !min_occurs.zero?
8
- end
9
-
10
- def array?
11
- max_occurs > 1
12
- end
13
-
14
- def elements
15
- type.elements
16
- end
17
-
18
- def annotation
19
- return if node.nil?
20
- annotations = node.children.select { |n| n.name == 'annotation' }
21
- annotations.map do |annotation|
22
- annotation.children.map(&:content).join("\n")
23
- end.join("\n")
24
- end
25
- end
26
- end
27
- end
1
+ # encoding: UTF-8
2
+
3
+ module LibXML
4
+ module XML
5
+ class Schema::Element
6
+ def required?
7
+ !min_occurs.zero?
8
+ end
9
+
10
+ def array?
11
+ max_occurs > 1
12
+ end
13
+
14
+ def elements
15
+ type.elements
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,29 +1,21 @@
1
- module LibXML
2
- module XML
3
- class Schema::Type
4
- def kind_name
5
- Schema::Types.constants.find { |k| Schema::Types.const_get(k) == kind }
6
- end
7
-
8
- def annotation
9
- return if node.nil?
10
- annotations = node.children.select { |n| n.name == 'annotation' }
11
- annotations.map do |annotation|
12
- annotation.children.map(&:content).join("\n")
13
- end.join("\n")
14
- end
15
-
16
- def annonymus_subtypes
17
- elements.select { |_, e| e.type.name.nil? }
18
- end
19
-
20
- def annonymus_subtypes_recursively(parent=nil)
21
- annonymus_subtypes.map do |element_name, e|
22
- [{[parent, element_name].compact.join('::') => e.type},
23
- e.type.annonymus_subtypes_recursively(element_name)]
24
- end.flatten
25
- end
26
-
27
- end
28
- end
29
- end
1
+ module LibXML
2
+ module XML
3
+ class Schema::Type
4
+ def kind_name
5
+ Schema::Types.constants.find { |k| Schema::Types.const_get(k) == kind }
6
+ end
7
+
8
+ def annonymus_subtypes
9
+ elements.select { |_, e| e.type.name.nil? }
10
+ end
11
+
12
+ def annonymus_subtypes_recursively(parent=nil)
13
+ annonymus_subtypes.map do |element_name, e|
14
+ [{[parent, element_name].compact.join('::') => e.type},
15
+ e.type.annonymus_subtypes_recursively(element_name)]
16
+ end.flatten
17
+ end
18
+
19
+ end
20
+ end
21
+ end
data/lib/libxml/schema.rb CHANGED
@@ -1,67 +1,48 @@
1
- module LibXML
2
- module XML
3
- class Schema
4
- module Types
5
- XML_SCHEMA_TYPE_BASIC = 1 # A built-in datatype
6
- XML_SCHEMA_TYPE_ANY = 2
7
- XML_SCHEMA_TYPE_FACET = 3
8
- XML_SCHEMA_TYPE_SIMPLE = 4
9
- XML_SCHEMA_TYPE_COMPLEX = 5
10
- XML_SCHEMA_TYPE_SEQUENCE = 6
11
- XML_SCHEMA_TYPE_CHOICE = 7
12
- XML_SCHEMA_TYPE_ALL = 8
13
- XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
14
- XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
15
- XML_SCHEMA_TYPE_UR = 11
16
- XML_SCHEMA_TYPE_RESTRICTION = 12
17
- XML_SCHEMA_TYPE_EXTENSION = 13
18
- XML_SCHEMA_TYPE_ELEMENT = 14
19
- XML_SCHEMA_TYPE_ATTRIBUTE = 15
20
- XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
21
- XML_SCHEMA_TYPE_GROUP = 17
22
- XML_SCHEMA_TYPE_NOTATION = 18
23
- XML_SCHEMA_TYPE_LIST = 19
24
- XML_SCHEMA_TYPE_UNION = 20
25
- XML_SCHEMA_TYPE_ANY_ATTRIBUTE = 21
26
- XML_SCHEMA_TYPE_IDC_UNIQUE = 22
27
- XML_SCHEMA_TYPE_IDC_KEY = 23
28
- XML_SCHEMA_TYPE_IDC_KEYREF = 24
29
- XML_SCHEMA_TYPE_PARTICLE = 25
30
- XML_SCHEMA_TYPE_ATTRIBUTE_USE = 26
31
- XML_SCHEMA_FACET_MININCLUSIVE = 1000
32
- XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
33
- XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
34
- XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
35
- XML_SCHEMA_FACET_TOTALDIGITS = 1004
36
- XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
37
- XML_SCHEMA_FACET_PATTERN = 1006
38
- XML_SCHEMA_FACET_ENUMERATION = 1007
39
- XML_SCHEMA_FACET_WHITESPACE = 1008
40
- XML_SCHEMA_FACET_LENGTH = 1009
41
- XML_SCHEMA_FACET_MAXLENGTH = 1010
42
- XML_SCHEMA_FACET_MINLENGTH = 1011
43
- XML_SCHEMA_EXTRA_QNAMEREF = 2000
44
- XML_SCHEMA_EXTRA_ATTR_USE_PROHIB = 2001
45
- end
46
-
47
- class Namespaces < Array
48
- def find_by_href(href)
49
- find { |n| n.href == href }
50
- end
51
-
52
- def find_by_prefix(prefix)
53
- find { |n| n.prefix == prefix }
54
- end
55
- end
56
-
57
- def namespaces
58
- Namespaces.new(_namespaces.uniq { |n| n.href })
59
- end
60
-
61
- def self.cached(location)
62
- @_schemas ||= {}
63
- @_schemas[location] ||= new(location)
64
- end
65
- end
66
- end
1
+ module LibXML
2
+ module XML
3
+ class Schema
4
+ module Types
5
+ XML_SCHEMA_TYPE_BASIC = 1 # A built-in datatype
6
+ XML_SCHEMA_TYPE_ANY = 2
7
+ XML_SCHEMA_TYPE_FACET = 3
8
+ XML_SCHEMA_TYPE_SIMPLE = 4
9
+ XML_SCHEMA_TYPE_COMPLEX = 5
10
+ XML_SCHEMA_TYPE_SEQUENCE = 6
11
+ XML_SCHEMA_TYPE_CHOICE = 7
12
+ XML_SCHEMA_TYPE_ALL = 8
13
+ XML_SCHEMA_TYPE_SIMPLE_CONTENT = 9
14
+ XML_SCHEMA_TYPE_COMPLEX_CONTENT = 10
15
+ XML_SCHEMA_TYPE_UR = 11
16
+ XML_SCHEMA_TYPE_RESTRICTION = 12
17
+ XML_SCHEMA_TYPE_EXTENSION = 13
18
+ XML_SCHEMA_TYPE_ELEMENT = 14
19
+ XML_SCHEMA_TYPE_ATTRIBUTE = 15
20
+ XML_SCHEMA_TYPE_ATTRIBUTEGROUP = 16
21
+ XML_SCHEMA_TYPE_GROUP = 17
22
+ XML_SCHEMA_TYPE_NOTATION = 18
23
+ XML_SCHEMA_TYPE_LIST = 19
24
+ XML_SCHEMA_TYPE_UNION = 20
25
+ XML_SCHEMA_TYPE_ANY_ATTRIBUTE = 21
26
+ XML_SCHEMA_TYPE_IDC_UNIQUE = 22
27
+ XML_SCHEMA_TYPE_IDC_KEY = 23
28
+ XML_SCHEMA_TYPE_IDC_KEYREF = 24
29
+ XML_SCHEMA_TYPE_PARTICLE = 25
30
+ XML_SCHEMA_TYPE_ATTRIBUTE_USE = 26
31
+ XML_SCHEMA_FACET_MININCLUSIVE = 1000
32
+ XML_SCHEMA_FACET_MINEXCLUSIVE = 1001
33
+ XML_SCHEMA_FACET_MAXINCLUSIVE = 1002
34
+ XML_SCHEMA_FACET_MAXEXCLUSIVE = 1003
35
+ XML_SCHEMA_FACET_TOTALDIGITS = 1004
36
+ XML_SCHEMA_FACET_FRACTIONDIGITS = 1005
37
+ XML_SCHEMA_FACET_PATTERN = 1006
38
+ XML_SCHEMA_FACET_ENUMERATION = 1007
39
+ XML_SCHEMA_FACET_WHITESPACE = 1008
40
+ XML_SCHEMA_FACET_LENGTH = 1009
41
+ XML_SCHEMA_FACET_MAXLENGTH = 1010
42
+ XML_SCHEMA_FACET_MINLENGTH = 1011
43
+ XML_SCHEMA_EXTRA_QNAMEREF = 2000
44
+ XML_SCHEMA_EXTRA_ATTR_USE_PROHIB = 2001
45
+ end
46
+ end
47
+ end
67
48
  end
@@ -0,0 +1,30 @@
1
+ # encoding: UTF-8
2
+
3
+ # Load the C-based binding.
4
+ begin
5
+ RUBY_VERSION =~ /(\d+.\d+)/
6
+ require "#{$1}/libxml_ruby"
7
+ rescue LoadError
8
+ require "libxml_ruby"
9
+ end
10
+
11
+ # Load Ruby supporting code.
12
+ require 'libxml/error'
13
+ require 'libxml/parser'
14
+ require 'libxml/document'
15
+ require 'libxml/namespaces'
16
+ require 'libxml/namespace'
17
+ require 'libxml/node'
18
+ require 'libxml/attributes'
19
+ require 'libxml/attr'
20
+ require 'libxml/attr_decl'
21
+ require 'libxml/tree'
22
+ require 'libxml/html_parser'
23
+ require 'libxml/sax_parser'
24
+ require 'libxml/sax_callbacks'
25
+
26
+ #Schema Interface
27
+ require 'libxml/schema'
28
+ require 'libxml/schema/type'
29
+ require 'libxml/schema/element'
30
+ require 'libxml/schema/attribute'
data/lib/libxml.rb CHANGED
@@ -1,35 +1,5 @@
1
1
  # encoding: UTF-8
2
+ #
3
+ # This include is deprecated, use libxml-ruby instead!
2
4
 
3
- # Load the C-based binding.
4
- begin
5
- RUBY_VERSION =~ /(\d+.\d+)/
6
- require "#{$1}/libxml_ruby"
7
- rescue LoadError
8
- require "libxml_ruby"
9
- end
10
- # Load Ruby supporting code.
11
- require 'libxml/error'
12
- require 'libxml/parser'
13
- require 'libxml/document'
14
- require 'libxml/namespaces'
15
- require 'libxml/namespace'
16
- require 'libxml/node'
17
- require 'libxml/ns'
18
- require 'libxml/attributes'
19
- require 'libxml/attr'
20
- require 'libxml/attr_decl'
21
- require 'libxml/tree'
22
- require 'libxml/reader'
23
- require 'libxml/html_parser'
24
- require 'libxml/sax_parser'
25
- require 'libxml/sax_callbacks'
26
- require 'libxml/xpath_object'
27
-
28
- #Schema Interface
29
- require 'libxml/schema'
30
- require 'libxml/schema/type'
31
- require 'libxml/schema/element'
32
- require 'libxml/schema/attribute'
33
-
34
- # Deprecated
35
- require 'libxml/properties'
5
+ require 'libxml-ruby'
data/libxml-ruby.gemspec CHANGED
@@ -1,44 +1,48 @@
1
- # encoding: utf-8
2
-
3
- # Determine the current version of the software
4
- version = File.read('ext/libxml/ruby_xml_version.h').match(/\s*RUBY_LIBXML_VERSION\s*['"](\d.+)['"]/)[1]
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'libxml-ruby'
8
- spec.version = version
9
- spec.homepage = 'http://xml4r.github.com/libxml-ruby'
10
- spec.summary = 'Ruby Bindings for LibXML2'
11
- spec.description = <<-EOS
12
- The Libxml-Ruby project provides Ruby language bindings for the GNOME
13
- Libxml2 XML toolkit. It is free software, released under the MIT License.
14
- Libxml-ruby's primary advantage over REXML is performance - if speed
15
- is your need, these are good libraries to consider, as demonstrated
16
- by the informal benchmark below.
17
- EOS
18
- spec.authors = ['Ross Bamform', 'Wai-Sun Chia', 'Sean Chittenden',
19
- 'Dan Janwoski', 'Anurag Priyam', 'Charlie Savage',
20
- 'Ryan Johnson']
21
- spec.platform = Gem::Platform::RUBY
22
- spec.bindir = "bin"
23
- spec.extensions = ["ext/libxml/extconf.rb"]
24
- spec.files = Dir.glob(['HISTORY',
25
- 'LICENSE',
26
- 'libxml-ruby.gemspec',
27
- 'MANIFEST',
28
- 'Rakefile',
29
- 'README.rdoc',
30
- 'setup.rb',
31
- 'ext/libxml/*.def',
32
- 'ext/libxml/*.h',
33
- 'ext/libxml/*.c',
34
- 'ext/libxml/*.rb',
35
- 'ext/vc/*.sln',
36
- 'ext/vc/*.vcprojx',
37
- 'lib/**/*.rb',
38
- 'script/**/*',
39
- 'test/**/*'])
40
- spec.test_files = Dir.glob("test/tc_*.rb")
41
- spec.required_ruby_version = '>= 1.8.6'
42
- spec.date = DateTime.now
43
- spec.license = 'MIT'
44
- end
1
+ # encoding: utf-8
2
+ require 'date'
3
+
4
+ # Determine the current version of the software
5
+ version = File.read('ext/libxml/ruby_xml_version.h').match(/\s*RUBY_LIBXML_VERSION\s*['"](\d.+)['"]/)[1]
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'libxml-ruby'
9
+ spec.version = version
10
+ spec.homepage = 'https://xml4r.github.io/libxml-ruby/'
11
+ spec.summary = 'Ruby Bindings for LibXML2'
12
+ spec.description = <<-EOS
13
+ The Libxml-Ruby project provides Ruby language bindings for the GNOME
14
+ Libxml2 XML toolkit. It is free software, released under the MIT License.
15
+ Libxml-ruby's primary advantage over REXML is performance - if speed
16
+ is your need, these are good libraries to consider, as demonstrated
17
+ by the informal benchmark below.
18
+ EOS
19
+ spec.authors = ['Ross Bamform', 'Wai-Sun Chia', 'Sean Chittenden',
20
+ 'Dan Janwoski', 'Anurag Priyam', 'Charlie Savage',
21
+ 'Ryan Johnson']
22
+ spec.platform = Gem::Platform::RUBY
23
+ spec.bindir = 'bin'
24
+ spec.extensions = ['ext/libxml/extconf.rb']
25
+ spec.files = Dir.glob(['HISTORY',
26
+ 'LICENSE',
27
+ 'libxml-ruby.gemspec',
28
+ 'MANIFEST',
29
+ 'Rakefile',
30
+ 'README.rdoc',
31
+ 'setup.rb',
32
+ 'ext/libxml/*.def',
33
+ 'ext/libxml/*.h',
34
+ 'ext/libxml/*.c',
35
+ 'ext/libxml/*.rb',
36
+ 'ext/vc/*.sln',
37
+ 'ext/vc/*.vcprojx',
38
+ 'lib/**/*.rb',
39
+ 'script/**/*',
40
+ 'test/**/*'])
41
+
42
+ spec.test_files = Dir.glob('test/test_*.rb')
43
+ spec.required_ruby_version = '>= 2.5'
44
+ spec.date = DateTime.now
45
+ spec.add_development_dependency('rake-compiler')
46
+ spec.add_development_dependency('minitest')
47
+ spec.license = 'MIT'
48
+ end