Issues parsing RSS from academic publishers
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 206
- Forks
- 39
- PR merge metrics
- No merged PRs in 30d
Description
Most academic publishers seem to use a standard software to generate RSS (e.g.: SAGE, Academy of Management). When trying to parse these feeds I get the following error:
RSS::MissingAttributeError: attribute <rdf:about> is missing in tag <channel>
from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/rss/parser.rb:521:in `block in collect_attributes'
Disabling validation, though, works. I doubt that all these feeds are corrupt. Or is there a specific spec they follow that the current gem does not support?
Also, almost all academic publishers use PRISM as well as the default DublinCore to include metadata in RSS entries. Is it possible to implement that into the current gem? Or better than that, is there a way to allow the gem to read those nodes as generic nodes (that it won't try to validate), just like feedparser in Python?
It looks like the code for DublinCore model can be used as a template for that. But PRISM also includes Reference nodes on top of Text and Date. Is there another NS implementation I can use as template for those nodes?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the validation failure using the linked SAGE or Academy of Management feeds and inspect the parser.rb validation path named in the error. Use the existing DublinCore model as the template for assessing PRISM support, then confirm that the feeds parse successfully and that their metadata is handled without invalid validation errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100