Function: org-feed-parse-atom-entry
org-feed-parse-atom-entry is a byte-compiled function defined in
org-feed.el.gz.
Signature
(org-feed-parse-atom-entry ENTRY)
Documentation
Parse the :item-full-text as a sexp and create new properties.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-feed.el.gz
(defun org-feed-parse-atom-entry (entry)
"Parse the `:item-full-text' as a sexp and create new properties."
(let ((xml (car (read-from-string (plist-get entry :item-full-text)))))
;; Get first <link href='foo'/>.
(setq entry (plist-put entry :link
(xml-get-attribute
(car (xml-get-children xml 'link))
'href)))
;; Add <title/> as :title.
(setq entry (plist-put entry :title
(xml-substitute-special
(car (xml-node-children
(car (xml-get-children xml 'title)))))))
(let* ((content (car (xml-get-children xml 'content)))
(type (xml-get-attribute-or-nil content 'type)))
(when content
(cond
((string= type "text")
;; We like plain text.
(setq entry (plist-put entry :description
(xml-substitute-special
(car (xml-node-children content))))))
((string= type "html")
;; TODO: convert HTML to Org markup.
(setq entry (plist-put entry :description
(xml-substitute-special
(car (xml-node-children content))))))
((string= type "xhtml")
;; TODO: convert XHTML to Org markup.
(setq entry (plist-put entry :description
(prin1-to-string
(xml-node-children content)))))
(t
(setq entry (plist-put entry :description
(format-message
"Unknown `%s' content." type)))))))
entry))