Hello,
   I''m having a great time building some rss/atom feeds and
I''ve been
quite successful until I hit the html formatting line of the Atom feed.
Here''s an example:
xml.instruct! :xml, :version=>"1.0",
:encoding=>"UTF-8"
  xml.feed "xml:lang" => "en-US", "xmlns" =>
''http://www.w3.org/2005/Atom '' do
    xml.title("flavor: #{@flavor} *title1: " + @feed.title)
    xml.id(
"tag:#{request.host},#{Time.now.utc.year}:#{@feed.title}/#{@feed.title.downcase}"
)
    xml.link(''url: '' + @ feed.guid) if @feed.guid
    xml.author  { xml.name "Author Name" }
     @entities.each do |entity|
       xml.entry do
         xml.title(''title: '' + entity.title )
         xml.link("rel" => "alternate", "href"
=> url_for(url_for
:only_path => false, :controller => @this_controller, :action =>
@this_action, :id => entity.id))
         xml.id(url_for(:only_path => false, :controller =>
@this_controller, :action => @this_action, :id => entity.id))
         xml.updated("#{Time.now.utc.year}")
         xml.content "type" => "html" do
           xml.name entity.body   #-->>tried this - doesn''t work
           xml.text! render(:partial => "shared/feed/entity",
:entity =>
entity)-->>Tried this - doesn''t work
         end
       end
     end
  end
If I could just get the
xml.content "type" => "html" do
end
section to work I would be home free.
Help!
-- 
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
> xml.content "type" => "html" do > end > > section to work I would be home free.1) You should be using xhtml for the content type. HTML assumes html escaped text. XHTML wants well formed HTML starting with a div tag: http://tools.ietf.org/html/rfc4287#section-4.1.3 2) You can use the #<< method to add raw xml to the xml object. Here''s how I do it in Mephisto: http://svn.techno-weenie.net/projects/mephisto/trunk/app/views/feed/_article.rxml (sanitize_feed_content is in here) http://svn.techno-weenie.net/projects/mephisto/trunk/app/helpers/application_helper.rb -- Rick Olson http://weblog.techno-weenie.net http://mephistoblog.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> 1) You should be using xhtml for the content type. HTML assumes html > escaped text. XHTML wants well formed HTML starting with a div tag: > > http://tools.ietf.org/html/rfc4287#section-4.1.3Okay, just to be clear... I assumed from your code you want strongly typed HTML, which is why I suggested the XHTML content type. In Mephisto, I don''t run the content through tidy or anything and can''t guarantee xhtml compliance, so I just use HTML for now. Use what you like. I just wanted to highlight the difference between the two. -- Rick Olson http://weblog.techno-weenie.net http://mephistoblog.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Rick - thanks for all your help.
I''m not quite sure I fully understand this.    The closest I''m
coming to
getting this displayed correctly is w/ this:
xml.content "type" => "xhtml" do
   xml.content( "<div
xmlns=\"http://www.w3.org/1999/xhtml\">#{entity.body}</div>")
end
This displays the info but does not render the html properly.
what am I missing?
Also, When I try this atom method in windows IE, it completely fails and
spits the output w/out any rendering at all.
lordy.
Rick Olson wrote:>> 1) You should be using xhtml for the content type.  HTML assumes html
>> escaped text.  XHTML wants well formed HTML starting with a div tag:
>>
>> http://tools.ietf.org/html/rfc4287#section-4.1.3
> 
> Okay, just to be clear... I assumed from your code you want strongly
> typed HTML, which is why I suggested the XHTML content type.  In
> Mephisto, I don''t run the content through tidy or anything and
can''t
> guarantee xhtml compliance, so I just use HTML for now.  Use what you
> like.  I just wanted to highlight the difference between the two.
> 
> --
> Rick Olson
> http://weblog.techno-weenie.net
> http://mephistoblog.com
-- 
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Also when I try rendering this feed as rss in windows IE it doesn''t even respond. Double Lordy. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Also - does anyone know if there are good functional tests to test the validation of the rss and atom feed structures? Thanks, desperate -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 1/26/07, Clem Rock <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > Also - does anyone know if there are good functional tests to test the > validation of the rss and atom feed structures?Look at how typo does it. I believe it calls the feed validator, or checks for and uses the local feed validator lib if it exists. -- Rick Olson http://weblog.techno-weenie.net http://mephistoblog.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 1/26/07, clem_c_rock <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > Rick - thanks for all your help. > > I''m not quite sure I fully understand this. The closest I''m coming to > getting this displayed correctly is w/ this: > > xml.content "type" => "xhtml" do > xml.content( "<div > xmlns=\"http://www.w3.org/1999/xhtml\">#{entity.body}</div>") > end > > This displays the info but does not render the html properly. > > what am I missing? > > Also, When I try this atom method in windows IE, it completely fails and > spits the output w/out any rendering at all. > > lordy.Impossible to solve, this is, without an example of the result xml. Well, on first glance, you didnt use << at all. sooo..... -- Rick Olson http://weblog.techno-weenie.net http://mephistoblog.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Rick - I did try this:
xml.content "type" => "xhtml" do
   xml << %{"<div>" + entity.body +
"</div>" }
end
and it does render the html code properly but, for only one entry.   In 
other words, if I have 2 records in a database, only the first one is 
getting displayed.
Weird.   I''m close but missing something basic.
Thanks so much for your help.
-- 
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
I also tried to render the xml.content section w/ a partial like this:
xml.content "type" => "html" do
   xml.text! render(partial => "shared/feed/entity", :entity =>
entity,
:xm => xml)
end
and the partial code would contain:
xm.entry ''xml:base'' => home_url do
    xm.title(''title: '' + entity.title )
    xm.link("rel" => "alternate", "href" =>
url_for(url_for :only_path
=> false, :controller => @this_controller, :action => @this_action, :id
=> entity.id))
    xm.id(url_for(:only_path => false, :controller => @this_controller, 
:action => @this_action, :id => entity.id))
    xm.updated("#{Time.now.utc.year}")
    xm.author  { xm.name "Author Name" }
    xm << %{<content
type="xhtml">****#{entity.body}</content>}
end
This still only prints out the first line.
Clem Rock wrote:> Rick - I did try this:
> 
> xml.content "type" => "xhtml" do
>    xml << %{"<div>" + entity.body +
"</div>" }
> end
> 
> and it does render the html code properly but, for only one entry.   In 
> other words, if I have 2 records in a database, only the first one is 
> getting displayed.
> 
> Weird.   I''m close but missing something basic.
> 
> Thanks so much for your help.
-- 
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---