ohne prefix haben wir beim namespace-processing aber trotzdem einen lname

This commit is contained in:
dlichteblau
2005-12-04 22:18:33 +00:00
parent 0ef0e0be0f
commit 7a9568b320
5 changed files with 32 additions and 42 deletions

View File

@ -80,19 +80,22 @@
(defmethod sax:start-element
((handler dom-builder) namespace-uri local-name qname attributes)
(with-slots (document element-stack) handler
(let ((element (make-instance 'element
(let* ((nsp sax:*namespace-processing*)
(element (make-instance 'element
:tag-name qname
:owner document
:namespace-uri namespace-uri
:local-name local-name
:prefix (cxml::split-qname (cxml::rod qname))))
:namespace-uri (when nsp namespace-uri)
:local-name (when nsp local-name)
:prefix (when nsp (cxml::split-qname (cxml::rod qname)))))
(parent (car element-stack))
(anodes '()))
(dolist (attr attributes)
(let ((anode
(dom:create-attribute-ns document
(sax:attribute-namespace-uri attr)
(sax:attribute-qname attr)))
(if nsp
(dom:create-attribute-ns document
(sax:attribute-namespace-uri attr)
(sax:attribute-qname attr))
(dom:create-attribute document (sax:attribute-qname attr))))
(text
(dom:create-text-node document (sax:attribute-value attr))))
(setf (slot-value anode 'dom-impl::specified-p)

View File

@ -132,7 +132,8 @@
(etypecase x
(null x)
(rod x)
(string (string-rod x))))
(string (string-rod x))
(vector x)))
(defun assert-writeable (node)
(when (read-only-p node)