New procedures: STRING->XML, SUBSTRING->XML, and XML->STRING.
authorChris Hanson <org/chris-hanson/cph>
Fri, 7 Feb 2003 20:02:14 +0000 (20:02 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 7 Feb 2003 20:02:14 +0000 (20:02 +0000)
v7/src/xml/xml-output.scm
v7/src/xml/xml-parser.scm
v7/src/xml/xml.pkg

index 6686b856357b8403f155717db0f002d32d90c694..217808f2b30aee5139b529b9d8295c7f8e8f5d90 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: xml-output.scm,v 1.11 2003/01/26 06:35:34 cph Exp $
+$Id: xml-output.scm,v 1.12 2003/02/07 20:01:59 cph Exp $
 
-Copyright 2001,2002 Massachusetts Institute of Technology
+Copyright 2001,2002,2003 Massachusetts Institute of Technology
 
 This file is part of MIT Scheme.
 
@@ -31,6 +31,11 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     (lambda (port)
       (write-xml xml port))))
 
+(define (xml->string xml)
+  (with-string-output-port
+   (lambda (port)
+     (write-xml xml port))))
+
 (define-generic write-xml (object port))
 
 (define-method write-xml ((document xml-document-rtd) port)
index 825e564203f694789e9f538773e1e3a9f90001dd..4bbfef8d8a0ae09e109d67c7ca208cdbdfe741c5 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: xml-parser.scm,v 1.18 2003/01/26 06:35:41 cph Exp $
+$Id: xml-parser.scm,v 1.19 2003/02/07 20:02:14 cph Exp $
 
-Copyright 2001,2002 Massachusetts Institute of Technology
+Copyright 2001,2002,2003 Massachusetts Institute of Technology
 
 This file is part of MIT Scheme.
 
@@ -104,6 +104,14 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   (parse-xml-document (input-port->parser-buffer port)
                      (if (default-object? pi-handlers) '() pi-handlers)))
 
+(define (string->xml string #!optional pi-handlers)
+  (parse-xml-document (string->parser-buffer string)
+                     (if (default-object? pi-handlers) '() pi-handlers)))
+
+(define (substring->xml string start end #!optional pi-handlers)
+  (parse-xml-document (substring->parser-buffer string start end)
+                     (if (default-object? pi-handlers) '() pi-handlers)))
+
 (define (parse-xml-document buffer #!optional pi-handlers) ;[1,22]
   (if (not (parser-buffer? buffer))
       (error:wrong-type-argument buffer "parser buffer" 'PARSE-XML-DOCUMENT))
index 18a236884dcca921025a4174195755157bbee3f5..0738f883bbdf6fa5a1c341cb1cf06f6ad4fd0aff 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: xml.pkg,v 1.14 2003/01/30 17:30:25 cph Exp $
+$Id: xml.pkg,v 1.15 2003/02/07 20:01:48 cph Exp $
 
 Copyright 2001,2002,2003 Massachusetts Institute of Technology
 
@@ -154,11 +154,14 @@ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
          char-set:xml-whitespace
          parse-xml-document
          read-xml
-         read-xml-file))
+         read-xml-file
+         string->xml
+         substring->xml))
 
 (define-package (runtime xml output)
   (files "xml-output")
   (parent (runtime xml))
   (export ()
          write-xml
-         write-xml-file))
\ No newline at end of file
+         write-xml-file
+         xml->string))
\ No newline at end of file