Update of /project/s-xml/cvsroot/s-xml/src In directory common-lisp:/tmp/cvs-serv7181/src
Modified Files: package.lisp xml.lisp Log Message: finishing touches and doc updates to david tolpin's changes
--- /project/s-xml/cvsroot/s-xml/src/package.lisp 2006/01/19 20:00:06 1.7 +++ /project/s-xml/cvsroot/s-xml/src/package.lisp 2006/01/31 11:44:15 1.8 @@ -1,6 +1,6 @@ ;;;; -*- mode: lisp -*- ;;;; -;;;; $Id: package.lisp,v 1.7 2006/01/19 20:00:06 scaekenberghe Exp $ +;;;; $Id: package.lisp,v 1.8 2006/01/31 11:44:15 scaekenberghe Exp $ ;;;; ;;;; This is a Common Lisp implementation of a very basic XML parser. ;;;; The parser is non-validating. @@ -8,7 +8,7 @@ ;;;; 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. ;;;; -;;;; Copyright (C) 2002, 2003, 2004, 2005 Sven Van Caekenberghe, Beta Nine BVBA. +;;;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Sven Van Caekenberghe, Beta Nine BVBA. ;;;; ;;;; You are granted the rights to distribute and use this software ;;;; as governed by the terms of the Lisp Lesser General Public License --- /project/s-xml/cvsroot/s-xml/src/xml.lisp 2006/01/19 20:00:06 1.15 +++ /project/s-xml/cvsroot/s-xml/src/xml.lisp 2006/01/31 11:44:15 1.16 @@ -1,15 +1,15 @@ ;;;; -*- mode: lisp -*- ;;;; -;;;; $Id: xml.lisp,v 1.15 2006/01/19 20:00:06 scaekenberghe Exp $ +;;;; $Id: xml.lisp,v 1.16 2006/01/31 11:44:15 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). +;;;; The parser is non-validating and not complete (no PI). ;;;; Namespace and entities are handled. ;;;; The API into the parser is a 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. ;;;; -;;;; Copyright (C) 2002, 2003, 2004, 2005 Sven Van Caekenberghe, Beta Nine BVBA. +;;;; Copyright (C) 2002, 2003, 2004, 2005, 2006 Sven Van Caekenberghe, Beta Nine BVBA. ;;;; ;;;; You are granted the rights to distribute and use this software ;;;; as governed by the terms of the Lisp Lesser General Public License @@ -44,6 +44,9 @@ :message message :args args :stream stream)) + +;; attribute parsing hooks +;; this is a bit complicated, refer to the mailing lists for a more detailed explanation
(defun parse-attribute-name (string) "Default parser for the attribute name" @@ -59,10 +62,10 @@ string))
(defparameter *attribute-name-parser* #'parse-attribute-name - "Called to compute interned attribute name") + "Called to compute interned attribute name from a buffer that will be reused")
(defparameter *attribute-value-parser* #'parse-attribute-value - "Called to compute an element of attribute list") + "Called to compute an element of an attribute list from a buffer that will be reused")
;;; utilities
@@ -178,6 +181,13 @@ :initform nil)) (:documentation "Describes an XML namespace and how it is handled"))
+(setf (documentation 'get-uri 'function) + "The URI used to identify this namespace" + (documentation 'get-prefix 'function) + "The preferred prefix assigned to this namespace" + (documentation 'get-package 'function) + "The Common Lisp package where this namespace's symbols are interned") + (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))))