anchor.diff:          (progn
   	      (xml-read-char in)
   	      (values ident (xml-parse-unify-identifier in)))
  -        (values nil ($ ident)))))
  +        (values nil (make-symbol ident *keyword-package*)))))
   
   (defun xml-parse-quoted-string-r (in quot)
     (with (c (xml-read-char in))
  
positive.code: (defun xml-parse-file (name)
    (with-open-file in (open name :direction input)
      (xml-parse in)))
  
  (defun xml-test ()
    (print (xml-parse-file "xschema.xml")))
  
negative.code:   "Parse block tag (until it's closed) or inline tag."
    `(,name ,@attrs ,@(xml-parse-list in ns name)))
  
  (defun xml-parse-cont-std (in)
    (xml-skip-spaces in)
    (with ((ns name type attrs) (xml-parse-standard-tag in))
  	(unless (eq type 'opening)
  	  (xml-error "Opening tag expected instead of ~A." type))
  	(xml-parse-block in ns name attrs)))
  
  (defun xml-parse-toplevel (in)
    "Parse top-level block tag."
    (xml-skip-spaces in)
    (unless (= #\< (xml-read-char in))
  	(error "expected tag instead of text"))
    (if (= #\? (xml-peek-char in))
  	  (xml-parse-version-tag in)
  	  (xml-parse-cont-std in)))
  
  ;;; Top-level
   
  