Use CXML's rune implementation and XML parser.
[closure-html.git] / src / xml / sax-tests / event-collecting-handler.lisp
blobe03c6eb872c75c50873891cc1e819c071c6b3832
1 (in-package :sax-tests)
3 (defclass event-collecting-handler ()
4 ((event-list :initform '() :accessor event-list)))
6 (defmethod start-document ((handler event-collecting-handler))
7 (push (list :start-document) (event-list handler)))
9 (defmethod start-element ((handler event-collecting-handler) ns-uri local-name qname attrs)
10 (push (list :start-element ns-uri local-name qname attrs)
11 (event-list handler)))
13 (defmethod start-prefix-mapping ((handler event-collecting-handler) prefix uri)
14 (push (list :start-prefix-mapping prefix uri)
15 (event-list handler)))
17 (defmethod characters ((handler event-collecting-handler) data)
18 (push (list :characters data)
19 (event-list handler)))
21 (defmethod processing-instruction ((handler event-collecting-handler) target data)
22 (push (list :processing-instruction target data)
23 (event-list handler)))
25 (defmethod end-prefix-mapping ((handler event-collecting-handler) prefix)
26 (push (list :end-prefix-mapping prefix)
27 (event-list handler)))
29 (defmethod end-element ((handler event-collecting-handler) namespace-uri local-name qname)
30 (push (list :end-element namespace-uri local-name qname)
31 (event-list handler)))
33 (defmethod end-document ((handler event-collecting-handler))
34 (push (list :end-document)
35 (event-list handler))
37 (nreverse (event-list handler)))