auch qname "xmlns" hat einen namespace, falls sax:*sowieso* an ist.

und im dom-builder nicht den namen des doctypes pruefen
This commit is contained in:
dlichteblau
2005-12-04 23:20:22 +00:00
parent 1b31540480
commit 194a220a35
4 changed files with 25 additions and 21 deletions

View File

@ -3466,15 +3466,19 @@
(defun set-attribute-namespace (attribute)
(let ((qname (sax:attribute-qname attribute)))
(multiple-value-bind (prefix local-name) (split-qname qname)
(declare (ignorable local-name))
(when (and prefix ;; default namespace doesn't apply to attributes
(or (not (rod= #"xmlns" prefix)) sax:*use-xmlns-namespace*))
(multiple-value-bind (uri prefix local-name)
(decode-qname qname)
(declare (ignore prefix))
(setf (sax:attribute-namespace-uri attribute) uri)
(setf (sax:attribute-local-name attribute) local-name))))))
(if (and sax:*use-xmlns-namespace* (rod= qname #"xmlns"))
(setf (sax:attribute-namespace-uri attribute)
#"http://www.w3.org/2000/xmlns/")
(multiple-value-bind (prefix local-name) (split-qname qname)
(declare (ignorable local-name))
(when (and prefix ;; default namespace doesn't apply to attributes
(or (not (rod= #"xmlns" prefix))
sax:*use-xmlns-namespace*))
(multiple-value-bind (uri prefix local-name)
(decode-qname qname)
(declare (ignore prefix))
(setf (sax:attribute-namespace-uri attribute) uri)
(setf (sax:attribute-local-name attribute) local-name)))))))
;;;;;;;;;;;;;;;;;