REST: nested resources and rendering xml

I am almost done with my RESTful application design. Following are the nested resources:   map.resources :topics do |topics|     topics.resources :items do |items|       items.resources :attachments     end   end A topic has a list of items and items may have attachments.

When a user accesses particular topic, he/she should also see corresponding items and attachments. So a url topic_path(1), i.e., 'topic/1' should also display related items and their attachments. This is not a problem while rendering page in a html/rhtml format. I am using _item and _attachment partials within topic/show.rhtml. How do I achieve this in case of xml? The usual 'format.xml {render :xml => @topic.to_xml}' is of no use in this case.

Another way to access items and attachments would be: 'topic/:id/items' and 'topic/:id/items/:id/attachments'. This is pretty easy and rendering documents in different formats is not a problem here. This also suggests 'Resource = Record' relationship. Any thoughts on this?

One more thing I would like to add is downloading a topic in a zip file format. Isn't it just another formatted url 'format.zip { render :file => @topic.generate_archive }'?

Any help please...?