anchor.diff:  (defpackage :sax
     (:use :common-lisp)
     (:export #:*namespace-processing*
  -	   #:*include-xmlns-attributes*
  -	   #:*use-xmlns-namespace*
  -
  -	   #:abstract-handler
  -	   #:content-handler
  -	   #:default-handler
  +           #:*include-xmlns-attributes*
  +           #:*use-xmlns-namespace*
  +
  +           #:abstract-handler
  +           #:content-handler
  +           #:default-handler
  +
  +           #:callback-handler
  +           #:make-callback-handler
   
              #:make-attribute
              #:find-attribute
  
positive.code: (defclass content-handler (abstract-handler) ())
  (defclass default-handler (content-handler) ())
  
  
  ;;;; EVENTS
  
  (macrolet ((define-event ((name default-handler-class)
  			  (&rest args)
  			  &body hax-body)
  	     `(defgeneric ,name (handler ,@args)
  		(:method ((handler null) ,@args)
  		  (declare (ignore ,@args))
  		  nil)
  		(:method ((handler t) ,@args)
  		  (declare (ignore ,@args))
  		  (warn "deprecated SAX default method used by a handler ~
                           that is not a subclass of SAX:ABSTRACT-HANDLER ~
                           or HAX:ABSTRACT-HANDLER")
  		  nil)
  		(:method ((handler abstract-handler) ,@args)
  		  (declare (ignore ,@args))
  		  (error "SAX event ~A not implemented by this handler"
  			 ',name))
  		(:method ((handler ,default-handler-class) ,@args)
  		  (declare (ignore ,@args))
  		  nil)
  		(:method ((handler hax:abstract-handler) ,@args)
  		  (declare (ignorable ,@args))
  		  ,@hax-body))))
    (define-event (start-document default-handler)
        ()
      nil)
  
    (define-event (start-element default-handler)
        (namespace-uri local-name qname attributes)
      (setf attributes
  	  (remove "http://www.w3.org/2000/xmlns/"
  		  attributes
  		  :key #'attribute-namespace-uri
  		  :test #'equal))
      (hax:start-element handler local-name attributes))
  
    (define-event (start-prefix-mapping content-handler)
        (prefix uri)
      nil)
  
    (define-event (characters default-handler)
        (data)
      (hax:characters handler data))
  
    (define-event (unescaped default-handler)
        (data)
      (hax:unescaped handler data))
  
    (define-event (processing-instruction default-handler)
        (target data)
      nil)
  
    (define-event (end-prefix-mapping content-handler)
        (prefix)
      nil)
  
    (define-event (end-element default-handler)
        (namespace-uri local-name qname)
      (hax:end-element handler local-name))
  
    (define-event (end-document default-handler)
        ()
      (hax:end-document handler))
  
    (define-event (comment content-handler)
        (data)
      (hax:comment handler data))
  
    (define-event (start-cdata content-handler)
        ()
      nil)
  
    (define-event (end-cdata content-handler)
        ()
      nil)
  
    (define-event (start-dtd content-handler)
        (name public-id system-id)
      (hax:start-document handler name public-id system-id))
  
    (define-event (end-dtd content-handler)
        ()
      nil)
  
    (define-event (start-internal-subset content-handler)
        ()
      nil)
  
    (define-event (end-internal-subset content-handler)
        ()
      nil)
  
    (define-event (unparsed-internal-subset content-handler)
        (str)
      nil)
  
    (define-event (unparsed-entity-declaration content-handler)
        (name public-id system-id notation-name)
      nil)
  
    (define-event (external-entity-declaration content-handler)
        (kind name public-id system-id)
      nil)
  
    (define-event (internal-entity-declaration content-handler)
        (kind name value)
      nil)
  
    (define-event (notation-declaration content-handler)
        (name public-id system-id)
      nil)
  
    (define-event (element-declaration content-handler)
        (name model)
      nil)
  
    (define-event (attribute-declaration content-handler)
        (element-name attribute-name type default)
      nil)
  
    (define-event (entity-resolver content-handler)
        (resolver)
      nil)
  
    (define-event (dtd content-handler)
        (dtd)
      nil))
  
  ;;; special case: this method is defined on abstract-handler through
  ;;; sax-parser-mixin
  
negative.code: ;;;  (c) copyright 2003 by Henrik Motakef
  ;;;  (c) copyright 2004 knowledgeTools Int. GmbH
  ;;;  (c) copyright 2005-2007 David Lichteblau
  ;;;  (c) copyright 2014 Paul M. Rodriguez
  
  ;;; Redistribution and use  in source and binary   forms, with or  without
  ;;; modification, are permitted provided that the following conditions are
  ;;; met:
  ;;;
  ;;; 1. Redistributions  of  source  code  must retain  the above copyright
  ;;;    notice, this list of conditions and the following disclaimer.
  ;;;
  ;;; 2. Redistributions in  binary form must reproduce  the above copyright
  ;;;    notice, this list of conditions and the following disclaimer in the
  ;;;    documentation and/or other materials provided with the distribution
  ;;;
  ;;; THIS  SOFTWARE   IS PROVIDED ``AS  IS''   AND ANY  EXPRESS  OR IMPLIED
  ;;; WARRANTIES, INCLUDING, BUT NOT LIMITED  TO, THE IMPLIED WARRANTIES  OF
  ;;; MERCHANTABILITY  AND FITNESS FOR A  PARTICULAR PURPOSE ARE DISCLAIMED.
  