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