Rendering page as XML or JSON?

View: New views
4 Messages — Rating Filter:   Alert me  

Rendering page as XML or JSON?

by Conrad Taylor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi, is there an easy to render a page as XML/JSON instead of HTML?  For example, I would like to send back the collection as XML document.  Thus, I'm looking for something similar to Rails respond_to whereas

def show
@order = Order.find(params[:id])
respond_to do |format| format.html # show.rhtml format.xml { render :xml => @order.to_xml }
format.js { render :json => @order.to_json }
end
end

Thanks in advance,

-Conrad


_______________________________________________
seaside mailing list
seaside@...
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

RE: Rendering page as XML or JSON?

by Ramon Leon-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>
> Hi, is there an easy to render a page as XML/JSON instead of
> HTML?  For example, I would like to send back the collection
> as XML document.  Thus, I'm looking for something similar to
> Rails respond_to whereas
>
> def show
> @order = Order.find(params[:id])
>
> respond_to do |format| format.html # show.rhtml format.xml {
> render :xml => @order.to_xml } format.js { render :json =>
> @order.to_json } end end
>
>
> Thanks in advance,
>
>
> -Conrad

You can do something like this, replacing sixxString with your own xml
building method for something prettier, and #beXml with whatever param name
you want to kick it off...

self session currentRequest at: #beXml ifPresent: [ : it |
    self session returnResponse:
        (WAResponse new
            contentType: 'text/xml' ;
            contents: someObject sixxString readStream ;
            yourself)]

If you have a json builder, it'd be similar.  If there's a better way, I
don't know it.

Ramon Leon
http://onsmalltalk.com

_______________________________________________
seaside mailing list
seaside@...
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

Re: Rendering page as XML or JSON?

by Michael Lucas-Smith-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


> self session currentRequest at: #beXml ifPresent: [ : it |
>     self session returnResponse:
>         (WAResponse new
>             contentType: 'text/xml' ;
>             contents: someObject sixxString readStream ;
>             yourself)]
>  
If you make your own WACanvas subclass too you can do something like this:

    response := Seaside.WAResponse new.
    response contentType: 'application/atom+xml'.
    response nextPutAll: '<?xml version="1.0" encoding="utf-8"?>'.
    atom := SeasideAtom.AtomCanvas new.
    atom context: html context.
    html context document stream: response stream.
    ... do stuff with our new atom canvas ...
    self session returnResponse: response.

_______________________________________________
seaside mailing list
seaside@...
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

Re: Rendering page as XML or JSON?

by Conrad Taylor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi ALL, thanks for the information and I'll really appreciate it.  At this time, I'm looking to convert a Rails application to Seaside.

-Conrad

On Thu, Apr 17, 2008 at 1:52 PM, Michael Lucas-Smith <mlucas-smith@...> wrote:

self session currentRequest at: #beXml ifPresent: [ : it |    self session returnResponse:        (WAResponse new
           contentType: 'text/xml' ;
           contents: someObject sixxString readStream ;
           yourself)]
 
If you make your own WACanvas subclass too you can do something like this:

  response := Seaside.WAResponse new.
  response contentType: 'application/atom+xml'.
  response nextPutAll: '<?xml version="1.0" encoding="utf-8"?>'.
  atom := SeasideAtom.AtomCanvas new.
  atom context: html context.
  html context document stream: response stream.
  ... do stuff with our new atom canvas ...
  self session returnResponse: response.


_______________________________________________
seaside mailing list
seaside@...
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
seaside@...
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside