:- use_module(library(atom_feed)). ?- new_feed(file('xkcd.xml'), Feed), entry(Feed, Entry), link(Entry, Link), rel(Link, alternate), href(Link, Url). Url = 'http://xkcd.com/1286/' ; Url = 'http://xkcd.com/1285/' ; Url = 'http://xkcd.com/1284/' ; ...
Parse and query Atom Syndication Feeds and RSS feeds. This pack doesn't support every aspect of the Atom or RSS specs, but it does support many widely used aspects. It's intended as a relatively low level library on which more complex feed processing can be implemented.
Using SWI-Prolog 6.3 or later:
This module uses semantic versioning.
Source code available and pull requests accepted at http://github.com/mndrix/atom_feed
|author/2||True if Author is the 'author' of Item.|
|content/2||True if Content is the 'content' of Entry.|
|description/2||True if Entry has a Description.|
|email/2||True if Name is email of Author.|
|entry/2||True if Entry is an entry of Feed.|
|href/2||True if Href is the 'href' attribute of Link.|
|id/2||True if Id is the 'id' of Item.|
|link/2||True if Link is a 'link' of Item.|
|name/2||True if Name is the 'name' of Author.|
|new_feed/2||Read a Feed from Source.|
|published/2||True if Entry was published at time EpochSeconds.|
|rel/2||True if Rel is the relationship between Link and its parent.|
|summary/2||True if Summary is a summary of Entry.|
|title/2||True if Title is the title of Item.|
|type/2||True if Link has type attributed MediaType.|
|updated/2||True if Entry was last updated at time EpochSeconds.|