hello,
this is my sintra code can any one tell why xml isn’t been generated on
browser
####### this is my sinatra code############
get ‘/multiquery.xml’ do
content_type(‘text/xml’)
array_of_names = params[:name]
‘#{construct_xml(array_of_names)}’
end
the method construct_xml look like this
def construct_xml(names)
xml = Builder::XmlMarkup.new(:indent =>1)
xml.instruct!
names.each do |name|
xml.queryresponse {
xml.name “#{name}”
xml.credential “Engineer”
}
end
return xml
end
Now the point is that the method “construct_xml” construct the
appropriate xml
but the the xml doesn’t appear in browser
and the line of code ‘#{construct_xml(array_of_name)}’ run into “XML
Parsing Error: not well-formed”
iam sure that xml is formed properly.i mean to say the i have set the
:target => $stdout
like this
Builder::XmlMarkup.new(:target =>$stdout ,:indent =>1)
and the xml is constructed properly in console
ent .Is there any thing that I am missing.
please reply
thanks anyway
You use single quotes. Those are not interpolated.
If you do “#{construct_xml(array_of_names)}”, everything should work.
Regards,
Skade
On Sep 9, 2009, at 9:40 AM, Ken G. wrote:
‘#{construct_xml(array_of_names)}’
xml.credential “Engineer”
thanks anyway
Posted via http://www.ruby-forum.com/.
–
Florian G.
smtp: [email protected]
jabber: [email protected]
gpg: 533148E2
On Sep 9, 2009, at 07:44 , Florian G. wrote:
You use single quotes. Those are not interpolated.
If you do “#{construct_xml(array_of_names)}”, everything should work.
Better, don’t use quotes for no reason:
construct_xml(names)
On Sep 9, 2009, at 9:40 AM, Ken G. wrote:
get ‘/multiquery.xml’ do
content_type(‘text/xml’)
array_of_names = params[:name]
‘#{construct_xml(array_of_names)}’
end
“array_of_” is equally useless. plural implies a collection.
…
iam sure that xml is formed properly.i mean to say the i have set
the
:target => $stdout
like this
Builder::XmlMarkup.new(:target =>$stdout ,:indent =>1)
and the xml is constructed properly in console
ent .Is there any thing that I am missing.
Yes, there is something REALLY OBVIOUS that you’re missing. A test.
The SIMPLEST of tests would have made this entire question obvious.