From ddd58ff99a8684f6bcae24ffa5050857f533e26d Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 26 May 2016 17:35:42 +0530 Subject: [PATCH] ox-rss: Encode characters to their XML entities * contrib/lisp/ox-rss.el (org-rss-build-channel-info, org-rss-headline): Encode disallowed characters in `title' to their XML entities. The `title' field is user specified and may contain characters such as "&", "<" or ">" that are disallowed in XML. These characters should be encoded into their corresponding XML entities. --- contrib/lisp/ox-rss.el | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/contrib/lisp/ox-rss.el b/contrib/lisp/ox-rss.el index 0b5b76a67..8b9d31972 100644 --- a/contrib/lisp/ox-rss.el +++ b/contrib/lisp/ox-rss.el @@ -246,12 +246,13 @@ communication channel." (format-time-string "%a, %d %b %Y %H:%M:%S %z" (org-time-string-to-time pubdate0))))) - (title (or (org-element-property :RSS_TITLE headline) - (replace-regexp-in-string - org-bracket-link-regexp - (lambda (m) (or (match-string 3 m) - (match-string 1 m))) - (org-element-property :raw-value headline)))) + (title (org-rss-plain-text + (or (org-element-property :RSS_TITLE headline) + (replace-regexp-in-string + org-bracket-link-regexp + (lambda (m) (or (match-string 3 m) + (match-string 1 m))) + (org-element-property :raw-value headline))) info)) (publink (or (and hl-perm (concat (or hl-home hl-pdir) hl-perm)) (concat @@ -316,7 +317,7 @@ as a communication channel." (defun org-rss-build-channel-info (info) "Build the RSS channel information." (let* ((system-time-locale "C") - (title (plist-get info :title)) + (title (org-export-data (plist-get info :title) info)) (email (org-export-data (plist-get info :email) info)) (author (and (plist-get info :with-author) (let ((auth (plist-get info :author)))