libxml-fixed-jruby 1.0.0-jruby
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/Manifest.txt +91 -0
- data/README.txt +50 -0
- data/Rakefile +40 -0
- data/lib/libxml-jruby.rb +84 -0
- data/lib/libxml-jruby/xml.rb +1 -0
- data/lib/libxml-jruby/xml/attr.rb +46 -0
- data/lib/libxml-jruby/xml/attributes.rb +68 -0
- data/lib/libxml-jruby/xml/document.rb +52 -0
- data/lib/libxml-jruby/xml/dtd.rb +25 -0
- data/lib/libxml-jruby/xml/node.rb +285 -0
- data/lib/libxml-jruby/xml/ns.rb +19 -0
- data/lib/libxml-jruby/xml/parser.rb +121 -0
- data/lib/libxml-jruby/xml/xpath.rb +98 -0
- data/lib/libxml.rb +1 -0
- data/lib/xml.rb +13 -0
- data/lib/xml/libxml.rb +8 -0
- data/script/benchmark/depixelate.rb +633 -0
- data/script/benchmark/hamlet.xml +9055 -0
- data/script/benchmark/sock_entries.xml +507 -0
- data/script/benchmark/throughput.rb +40 -0
- data/script/benchmark/xml_benchmarks.rb +228 -0
- data/script/test +6 -0
- data/tasks/ann.rake +81 -0
- data/tasks/bones.rake +21 -0
- data/tasks/gem.rake +126 -0
- data/tasks/git.rake +41 -0
- data/tasks/manifest.rake +49 -0
- data/tasks/notes.rake +28 -0
- data/tasks/post_load.rake +39 -0
- data/tasks/rdoc.rake +51 -0
- data/tasks/rubyforge.rake +57 -0
- data/tasks/setup.rb +268 -0
- data/tasks/spec.rake +55 -0
- data/tasks/svn.rake +48 -0
- data/tasks/test.rake +38 -0
- data/test/etc_doc_to_s.rb +19 -0
- data/test/ets_copy_bug.rb +21 -0
- data/test/ets_copy_bug3.rb +38 -0
- data/test/ets_doc_file.rb +15 -0
- data/test/ets_doc_to_s.rb +21 -0
- data/test/ets_gpx.rb +26 -0
- data/test/ets_node_gc.rb +21 -0
- data/test/ets_test.xml +2 -0
- data/test/ets_tsr.rb +9 -0
- data/test/model/books.xml +147 -0
- data/test/model/default_validation_bug.rb +0 -0
- data/test/model/merge_bug_data.xml +58 -0
- data/test/model/rubynet.xml +78 -0
- data/test/model/rubynet_project +1 -0
- data/test/model/saxtest.xml +5 -0
- data/test/model/shiporder.rnc +28 -0
- data/test/model/shiporder.rng +86 -0
- data/test/model/shiporder.xml +23 -0
- data/test/model/shiporder.xsd +31 -0
- data/test/model/simple.xml +7 -0
- data/test/model/soap.xml +27 -0
- data/test/model/xinclude.xml +5 -0
- data/test/tc_attributes.rb +110 -0
- data/test/tc_deprecated_require.rb +13 -0
- data/test/tc_document.rb +97 -0
- data/test/tc_document_write.rb +139 -0
- data/test/tc_dtd.rb +70 -0
- data/test/tc_html_parser.rb +63 -0
- data/test/tc_node.rb +108 -0
- data/test/tc_node_attr.rb +176 -0
- data/test/tc_node_cdata.rb +51 -0
- data/test/tc_node_comment.rb +32 -0
- data/test/tc_node_copy.rb +40 -0
- data/test/tc_node_edit.rb +98 -0
- data/test/tc_node_set.rb +24 -0
- data/test/tc_node_set2.rb +37 -0
- data/test/tc_node_text.rb +17 -0
- data/test/tc_node_xlink.rb +28 -0
- data/test/tc_ns.rb +18 -0
- data/test/tc_parser.rb +308 -0
- data/test/tc_parser_context.rb +126 -0
- data/test/tc_properties.rb +37 -0
- data/test/tc_reader.rb +112 -0
- data/test/tc_relaxng.rb +39 -0
- data/test/tc_sax_parser.rb +113 -0
- data/test/tc_schema.rb +39 -0
- data/test/tc_traversal.rb +220 -0
- data/test/tc_well_formed.rb +11 -0
- data/test/tc_xinclude.rb +26 -0
- data/test/tc_xpath.rb +130 -0
- data/test/tc_xpath_context.rb +72 -0
- data/test/tc_xpointer.rb +78 -0
- data/test/test_libxml-jruby.rb +0 -0
- data/test/test_suite.rb +31 -0
- data/test/ts_working.rb +31 -0
- metadata +146 -0
data/test/tc_xinclude.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'xml'
|
2
|
+
require 'test/unit'
|
3
|
+
|
4
|
+
class TestXInclude < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@doc = XML::Document.file(File.join(File.dirname(__FILE__), 'model/xinclude.xml'))
|
7
|
+
assert_instance_of(XML::Document, @doc)
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
@doc = nil
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_ruby_xml_xinclude
|
15
|
+
expected = <<-EOS
|
16
|
+
<?xml version="1.0"?>
|
17
|
+
<document xmlns:xi="http://www.w3.org/2001/XInclude">
|
18
|
+
<p>This libxml2 binding has the following project information:
|
19
|
+
<code>This is some text to include in an xml file via XInclude.</code></p>
|
20
|
+
</document>
|
21
|
+
EOS
|
22
|
+
|
23
|
+
assert_equal(1, @doc.xinclude)
|
24
|
+
assert_equal(expected, @doc.to_s)
|
25
|
+
end
|
26
|
+
end
|
data/test/tc_xpath.rb
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
require 'xml'
|
2
|
+
require "tempfile"
|
3
|
+
require "test/unit"
|
4
|
+
|
5
|
+
class TestXPath < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
@doc = XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
@doc = nil
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_doc_find
|
15
|
+
nodes = @doc.find('/soap:Envelope')
|
16
|
+
assert_instance_of(XML::XPath::Object, nodes)
|
17
|
+
assert_equal(1, nodes.length)
|
18
|
+
assert_equal(nodes.xpath_type, XML::XPath::NODESET)
|
19
|
+
assert_instance_of(XML::Node::Set, nodes.set)
|
20
|
+
assert_instance_of(XML::XPath::Context, nodes.context)
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_doc_find_first
|
24
|
+
node = @doc.find_first('/soap:Envelope/soap:Body')
|
25
|
+
assert_instance_of(XML::Node, node)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_ns
|
29
|
+
nodes = @doc.find('//ns1:IdAndName', 'ns1:http://domain.somewhere.com')
|
30
|
+
assert_equal(3, nodes.length)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_ns_array
|
34
|
+
nodes = @doc.find('//ns1:IdAndName', ['ns1:http://domain.somewhere.com'])
|
35
|
+
assert_equal(3, nodes.length)
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_default_ns
|
39
|
+
# Pull all nodes with http://services.somewhere.com namespace
|
40
|
+
nodes = @doc.find('//*[namespace-uri()="http://services.somewhere.com"]')
|
41
|
+
assert_equal(2, nodes.length)
|
42
|
+
assert_equal('getManufacturerNamesResponse', nodes[0].name)
|
43
|
+
assert_equal('IDAndNameList', nodes[1].name)
|
44
|
+
|
45
|
+
# Pull all nodes with http://services.somewhere.com namespace
|
46
|
+
nodes = @doc.find('//ns:*', 'ns:http://services.somewhere.com')
|
47
|
+
assert_equal(2, nodes.length)
|
48
|
+
assert_equal('getManufacturerNamesResponse', nodes[0].name)
|
49
|
+
assert_equal('IDAndNameList', nodes[1].name)
|
50
|
+
|
51
|
+
# Get getManufacturerNamesResponse node
|
52
|
+
nodes = @doc.find('//ns:getManufacturerNamesResponse', 'ns:http://services.somewhere.com')
|
53
|
+
assert_equal(1, nodes.length)
|
54
|
+
|
55
|
+
# Get IdAndName node
|
56
|
+
nodes = @doc.find('/soap:Envelope/soap:Body/ns0:getManufacturerNamesResponse/ns0:IDAndNameList/ns1:IdAndName',
|
57
|
+
['ns0:http://services.somewhere.com', 'ns1:http://domain.somewhere.com'])
|
58
|
+
assert_equal(3, nodes.length)
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_attribute_ns
|
62
|
+
# Pull all nodes with http://services.somewhere.com namespace
|
63
|
+
nodes = @doc.find('@soap:encodingStyle')
|
64
|
+
assert_equal(1, nodes.length)
|
65
|
+
assert_equal('encodingStyle', nodes.first.name)
|
66
|
+
assert_equal('http://www.w3.org/2001/12/soap-encoding', nodes.first.value)
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_node_find
|
70
|
+
nodes = @doc.find('//ns1:IdAndName', 'ns1:http://domain.somewhere.com')
|
71
|
+
node = nodes.first
|
72
|
+
|
73
|
+
# Since we are searching on the node, don't have to register namespace
|
74
|
+
nodes = node.find('ns1:name')
|
75
|
+
assert_equal(1, nodes.length)
|
76
|
+
assert_equal('name', nodes.first.name)
|
77
|
+
assert_equal('man1', nodes.first.content)
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_node_find_first
|
81
|
+
node = @doc.find_first('//ns1:IdAndName', 'ns1:http://domain.somewhere.com')
|
82
|
+
|
83
|
+
# Since we are searching on the node, don't have to register namespace
|
84
|
+
node = node.find_first('ns1:name')
|
85
|
+
assert_equal('name', node.name)
|
86
|
+
assert_equal('man1', node.content)
|
87
|
+
end
|
88
|
+
|
89
|
+
def test_node_no_doc
|
90
|
+
node = XML::Node.new('header', 'some content')
|
91
|
+
assert_raise(TypeError) do
|
92
|
+
node = node.find_first('/header')
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_nodes_debug
|
97
|
+
# nodes = @doc.find('//ns1:IdAndName', 'ns1:http://domain.somewhere.com')
|
98
|
+
#nodes.debug
|
99
|
+
end
|
100
|
+
|
101
|
+
#def test_custom_function
|
102
|
+
#xml = Tempfile.new("xxx")
|
103
|
+
#xml.puts("<a/>")
|
104
|
+
#xml.close
|
105
|
+
|
106
|
+
#doc = XML::Document.file(xml.path)
|
107
|
+
#assert_nil(doc.find("//*[name(.)=normalize_space(' a ')]"))
|
108
|
+
#end
|
109
|
+
|
110
|
+
#def test_memory
|
111
|
+
## This sometimes causes a segmentation fault because
|
112
|
+
## an xml document is sometimes freed before the
|
113
|
+
## xpath_object used to query it. When the xpath_object
|
114
|
+
## is free, it iterates over its results which are pointers
|
115
|
+
## to the document's nodes. A segmentation fault then happens.
|
116
|
+
|
117
|
+
#100.times do
|
118
|
+
#doc = XML::Document.new('1.0')
|
119
|
+
#doc.root = XML::Node.new("header")
|
120
|
+
|
121
|
+
#1000.times do
|
122
|
+
#doc.root << XML::Node.new("footer")
|
123
|
+
#end
|
124
|
+
|
125
|
+
#nodes = doc.find('/header/footer')
|
126
|
+
#nodes.length
|
127
|
+
#nodes = nil
|
128
|
+
#end
|
129
|
+
#end
|
130
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'xml'
|
2
|
+
require "tempfile"
|
3
|
+
require "test/unit"
|
4
|
+
|
5
|
+
class TestXPathContext < Test::Unit::TestCase
|
6
|
+
SOAP_PREFIX = 'soap'
|
7
|
+
SOAP_URI = 'http://schemas.xmlsoap.org/soap/envelope/'
|
8
|
+
|
9
|
+
NS0_PREFIX = 'ns0'
|
10
|
+
NS0_URI = 'http://services.somewhere.com'
|
11
|
+
|
12
|
+
def setup()
|
13
|
+
doc = XML::Document.file(File.join(File.dirname(__FILE__), 'model/soap.xml'))
|
14
|
+
@context = XML::XPath::Context.new(doc)
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown()
|
18
|
+
@context = nil
|
19
|
+
end
|
20
|
+
|
21
|
+
#def test_no_ns
|
22
|
+
#assert_raise(XML::XPath::InvalidPath) do
|
23
|
+
#@context.find('/soap:Envelope')
|
24
|
+
#end
|
25
|
+
#end
|
26
|
+
|
27
|
+
def test_ns_register
|
28
|
+
@context.register_namespace(SOAP_PREFIX, SOAP_URI)
|
29
|
+
@context.register_namespace(NS0_PREFIX, NS0_URI)
|
30
|
+
nodes = @context.find('/soap:Envelope/soap:Body/ns0:getManufacturerNamesResponse')
|
31
|
+
assert_equal(1, nodes.length)
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_ns_register_string
|
35
|
+
@context.register_namespaces("#{SOAP_PREFIX}:#{SOAP_URI}")
|
36
|
+
@context.register_namespaces("#{NS0_PREFIX}:#{NS0_URI}")
|
37
|
+
nodes = @context.find('/soap:Envelope/soap:Body/ns0:getManufacturerNamesResponse')
|
38
|
+
assert_equal(1, nodes.length)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_ns_register_array
|
42
|
+
@context.register_namespaces(["#{SOAP_PREFIX}:#{SOAP_URI}", "#{NS0_PREFIX}:#{NS0_URI}"])
|
43
|
+
nodes = @context.find('/soap:Envelope/soap:Body/ns0:getManufacturerNamesResponse')
|
44
|
+
assert_equal(1, nodes.length)
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_ns_register_hash
|
48
|
+
@context.register_namespaces(SOAP_PREFIX => SOAP_URI,
|
49
|
+
NS0_PREFIX => NS0_URI)
|
50
|
+
|
51
|
+
nodes = @context.find('/soap:Envelope/soap:Body/ns0:getManufacturerNamesResponse')
|
52
|
+
assert_equal(1, nodes.length)
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_ns_register_node
|
56
|
+
@context.register_namespaces_from_node(@context.doc.root)
|
57
|
+
nodes = @context.find('/soap:Envelope')
|
58
|
+
assert_equal(1, nodes.length)
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_node
|
62
|
+
@context.register_namespaces_from_node(@context.doc.root)
|
63
|
+
|
64
|
+
nodes = @context.find('soap:Body')
|
65
|
+
assert_equal(0, nodes.length)
|
66
|
+
|
67
|
+
|
68
|
+
@context.node = @context.doc.root.child.next
|
69
|
+
nodes = @context.find('soap:Body')
|
70
|
+
assert_equal(0, nodes.length)
|
71
|
+
end
|
72
|
+
end
|
data/test/tc_xpointer.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'xml'
|
2
|
+
require "test/unit"
|
3
|
+
|
4
|
+
class TC_XML_XPointer < Test::Unit::TestCase
|
5
|
+
def setup()
|
6
|
+
xp = XML::Parser.new()
|
7
|
+
str = '<!DOCTYPE ra [<!ELEMENT ra (foo+)><!ATTLIST ra id ID #IMPLIED><!ELEMENT foo (#PCDATA)><!ATTLIST foo id ID #IMPLIED>]><ra id="start"><foo id="one">one</foo><foo id="two">two</foo><foo id="three">three</foo></ra>'
|
8
|
+
assert_equal(str, xp.string = str)
|
9
|
+
@doc = xp.parse
|
10
|
+
assert_instance_of(XML::Document, @doc)
|
11
|
+
@root = @doc.root
|
12
|
+
assert_instance_of(XML::Node, @root)
|
13
|
+
end
|
14
|
+
|
15
|
+
def teardown()
|
16
|
+
@doc = nil
|
17
|
+
@root = nil
|
18
|
+
@xptr = nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_libxml_xpointer_id()
|
22
|
+
@xptr = @root.pointer('xpointer(id("two"))')
|
23
|
+
assert_instance_of(XML::XPath::Object, @xptr)
|
24
|
+
set = @xptr.set
|
25
|
+
assert_instance_of(XML::Node::Set, set)
|
26
|
+
for n in set
|
27
|
+
# It seems from the spec that the pointer should
|
28
|
+
# be the whole node, rather than just the ID attr.
|
29
|
+
|
30
|
+
# assert_equal('two', n.to_s)
|
31
|
+
|
32
|
+
assert_instance_of(XML::Node, n)
|
33
|
+
assert_equal('two', n['id'])
|
34
|
+
end
|
35
|
+
|
36
|
+
# FIXME: Not sure at all about this kind of range
|
37
|
+
if ENV['NOTWORKING']
|
38
|
+
@xptr = @root.pointer('xpointer(id("two")) xpointer(id("three"))')
|
39
|
+
assert_instance_of(XML::XPath, @xptr)
|
40
|
+
assert_instance_of(XML::Node::Set, @xptr.set)
|
41
|
+
assert_equal(2, @xptr.set.length)
|
42
|
+
for n in @xptr.set
|
43
|
+
assert_match(/two|three/, n.to_s)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# FIXME: There is a bug in these ranges...
|
49
|
+
if ENV['NOTWORKING']
|
50
|
+
def test_libxml_xpointer_range()
|
51
|
+
nstart = nend = nil
|
52
|
+
@xptr = @root.pointer('xpointer(id("one"))').set
|
53
|
+
@xptr.each{|n| nstart = n}
|
54
|
+
assert_instance_of(XML::Node, nstart)
|
55
|
+
@xptr = @root.pointer('xpointer(id("three"))').set
|
56
|
+
@xptr.each{|n| nend = n}
|
57
|
+
assert_instance_of(XML::Node, nend)
|
58
|
+
range = XML::XPointer.range(nstart, nend)
|
59
|
+
assert_instance_of(XML::XPath, range)
|
60
|
+
assert_instance_of(XML::Node::Set, range.set)
|
61
|
+
|
62
|
+
for n in range.set
|
63
|
+
assert_match(/one|two|three/, n.to_s)
|
64
|
+
end
|
65
|
+
assert_equal(3, range.set.length)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# def test_libxml_xpointer_start_point()
|
70
|
+
# @xptr = @root.pointer('xpointer(start-point("one"))')
|
71
|
+
# assert_instance_of(XML::XPath, @xptr)
|
72
|
+
# set = @xptr.set
|
73
|
+
# assert_instance_of(XML::Node::Set, set)
|
74
|
+
# for n in set
|
75
|
+
# assert_match(/one|two|three/, n.to_s)
|
76
|
+
# end
|
77
|
+
# end
|
78
|
+
end
|
File without changes
|
data/test/test_suite.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'tc_well_formed'
|
2
|
+
require 'tc_attributes'
|
3
|
+
require 'tc_document'
|
4
|
+
require 'tc_document_write'
|
5
|
+
require 'tc_dtd'
|
6
|
+
require 'tc_html_parser'
|
7
|
+
require 'tc_node'
|
8
|
+
require 'tc_node_attr'
|
9
|
+
require 'tc_node_cdata'
|
10
|
+
require 'tc_node_comment'
|
11
|
+
require 'tc_node_copy'
|
12
|
+
require 'tc_node_edit'
|
13
|
+
require 'tc_node_set'
|
14
|
+
require 'tc_node_set2'
|
15
|
+
require 'tc_node_text'
|
16
|
+
require 'tc_node_xlink'
|
17
|
+
require 'tc_ns'
|
18
|
+
require 'tc_parser'
|
19
|
+
require 'tc_parser_context'
|
20
|
+
require 'tc_reader'
|
21
|
+
require 'tc_relaxng'
|
22
|
+
require 'tc_sax_parser'
|
23
|
+
require 'tc_schema'
|
24
|
+
require 'tc_traversal'
|
25
|
+
require 'tc_xinclude'
|
26
|
+
require 'tc_xpath'
|
27
|
+
require 'tc_xpointer'
|
28
|
+
|
29
|
+
# Compatibility
|
30
|
+
require 'tc_properties'
|
31
|
+
require 'tc_deprecated_require'
|
data/test/ts_working.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# require 'tc_well_formed' FIXME Parser#context not implemented
|
2
|
+
require 'tc_attributes'
|
3
|
+
require 'tc_document'
|
4
|
+
# require 'tc_document_write' FIXME Document#write not implemented
|
5
|
+
# require 'tc_dtd' FIXME Issues with reading a Schema from a string
|
6
|
+
# require 'tc_html_parser' FIXME HTMLParser not implemented
|
7
|
+
require 'tc_node'
|
8
|
+
require 'tc_node_attr'
|
9
|
+
# require 'tc_node_cdata' FIXME Node#new_cdata
|
10
|
+
# require 'tc_node_comment' FIXME Node#new_comment
|
11
|
+
require 'tc_node_copy'
|
12
|
+
# require 'tc_node_edit' FIXME Not implemented
|
13
|
+
require 'tc_node_set'
|
14
|
+
require 'tc_node_set2'
|
15
|
+
# require 'tc_node_text' FIXME Node#new_text
|
16
|
+
# require 'tc_node_xlink' FIXME Not implemented
|
17
|
+
require 'tc_ns'
|
18
|
+
require 'tc_parser'
|
19
|
+
# require 'tc_parser_context' FIXME Not implemented
|
20
|
+
# require 'tc_reader' FIXME Not implemented
|
21
|
+
# require 'tc_relaxng' FIXME Not implemented
|
22
|
+
# require 'tc_sax_parser' FIXME show stopping error
|
23
|
+
# require 'tc_schema' FIXME treat string like file?
|
24
|
+
require 'tc_traversal'
|
25
|
+
# require 'tc_xinclude' FIXME Not implemented
|
26
|
+
# require 'tc_xpath' FIXME this is partially implemented
|
27
|
+
# require 'tc_xpointer' FIXME Not implemented
|
28
|
+
|
29
|
+
# Compatibility
|
30
|
+
require 'tc_properties'
|
31
|
+
require 'tc_deprecated_require'
|
metadata
ADDED
@@ -0,0 +1,146 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: libxml-fixed-jruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 1.0.0
|
6
|
+
platform: jruby
|
7
|
+
authors:
|
8
|
+
- Michael Guterl
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2008-09-20 00:00:00 -04:00
|
14
|
+
default_executable:
|
15
|
+
dependencies: []
|
16
|
+
|
17
|
+
description:
|
18
|
+
email: mguterl @nospam@ gmail.com
|
19
|
+
executables: []
|
20
|
+
|
21
|
+
extensions: []
|
22
|
+
|
23
|
+
extra_rdoc_files:
|
24
|
+
- README.txt
|
25
|
+
files:
|
26
|
+
- History.txt
|
27
|
+
- Manifest.txt
|
28
|
+
- README.txt
|
29
|
+
- Rakefile
|
30
|
+
- lib/libxml-jruby.rb
|
31
|
+
- lib/libxml-jruby/xml.rb
|
32
|
+
- lib/libxml-jruby/xml/attr.rb
|
33
|
+
- lib/libxml-jruby/xml/attributes.rb
|
34
|
+
- lib/libxml-jruby/xml/document.rb
|
35
|
+
- lib/libxml-jruby/xml/dtd.rb
|
36
|
+
- lib/libxml-jruby/xml/node.rb
|
37
|
+
- lib/libxml-jruby/xml/ns.rb
|
38
|
+
- lib/libxml-jruby/xml/parser.rb
|
39
|
+
- lib/libxml-jruby/xml/xpath.rb
|
40
|
+
- lib/libxml.rb
|
41
|
+
- lib/xml.rb
|
42
|
+
- lib/xml/libxml.rb
|
43
|
+
- script/benchmark/depixelate.rb
|
44
|
+
- script/benchmark/hamlet.xml
|
45
|
+
- script/benchmark/sock_entries.xml
|
46
|
+
- script/benchmark/throughput.rb
|
47
|
+
- script/benchmark/xml_benchmarks.rb
|
48
|
+
- script/test
|
49
|
+
- tasks/ann.rake
|
50
|
+
- tasks/bones.rake
|
51
|
+
- tasks/gem.rake
|
52
|
+
- tasks/git.rake
|
53
|
+
- tasks/manifest.rake
|
54
|
+
- tasks/notes.rake
|
55
|
+
- tasks/post_load.rake
|
56
|
+
- tasks/rdoc.rake
|
57
|
+
- tasks/rubyforge.rake
|
58
|
+
- tasks/setup.rb
|
59
|
+
- tasks/spec.rake
|
60
|
+
- tasks/svn.rake
|
61
|
+
- tasks/test.rake
|
62
|
+
- test/etc_doc_to_s.rb
|
63
|
+
- test/ets_copy_bug.rb
|
64
|
+
- test/ets_copy_bug3.rb
|
65
|
+
- test/ets_doc_file.rb
|
66
|
+
- test/ets_doc_to_s.rb
|
67
|
+
- test/ets_gpx.rb
|
68
|
+
- test/ets_node_gc.rb
|
69
|
+
- test/ets_test.xml
|
70
|
+
- test/ets_tsr.rb
|
71
|
+
- test/model/books.xml
|
72
|
+
- test/model/default_validation_bug.rb
|
73
|
+
- test/model/merge_bug_data.xml
|
74
|
+
- test/model/rubynet.xml
|
75
|
+
- test/model/rubynet_project
|
76
|
+
- test/model/saxtest.xml
|
77
|
+
- test/model/shiporder.rnc
|
78
|
+
- test/model/shiporder.rng
|
79
|
+
- test/model/shiporder.xml
|
80
|
+
- test/model/shiporder.xsd
|
81
|
+
- test/model/simple.xml
|
82
|
+
- test/model/soap.xml
|
83
|
+
- test/model/xinclude.xml
|
84
|
+
- test/tc_attributes.rb
|
85
|
+
- test/tc_deprecated_require.rb
|
86
|
+
- test/tc_document.rb
|
87
|
+
- test/tc_document_write.rb
|
88
|
+
- test/tc_dtd.rb
|
89
|
+
- test/tc_html_parser.rb
|
90
|
+
- test/tc_node.rb
|
91
|
+
- test/tc_node_attr.rb
|
92
|
+
- test/tc_node_cdata.rb
|
93
|
+
- test/tc_node_comment.rb
|
94
|
+
- test/tc_node_copy.rb
|
95
|
+
- test/tc_node_edit.rb
|
96
|
+
- test/tc_node_set.rb
|
97
|
+
- test/tc_node_set2.rb
|
98
|
+
- test/tc_node_text.rb
|
99
|
+
- test/tc_node_xlink.rb
|
100
|
+
- test/tc_ns.rb
|
101
|
+
- test/tc_parser.rb
|
102
|
+
- test/tc_parser_context.rb
|
103
|
+
- test/tc_properties.rb
|
104
|
+
- test/tc_reader.rb
|
105
|
+
- test/tc_relaxng.rb
|
106
|
+
- test/tc_sax_parser.rb
|
107
|
+
- test/tc_schema.rb
|
108
|
+
- test/tc_traversal.rb
|
109
|
+
- test/tc_well_formed.rb
|
110
|
+
- test/tc_xinclude.rb
|
111
|
+
- test/tc_xpath.rb
|
112
|
+
- test/tc_xpath_context.rb
|
113
|
+
- test/tc_xpointer.rb
|
114
|
+
- test/test_libxml-jruby.rb
|
115
|
+
- test/test_suite.rb
|
116
|
+
- test/ts_working.rb
|
117
|
+
has_rdoc: true
|
118
|
+
homepage: http://rubyforge.org/projects/libxml-jruby
|
119
|
+
licenses: []
|
120
|
+
|
121
|
+
post_install_message:
|
122
|
+
rdoc_options: []
|
123
|
+
|
124
|
+
require_paths:
|
125
|
+
- lib
|
126
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: "0"
|
132
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: "0"
|
138
|
+
requirements: []
|
139
|
+
|
140
|
+
rubyforge_project: libxml-fixed-jruby
|
141
|
+
rubygems_version: 1.6.2
|
142
|
+
signing_key:
|
143
|
+
specification_version: 3
|
144
|
+
summary: LibXMLRuby compatibility layer for jruby
|
145
|
+
test_files: []
|
146
|
+
|