anchor.diff:          (when (disallow-internal-subset *ctx*)
             (error "document includes an internal subset"))
           (ensure-dtd)
  +        (setf fresh-dtd-p nil)
           (consume-token input)
           (while (progn (p/S? input)
                         (not (eq (peek-token input) :\] )))
  
positive.code:       (values nil nil)))
  
  (defun uri-to-pathname (uri)
    (let ((scheme (puri:uri-scheme uri))
          (path (puri:uri-parsed-path uri)))
      (unless (member scheme '(nil :file))
        (error 'parser-error
               :format-control "URI scheme ~S not supported"
               :format-arguments (list scheme)))
      (if (eq (car path) :relative)
          (multiple-value-bind (name type)
              (parse-name.type (car (last path)))
            (make-pathname :directory (butlast path)
                           :name name
                           :type type))
          (multiple-value-bind (name type)
              (parse-name.type (car (last (cdr path))))
            (destructuring-bind (host device)
                (split-sequence-if (lambda (x) (eql x #\+))
                                   (or (puri:uri-host uri) "+"))
              (make-pathname :host (string-or host)
                             :device (string-or device)
                             :directory (cons :absolute (butlast (cdr path)))
                             :name name
                             :type type))))))
  
  (defun parse-xstream (xstream handler &rest args)
    (let ((zstream (make-zstream :input-stack (list xstream))))
  
negative.code: (defun p/doctype-decl (input &optional dtd-extid)
    (let ()
      (let ((*expand-pe-p* nil)
            (fresh-dtd-p t)
            name extid)
        (expect input :|<!DOCTYPE|)
        (p/S input)
  