package.lisp
 1 ;;;; -*- mode: lisp -*-
2 ;;;;
3 ;;;; $Id: package.lisp,v 1.6 2005/11/20 14:24:34 scaekenberghe Exp $
4 ;;;;
5 ;;;; This is a Common Lisp implementation of a very basic XML parser.
6 ;;;; The parser is non-validating.
7 ;;;; The API into the parser is pure functional parser hook model that comes from SSAX,
8 ;;;; see also http://pobox.com/~oleg/ftp/Scheme/xml.html or http://ssax.sourceforge.net
9 ;;;; Different DOM models are provided, an XSML, an LXML and a xml-element struct based one.
10 ;;;;
11 ;;;; Copyright (C) 2002, 2003, 2004, 2005 Sven Van Caekenberghe, Beta Nine BVBA.
12 ;;;;
13 ;;;; You are granted the rights to distribute and use this software
14 ;;;; as governed by the terms of the Lisp Lesser General Public License
15 ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL.
16
17 (defpackage s-xml
18 (:use common-lisp)
19 (:export
20 ;; main parser interface
21 #:start-parse-xml
22 #:print-string-xml
23 #:xml-parser-error #:xml-parser-error-message #:xml-parser-error-args #:xml-parser-error-stream
24 #:xml-parser-state #:get-entities #:get-seed
25 #:get-new-element-hook #:get-finish-element-hook #:get-text-hook
26 ;; dom parser and printer
27 #:parse-xml-dom #:parse-xml #:parse-xml-string #:parse-xml-file
28 #:print-xml-dom #:print-xml #:print-xml-string
29 ;; xml-element structure
30 #:make-xml-element #:xml-element-children #:xml-element-name
31 #:xml-element-attribute #:xml-element-attributes
32 #:xml-element-p #:new-xml-element #:first-xml-element-child
33 ;; namespaces
34 #:*ignore-namespaces* #:*local-namespace* #:*namespaces*
35 #:*require-existing-symbols* #:*auto-export-symbols* #:*auto-create-namespace-packages*
36 #:find-namespace #:register-namespace #:get-prefix #:get-uri #:get-package
37 #:resolve-identifier #:extend-namespaces #:print-identifier #:split-identifier)
38 (:documentation
39 "A simple XML parser with an efficient, purely functional, event-based interface as well as a DOM interface"))
40
41 ;;;; eof