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

David Lichteblau dlichteblau at common-lisp.net
Wed Dec 28 23:11:35 UTC 2005


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

Modified Files:
	dom-impl.lisp 
Removed Files:
	unparse.lisp 
Log Message:
sink reorganization

Date: Thu Dec 29 00:11:24 2005
Author: dlichteblau

Index: cxml/dom/dom-impl.lisp
diff -u cxml/dom/dom-impl.lisp:1.34 cxml/dom/dom-impl.lisp:1.35
--- cxml/dom/dom-impl.lisp:1.34	Tue Dec 27 02:35:14 2005
+++ cxml/dom/dom-impl.lisp	Thu Dec 29 00:11:22 2005
@@ -973,7 +973,7 @@
     (rod-stream-buf stream)))
 
 (defmethod write-attribute-child ((node node) stream)
-  (write-rod (dom:node-value node) stream))
+  (put-rod (dom:node-value node) stream))
 
 (defmethod write-attribute-child ((node entity-reference) stream)
   (dovector (child (dom:child-nodes node))
@@ -988,7 +988,7 @@
   (buf nil)
   (position 0))
 
-(defun write-rod (rod rod-stream)
+(defun put-rod (rod rod-stream)
   (let ((buf (rod-stream-buf rod-stream)))
     (when buf
       (move rod buf 0 (rod-stream-position rod-stream) (length rod)))
@@ -1210,10 +1210,12 @@
 	   ;; dass ein leeres internal subset nicht vorhanden ist und
 	   ;; wir daher nil liefern sollen.  bittesehr!
 	   (dom::%internal-subset node))
-      (with-output-to-string (stream)
-	(let ((sink (cxml:make-character-stream-sink stream)))
-	  (dolist (def (dom::%internal-subset node))
-	    (apply (car def) sink (cdr def)))))
+      (let ((sink
+	     #+rune-is-character (cxml:make-string-sink)
+	     #-rune-is-character (cxml:make-string-sink/utf8)))
+	(dolist (def (dom::%internal-subset node))
+	  (apply (car def) sink (cdr def)))
+	(sax:end-document sink))
       nil))
 
 ;;; NOTATION -- nix






More information about the Cxml-cvs mailing list