[cxml-cvs] CVS update: cxml/xml/xml-parse.lisp

David Lichteblau dlichteblau at common-lisp.net
Sun Dec 4 23:20:29 UTC 2005


Update of /project/cxml/cvsroot/cxml/xml
In directory common-lisp.net:/tmp/cvs-serv13237/xml

Modified Files:
	xml-parse.lisp 
Log Message:
auch qname "xmlns" hat einen namespace, falls sax:*sowieso* an ist.
und im dom-builder nicht den namen des doctypes pruefen

Date: Mon Dec  5 00:20:27 2005
Author: dlichteblau

Index: cxml/xml/xml-parse.lisp
diff -u cxml/xml/xml-parse.lisp:1.52 cxml/xml/xml-parse.lisp:1.53
--- cxml/xml/xml-parse.lisp:1.52	Sun Dec  4 23:18:37 2005
+++ cxml/xml/xml-parse.lisp	Mon Dec  5 00:20:27 2005
@@ -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)))))))
 
 ;;;;;;;;;;;;;;;;;
 




More information about the Cxml-cvs mailing list