I am trying to parse both rss feed and atom feed using Nokogiri. I''m meeting a problem where i cannot use one query to universally select both rss element and atom element. E.g. @item = "item" root.xpath(//#{@item}) will select for rss @item = "entry" root.xpath(//#{@item}) will not select for rss Even though the entry tag has no explicit namespace attached to it. I understand this is an implicit namespace issue which is in the xml specifications. However, I am wondering if there''s a way to circumvent this issue to allow nokogiri to somehow modify the document so that the xpath on implicitly namespaced element would work without a namespace. Thanks! -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Kefan X. wrote in post #968930:> I am trying to parse both rss feed and atom feed using Nokogiri.There''s probably a library that does this already; if there is, you should use it if possible. But read on for other ideas.> I''m > meeting a problem where i cannot use one query to universally select > both rss element and atom element. > > E.g. > > @item = "item" > root.xpath(//#{@item}) will select for rss > @item = "entry" > root.xpath(//#{@item}) will not select for atom > > Even though the entry tag has no explicit namespace attached to it. I > understand this is an implicit namespace issue which is in the xml > specifications. However, I am wondering if there''s a way to circumvent > this issue to allow nokogiri to somehow modify the document so that the > xpath on implicitly namespaced element would work without a namespace.Do you want to use XSL or something (perhaps Ruby!) to transform RSS to Atom (or vice versa)? Do I understand correctly? If not, then I think this is an XPath question, and might be better directed to an XML forum. Alternatively, you could detect whether the feed is RSS or Atom, then build the XPath expression accordingly.> Thanks!Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Marnen Laibow-Koser wrote in post #968931:> Kefan X. wrote in post #968930: >> I am trying to parse both rss feed and atom feed using Nokogiri. > > There''s probably a library that does this already; if there is, you > should use it if possible. But read on for other ideas. > >> I''m >> meeting a problem where i cannot use one query to universally select >> both rss element and atom element. >> >> E.g. >> >> @item = "item" >> root.xpath(//#{@item}) will select for rss >> @item = "entry" >> root.xpath(//#{@item}) will not select for atom >> >> Even though the entry tag has no explicit namespace attached to it. I >> understand this is an implicit namespace issue which is in the xml >> specifications. However, I am wondering if there''s a way to circumvent >> this issue to allow nokogiri to somehow modify the document so that the >> xpath on implicitly namespaced element would work without a namespace. > > Do you want to use XSL or something (perhaps Ruby!) to transform RSS to > Atom (or vice versa)? Do I understand correctly? >Yes, I need to transform one format to another.> If not, then I think this is an XPath question, and might be better > directed to an XML forum. >This is not really an xpath question as the specs is in my opinion could use a different approach. It is a fundamental obstacle. Therefore I am asking whether or not there is a nokogiri workaround to solve this problem.> Alternatively, you could detect whether the feed is RSS or Atom, then > build the XPath expression accordingly. >Yea, this is the last scenario I want to approach but I agree it is the simplest method. Thanks a lot for your help though!>> Thanks! > > Best, > -- > Marnen Laibow-Koser > http://www.marnen.org > marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.