anchor.diff:  "))
   (in-package "COM.INFORMATIMAGO.COMMON-LISP.HTML-BASE.ML-SEXP")
   
  +
   #|
   
   Principles:
  
positive.code: 
  
  (defmethod element-at-path ((element cons) tag-path)
    (if (null path)
        root
        (element-at-path (child-tagged element (first tag-path))
                         (rest tag-path))))
  
  
negative.code:          children))
  
  (defmethod element-name       ((entity cons))
    (car entity))
  
  (defmethod element-attributes ((entity cons))
    (loop :for (k v) :on (cadr entity)
          :collect (list k v)))
  
  (defmethod element-children   ((entity cons))
    (cddr entity))
  
  
  (defun make-attribute (name value)
    (list name value))
  
  (defmethod attribute-name  ((attribute cons))
    (first attribute))
  
  (defmethod attribute-value ((attribute cons))
    (second attribute))
  
  
  
  ;;; xmls entity name may go in namespaces in which case they're lists: (name namespace).
  