rexml error - REXML::Validation

D

Daniel Berger

Hi all,
ruby 1.8.2 (2004-10-11) [sparc-solaris2.9]

This bit of code, that seemed to work fine on 1.8.1, is now choking:

require "rexml/document"
include REXML

file = "some_file"
database = "foo"

doc = Document.new(File.new(file))
ary = doc.elements.to_a("//name[text()='#{database}']")
parent = ary[0].parent

Running this bit of code, I get:

opt/lib/ruby/site_ruby/1.8/rexml/parsers/treeparser.rb:80:in `parse':
uninitialized constant REXML::Validation (NameError)
from /opt/lib/ruby/site_ruby/1.8/rexml/document.rb:175:in
`build'
from /opt/lib/ruby/site_ruby/1.8/rexml/document.rb:45:in
`initialize'
from rexmltest.rb:7:in `new'
from rexmltest.rb:7

I tried installing rexml 3.1.1 from the RAA but I get the same error.
Actual XML is as follows:
<dbrc>
<database>
<name>foo</name>
<user>user1</user>
<password>pwd1</password>
<driver>Oracle</driver>
<interval>60</interval>
<timeout>40</timeout>
<max_reconn>3</max_reconn>
</database>
<database>
<name>foo</name>
<user>user2</user>
<password>pwd2</password>
<driver>OCI8</driver>
<interval>60</interval>
<timeout>60</timeout>
<max_reconn>4</max_reconn>
</database>
<database>
<name>bar</name>
<user>user1</user>
<password>pwd3</password>
<driver>Oracle</driver>
<interval>30</interval>
<timeout>30</timeout>
<max_reconn>2</max_reconn>
</database>
<database>
<name>baz</name>
<user>user3</user.
<password>pwd4</password>
</database>
</dbrc>


Any ideas?

Regards,

Dan
 
W

why the lucky stiff

Daniel said:
ruby 1.8.2 (2004-10-11) [sparc-solaris2.9]

[...]

opt/lib/ruby/site_ruby/1.8/rexml/parsers/treeparser.rb:80:in `parse':
uninitialized constant REXML::Validation (NameError)
Refresh your CVS checkout with `cvs update -d'. Rebuild and you'll be
extra-fine.

_why
 
H

Henrik Horneber

Daniel said:
Hi all,


ruby 1.8.2 (2004-10-11) [sparc-solaris2.9]

This bit of code, that seemed to work fine on 1.8.1, is now choking:

require "rexml/document"
include REXML

file = "some_file"
database = "foo"

doc = Document.new(File.new(file))
ary = doc.elements.to_a("//name[text()='#{database}']")
ary = doc.elements["//name[text()='#{database}']"] # does not make a
difference, but I like it better
parent = ary[0].parent

Running this bit of code, I get:

opt/lib/ruby/site_ruby/1.8/rexml/parsers/treeparser.rb:80:in `parse':
uninitialized constant REXML::Validation (NameError)
from /opt/lib/ruby/site_ruby/1.8/rexml/document.rb:175:in
`build'
from /opt/lib/ruby/site_ruby/1.8/rexml/document.rb:45:in
`initialize'
from rexmltest.rb:7:in `new'
from rexmltest.rb:7

I tried installing rexml 3.1.1 from the RAA but I get the same error.
Actual XML is as follows:
<dbrc>
<database>
<name>foo</name>
<user>user1</user>
<password>pwd1</password>
<driver>Oracle</driver>
<interval>60</interval>
<timeout>40</timeout>
<max_reconn>3</max_reconn>
</database>
<database>
<name>foo</name>
<user>user2</user>
<password>pwd2</password>
<driver>OCI8</driver>
<interval>60</interval>
<timeout>60</timeout>
<max_reconn>4</max_reconn>
</database>
<database>
<name>bar</name>
<user>user1</user>
<password>pwd3</password>
<driver>Oracle</driver>
<interval>30</interval>
<timeout>30</timeout>
<max_reconn>2</max_reconn>
</database>
<database>
<name>baz</name>
<user>user3</user. ^^^^
<password>pwd4</password>
</database>
</dbrc>


Any ideas?


hope that helps.

After fixing the </user> typo the script runs without errors, even with
your original line.

C:\>ruby -v
ruby 1.8.2 (2004-07-16) [i386-mswin32]


Henrik
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,050
Latest member
AngelS122

Latest Threads

Top