Ruby-Feed parser and relative URL references


#1

I am using Ruby-Feedparser and it works great, but when I try to parse a
feed in which description contains relative URL references, I get an
error:

(REXML::ParseException) “#<REXML::ParseException: Declarations can only
occur in the doctype declaration.\nLine: \nPosition: \nLast 80
unconsumed
characters:\n<![CDATA[

Filed under: <a href=”
http://engadget.com/category/cellphones/<http://engadget.com/category/cellphones/\>"
rel=">\n/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:325:

Is there a workaround?

Thanks,
eduard


#2

On 12/30/05, eduard removed_email_address@domain.invalid wrote:

I am using Ruby-Feedparser and it works great, but when I try to parse a
feed in which description contains relative URL references, I get an error:

(REXML::ParseException) “#<REXML::ParseException: Declarations can only
occur in the doctype declaration.\nLine: \nPosition: \nLast 80 unconsumed
characters:\n<![CDATA[

Filed under: <a href=”
http://engadget.com/category/cellphones/<http://engadget.com/category/cellphones/\>"
rel=">\n/usr/lib/ruby/1.8/rexml/parsers/baseparser.rb:325:

Is there a workaround?

That feed doesn’t validate at http://www.feedvalidator.org/ but for
different reasons than your are experiencing.

People need to validate feeds and complain to the authors. If feed
validation gets out of control we will be back to the HTML mess.

http://googlereader.blogspot.com/2005/12/xml-errors-in-feeds.html


#3

Is this the feed you are using?

Source: http://engadget.com/category/cellphones/rss.xml
This feed does not validate.
line 404, column 1805: Undefined named entity: hellip [help]
… Watch movies on your phones… while
they're stil …
It is missing the external entity declaration.

From your mail you are getting an error about a malformed CDATA
section but I can’t find a feed with that error.

You can do basic checking just by putting the feed URL into Firefox
and see if it parses without error.
http://engadget.com/category/cellphones/rss.xml will give you an
error.


#4

Thanks Jon,

I validated the feed with feedvalidator.org before posting the message
and
it said:

“This feed is valid, but may cause problems for some users.” Obviously,
I
am one of those users.

I’ll write email to engadget and tell them about the problem.

Thanks for your help,
eduard