Update of /project/cxml/cvsroot/cxml/dom In directory common-lisp.net:/tmp/cvs-serv8177/dom
Modified Files: dom-builder.lisp dom-impl.lisp Log Message: ohne prefix haben wir beim namespace-processing aber trotzdem einen lname
Date: Sun Dec 4 23:18:34 2005 Author: dlichteblau
Index: cxml/dom/dom-builder.lisp diff -u cxml/dom/dom-builder.lisp:1.5 cxml/dom/dom-builder.lisp:1.6 --- cxml/dom/dom-builder.lisp:1.5 Sun Dec 4 21:35:15 2005 +++ cxml/dom/dom-builder.lisp Sun Dec 4 23:18:34 2005 @@ -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)
Index: cxml/dom/dom-impl.lisp diff -u cxml/dom/dom-impl.lisp:1.11 cxml/dom/dom-impl.lisp:1.12 --- cxml/dom/dom-impl.lisp:1.11 Sun Dec 4 22:44:06 2005 +++ cxml/dom/dom-impl.lisp Sun Dec 4 23:18:34 2005 @@ -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)