* 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.
100 lines
1.9 KiB
Common Lisp
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))
|