- (with-temp-buffer
- (insert "<div xmlns=\"http://www.w3.org/1999/xhtml\">")
- (insert string)
- (insert "</div>")
- (xml-parse-region (point-min) (point-max))))
+ (require 'xml-xhtml-entities)
+ (let ((xml-entity-alist xml-xhtml-entities)
+ (xml-validating-parser t))
+ (with-temp-buffer
+ (insert "<div xmlns=\"" atom-xhtml-namespace "\">")
+ (insert string)
+ (insert "</div>")
+ ;; `xml-parse-region' returns a list of elements, even though it
+ ;; requires an only root node. We are only interested in the first
+ ;; one, the DIV we just inserted.
+ (car (xml-parse-region (point-min) (point-max))))))