From: dblack@...
Date: 2006-07-23T23:36:38+09:00
Subject: Re: xml builder not able to create namespaced elements w/attributes??
Hi --
On Sun, 23 Jul 2006, Stephen Bannasch wrote:
> I'd like to be able to build a xm like this with builder:
>
> xmlns:sailuserdata="sailuserdata">
>
>
>
> 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
> => ""
>
> And I can wrap my own elements easily:
>
> x.sailuserdata :ESession do
> x.mydata
> end
> => ""
>
> 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
dblack@wobblini.net => me