[cxml-cvs] CVS update: cxml/dom/dom-builder.lisp cxml/dom/dom-impl.lisp

David Lichteblau dlichteblau at common-lisp.net
Sun Dec 4 22:18:36 UTC 2005


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)




More information about the Cxml-cvs mailing list