xml builder not able to create namespaced elements w/attributes??

S

Stephen Bannasch

I'd like to be able to build a xm like this with builder:

<sailuserdata:ESession xmi:version="2.0" xmlns:xmi="http://
www.omg.org/XMI" xmlns:sailuserdata="sailuserdata">
<mydata/>
</sailuserdata:ESession>

XML Builder has a way of making an element with a namespace (put a
space before the colon, see: http://builder.rubyforge.org/):

x.sailuserdata :ESession
=> "<sailuserdata:ESession/>"

And I can wrap my own elements easily:

x.sailuserdata :ESession do
x.mydata
end
=> "<sailuserdata:ESession><mydata/></sailuserdata:ESession>"

But I can't get it to add attributes.

x.sailuserdata :ESession("key" => "123")
SyntaxError: compile error
(irb):49: parse error, unexpected '(', expecting $
x.sailuserdata :ESession("key" => "123")
^
from (irb):49
from :0

Any ideas on how I can fix (or work around) this?

Thanks
 
D

dblack

Hi --

I'd like to be able to build a xm like this with builder:

<sailuserdata:ESession xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:sailuserdata="sailuserdata">
<mydata/>
</sailuserdata:ESession>

XML Builder has a way of making an element with a namespace (put a space
before the colon, see: http://builder.rubyforge.org/):

x.sailuserdata :ESession
=> "<sailuserdata:ESession/>"

And I can wrap my own elements easily:

x.sailuserdata :ESession do
x.mydata
end
=> "<sailuserdata:ESession><mydata/></sailuserdata:ESession>"

But I can't get it to add attributes.

x.sailuserdata :ESession("key" => "123")
SyntaxError: compile error
(irb):49: parse error, unexpected '(', expecting $
x.sailuserdata :ESession("key" => "123")
^
from (irb):49
from :0

Any ideas on how I can fix (or work around) this?

You have to treat the hash { "key" => "123" } as a second method
argument, which is what it is. You can leave the {} off, but it still
needs a comma before it :)

x.sailuserdata :ESession, "key" => "123"


David

--
http://www.rubypowerandlight.com => Ruby/Rails training & consultancy
http://www.manning.com/black => RUBY FOR RAILS (reviewed on
Slashdot, 7/12/2006!)
http://dablog.rubypal.com => D[avid ]A[. ]B[lack's][ Web]log
(e-mail address removed) => me
 

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

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top