anchor.diff:  					  (list :|Base| qid new-element)
   					  table 
   					  indent))))
  -		      
   
   		 ((equal qid '("Option" . "Option"))
   		  (if (eq (car datum) :|None|)
   		      (values '()
   			      :|None|)
   		    (progn 
  -		      ;; (format t "~%----------OPTION-------------~%")
   		      (make-content-items (cdr datum) 
   					  sort
   					  (chase (cadr body) table)
   					  table 
   					  indent))))
  -			
  -		 
   		 (t
  -		  ;; (print (list :unknown-base pattern))
   		  (values ()
   			  (unicode::ustring (format nil "?? Base: ~A.~A ??" (car qid) (cdr qid))))))))
   
         (t
  -       (print (list :unknown pattern))
          (values ()
   	       (unicode::ustring (format nil "?? Key: ~A ??" key)))))))
   
  -
  -
  +;;; ------------------------------------------------------------------------
  +
  +(defun show_sort (msg srt)
  +  (format t "~%~A : ~S~%" msg srt))
  +
  
positive.code:   (make_Content_Item_from_Element 
     (make-element name datum sort table (+ indent 2))))
  
  (defun make-whitespace (n)
    (let ((chars nil))
      (dotimes (i n) (push 32 chars))
      chars))
  
  (defun make-element (name datum sort table indent)
    (let* ((pattern (chase sort table))
  	 (name (unicode::ustring name))
  	 (sort-attribute  (make_GenericAttribute '(32) (unicode::ustring "type") '() '() 
  						 (make_QuotedText '34
  								  (pp-sort-for-xml sort))))
  	 (attributes 
  	  (list sort-attribute)))
      (multiple-value-bind (items text)
  
negative.code: 		   (format nil "[COMPOUND SORT: ~S]" sort)))))
      (unicode::ustring (aux sort))))
  
  (defun make-content-items (datum sort pattern table indent)
    (let ((key  (car pattern))
  	(body (cdr pattern)))
      (case key
  