Files
CXML/xml/package.lisp
dlichteblau 3373d65a55 SAX overhaul for HAX integration.
* dom/dom-builder.lisp (DOM-BUILDER): Inherit from
	sax:content-handler.

	* klacks/klacks-impl.lisp (KLACKS-DTD-HANDLER): Inherit from
	sax:default-handler.

	* klacks/klacks.lisp (KLACKS:SERIALIZE-EVENT): Bugfix -- call
	start-cdata and end-cdata on the handler, not the source.

	* xml/package.lisp: New export WITH-OUTPUT-SINK.

	* xml/sax-handler.lisp (SAX): New exports abstract-handler,
	content-handler, default-handler.  (STANDARD-ATTRIBUTE): Renamed
	from attribute.  (ATTRIBUTE-NAMESPACE-URI, ATTRIBUTE-LOCAL-NAME,
	ATTRIBUTE-QNAME, ATTRIBUTE-VALUE, ATTRIBUTE-SPECIFIED-P): Wrapper
	methods for standard-attribute.  Wrapper methods for
	hax:standard-attribute.  (all events): pulled into a common
	define-event form.  New dummy method on null.  Added a warning to
	the default method.   New error method on abstract-handler.  New
	dummy method on the respective default handler classes.

	* xml/sax-proxy.lisp (BROADCAST-HANDLER): Inherit from
	abstract-handler, not sax-parser-mixin.

	* xml/unparse.lisp (sink): Inherit from sax:content-handler.
	(WITH-OUTPUT-SINK): New macro.  (INVOKE-WITH-OUTPUT-SINK): New
	function.
2007-10-14 17:50:11 +00:00

100 lines
1.9 KiB
Common Lisp

;;;; package.lisp -- Paketdefinition
;;;;
;;;; This file is part of the CXML parser, released under Lisp-LGPL.
;;;; See file COPYING for details.
(in-package :cl-user)
(defpackage :cxml
(:use :cl :runes :runes-encoding #-scl :trivial-gray-streams)
(:export
;; xstreams
#:make-xstream
#:make-rod-xstream
#:close-xstream
#:read-rune
#:peek-rune
#:unread-rune
#:fread-rune
#:fpeek-rune
#:xstream-position
#:xstream-line-number
#:xstream-column-number
#:xstream-plist
#:xstream-encoding
;; xstream controller protocol
#:read-octects
#:xstream/close
#:attribute-namespace-uri
#:attribute-local-name
#:attribute-qname
#:attribute-value
#:parse
#:parse-file
#:parse-stream
#:parse-rod
#:parse-octets
#:parse-empty-document
#:make-octet-vector-sink
#:make-octet-stream-sink
#:make-rod-sink
#+rune-is-character #:make-string-sink
#+rune-is-character #:make-character-stream-sink
;; See comment in runes/package.lisp
;; #-rune-is-character
#:make-string-sink/utf8
;; #-rune-is-character
#:make-character-stream-sink/utf8
#:with-xml-output
#:with-output-sink
#:with-namespace
#:with-element
#:with-element*
#:attribute
#:attribute*
#:unparse-attribute
#:cdata
#:text
#:doctype
#:xml-parse-error
#:well-formedness-violation
#:validity-error
#:parse-dtd-file
#:parse-dtd-stream
#:make-validator
#:*cache-all-dtds*
#:*dtd-cache*
#:getdtd
#:remdtd
#:make-dtd-cache
#:clear-dtd-cache
#:make-extid
#:*catalog*
#:*prefer*
#:make-catalog
#:resolve-uri
#:resolve-extid
#:make-recoder
#:make-namespace-normalizer
#:make-whitespace-normalizer
#:rod-to-utf8-string
#:utf8-string-to-rod
#:broadcast-handler
#:broadcast-handler-handlers
#:make-broadcast-handler
#:sax-proxy
#:proxy-chained-handler
#:make-source))