anchor.diff:  			 (package (find-package* ns-string)))
     (declare (type string ns-string)
   	   (type package package)
  -	   ;; FIXME: Always return a prefix-qualified-namespace ?
  +	   (values namespace &optional))
  +  (let ((s (simplify-string ns-string)))
  +    (%make-namespace s
  +		     #+NAMESPACE-URI :uri
  +		     #+NAMESPACE-URI (puri:intern-uri s *qname-ns-registry*)
  +		     :package package)))
  +
  +(defun make-prefix-qualified-namespace (ns-string
  +					&optional
  +					  (package
  +					   (find-package* ns-string)))
  +  (declare (type string ns-string)
  +	   (type package package)
   	   (values prefix-qualified-namespace &optional))
     (let ((s (simplify-string ns-string)))
  -    (%make-namespace s
  -		     #+NAMESPACE-URI
  -		     (puri:intern-uri s *qname-ns-registry*)
  -		     package)))
  -
  +    (%make-prefix-qualified-namespace
  +     s #+NAMESPACE-URI :uri
  +       #+NAMESPACE-URI (puri:intern-uri s *qname-ns-registry*)
  +       :package package)))
  +
  +#-:SYMBOL-NAME-EQ
   (defun compute-qname-string (ncname ns &optional ensure)
     (declare (type string ncname)
   	   (type namespace ns)
  
positive.code:   '(and (or runes::simple-rod simple-string)
      ncname))
  
  
  ;;; * Namespace Qualified Names (QNames)
  
  ;; FIXME: The followimg code, excepting the call to ncname-p, does
  
negative.code: ;;; * Accessor Protocol
  
  (defgeneric namespace-string (namespace)
    (:method ((namespace namespace))
      (%namespace-string namespace)))
  
  #+NAMESPACE-URI
  (defgeneric namespace-uri (namespace)
    (:method ((namespace namespace))
      (%namespace-uri namespace)))
  
  (defgeneric namespace-package (namespace)
    (:method ((namespace namespace))
      (%namespace-package namespace)))
  
  #-:SYMBOL-NAME-EQ
  (defgeneric namespace-local-names-table (namespace)
    (:method ((namespace namespace))
      (%namespace-local-names-table namespace)))
  