[s-xml-cvs] CVS update: s-xml/src/package.lisp s-xml/src/xml.lisp

Sven Van Caekenberghe scaekenberghe at common-lisp.net
Sun Nov 20 14:24:36 UTC 2005


Update of /project/s-xml/cvsroot/s-xml/src
In directory common-lisp.net:/tmp/cvs-serv14436/src

Modified Files:
	package.lisp xml.lisp 
Log Message:
added xml prefix namespace as per REC-xml-names-19990114 (by Rudi Schlatte)

Date: Sun Nov 20 15:24:35 2005
Author: scaekenberghe

Index: s-xml/src/package.lisp
diff -u s-xml/src/package.lisp:1.5 s-xml/src/package.lisp:1.6
--- s-xml/src/package.lisp:1.5	Wed Sep 21 19:06:24 2005
+++ s-xml/src/package.lisp	Sun Nov 20 15:24:34 2005
@@ -1,9 +1,9 @@
 ;;;; -*- mode: lisp -*-
 ;;;;
-;;;; $Id: package.lisp,v 1.5 2005/09/21 17:06:24 scaekenberghe Exp $
+;;;; $Id: package.lisp,v 1.6 2005/11/20 14:24:34 scaekenberghe Exp $
 ;;;;
 ;;;; This is a Common Lisp implementation of a very basic XML parser.
-;;;; The parser is non-validating and not at all complete (no CDATA).
+;;;; The parser is non-validating.
 ;;;; The API into the parser is pure functional parser hook model that comes from SSAX,
 ;;;; see also http://pobox.com/~oleg/ftp/Scheme/xml.html or http://ssax.sourceforge.net
 ;;;; Different DOM models are provided, an XSML, an LXML and a xml-element struct based one.


Index: s-xml/src/xml.lisp
diff -u s-xml/src/xml.lisp:1.13 s-xml/src/xml.lisp:1.14
--- s-xml/src/xml.lisp:1.13	Sun Nov  6 13:44:48 2005
+++ s-xml/src/xml.lisp	Sun Nov 20 15:24:34 2005
@@ -1,6 +1,6 @@
 ;;;; -*- mode: lisp -*-
 ;;;;
-;;;; $Id: xml.lisp,v 1.13 2005/11/06 12:44:48 scaekenberghe Exp $
+;;;; $Id: xml.lisp,v 1.14 2005/11/20 14:24:34 scaekenberghe Exp $
 ;;;;
 ;;;; This is a Common Lisp implementation of a basic but usable XML parser.
 ;;;; The parser is non-validating and not complete (no CDATA).
@@ -154,15 +154,29 @@
             :initform nil))
   (:documentation "Describes an XML namespace and how it is handled"))
 
+(defmethod print-object ((object xml-namespace) stream)
+  (print-unreadable-object (object stream :type t :identity t)
+    (format stream "~A - ~A" (get-prefix object) (get-uri object))))
+
 (defvar *local-namespace* (make-instance 'xml-namespace 
                                          :uri "local"
                                          :prefix "" 
                                          :package (find-package :keyword))
   "The local (global default) XML namespace")
 
-(defvar *known-namespaces* (list *local-namespace*)
+(defvar *xml-namespace* (make-instance 'xml-namespace 
+                                       :uri "http://www.w3.org/XML/1998/namespace" 
+                                       :prefix "xml"
+                                       :package (or (find-package :xml)
+                                                    (make-package :xml :nicknames '("XML"))))
+  "REC-xml-names-19990114 says the prefix xml is bound to the namespace http://www.w3.org/XML/1998/namespace.")
+
+(defvar *known-namespaces* (list *local-namespace* *xml-namespace*)
   "The list of known/defined namespaces")
 
+(defvar *namespaces* `(("xml" . ,*xml-namespace*) ("" . ,*local-namespace*))
+  "Ordered list of (prefix . XML-namespace) bindings currently in effect - special variable")
+
 (defun find-namespace (uri)
   "Find a registered XML namespace identified by uri"
   (find uri *known-namespaces* :key #'get-uri :test #'string-equal))
@@ -179,9 +193,6 @@
                                            :package (find-package package)))
             *known-namespaces*))
     namespace))
-
-(defvar *namespaces* `(("" . ,*local-namespace*))
-  "Ordered list of (prefix . XML-namespace) bindings currently in effect - special variable")
 
 (defun find-namespace-binding (prefix namespaces)
   "Find the XML namespace currently bound to prefix in the namespaces bindings"




More information about the S-xml-cvs mailing list