Function: newsticker--parse-rss-2.0
newsticker--parse-rss-2.0 is a byte-compiled function defined in
newst-backend.el.gz.
Signature
(newsticker--parse-rss-2.0 NAME TIME TOPNODE)
Documentation
Parse RSS 2.0 data.
Return value as well as arguments NAME, TIME, and TOPNODE are the
same as in newsticker--parse-atom-1.0.
For the RSS 2.0 specification see URL http://blogs.law.harvard.edu/tech/rss.
Source Code
;; Defined in /usr/src/emacs/lisp/net/newst-backend.el.gz
(defun newsticker--parse-rss-2.0 (name time topnode)
"Parse RSS 2.0 data.
Return value as well as arguments NAME, TIME, and TOPNODE are the
same as in `newsticker--parse-atom-1.0'.
For the RSS 2.0 specification see URL `http://blogs.law.harvard.edu/tech/rss'."
(newsticker--debug-msg "Parsing RSS 2.0 feed %s" name)
(let* ((channelnode (car (xml-get-children topnode 'channel)))
is-new-feed has-new-items)
(setq is-new-feed (newsticker--parse-generic-feed
name time
;; title
(car (xml-node-children
(car (xml-get-children channelnode 'title))))
;; desc
(or (car (xml-node-children
(car (xml-get-children channelnode
'encoded))))
(car (xml-node-children
(car (xml-get-children channelnode
'content:encoded))))
(car (xml-node-children
(car (xml-get-children channelnode
'description)))))
;; link
(car (xml-node-children
(car (xml-get-children channelnode 'link))))
;; extra-elements
(xml-node-children channelnode)))
(setq has-new-items (newsticker--parse-generic-items
name time (xml-get-children channelnode 'item)
;; title-fn
(lambda (node)
(car (xml-node-children
(car (xml-get-children node 'title)))))
;; desc-fn
(lambda (node)
(or (car (xml-node-children
(car (xml-get-children node
'encoded))))
(car (xml-node-children
(car (xml-get-children node
'content:encoded))))
(car (xml-node-children
(car (xml-get-children node
'description))))))
;; link-fn
(lambda (node)
(car (xml-node-children
(car (xml-get-children node 'link)))))
;; time-fn
(lambda (node)
(newsticker--decode-rfc822-date
(car (xml-node-children
(car (xml-get-children node 'pubDate))))))
;; guid-fn
(lambda (node)
(newsticker--guid-to-string
(assoc 'guid (xml-node-children node))))
;; extra-fn
(lambda (node)
(xml-node-children node))))
(or has-new-items is-new-feed)))