mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-01 20:06:00 +00:00
2004-11-30 Mark A. Hershberger <mah@everybody.org>
* xml.el (xml-substitute-special): Fix validity error messages to actually show the unexpandable entity. Added validity error if & isn't followed by an entity. (xml-parse-tag): Concatnate any string following the a <![CDATA[]]> section to the parsed CDATA.
This commit is contained in:
parent
034a48f4d3
commit
ae02611069
10
lisp/xml.el
10
lisp/xml.el
@ -371,7 +371,9 @@ Returns one of:
|
||||
(let ((pos (match-end 0)))
|
||||
(unless (search-forward "]]>" nil t)
|
||||
(error "XML: (Not Well Formed) CDATA section does not end anywhere in the document"))
|
||||
(buffer-substring pos (match-beginning 0))))
|
||||
(concat
|
||||
(buffer-substring pos (match-beginning 0))
|
||||
(xml-parse-string))))
|
||||
;; DTD for the document
|
||||
((looking-at "<!DOCTYPE")
|
||||
(let ((dtd (xml-parse-dtd parse-ns)))
|
||||
@ -703,7 +705,7 @@ This follows the rule [28] in the XML specifications."
|
||||
|
||||
(let ((point 0)
|
||||
children end-point)
|
||||
(while (string-match "&\\([^;]+\\);" string point)
|
||||
(while (string-match "&\\([^;]*\\);" string point)
|
||||
(setq end-point (match-end 0))
|
||||
(let* ((this-part (match-string 1 string))
|
||||
(prev-part (substring string point (match-beginning 0)))
|
||||
@ -721,10 +723,12 @@ This follows the rule [28] in the XML specifications."
|
||||
(if c (string c))))
|
||||
(entity
|
||||
(cdr entity))
|
||||
((eq (length this-part) 0)
|
||||
(error "XML: (Validity) No entity given"))
|
||||
(t
|
||||
(if xml-validating-parser
|
||||
(error "XML: (Validity) Undefined entity `%s'"
|
||||
(match-string 1 this-part)))))))
|
||||
this-part))))))
|
||||
|
||||
(cond ((null children)
|
||||
;; FIXME: If we have an entity that expands into XML, this won't work.
|
||||
|
Loading…
x
Reference in New Issue
Block a user