anchor.diff:  
   (def-html-tag <:p :core :event :i18n)
   
  -(def-html-tag <:param
  -              name
  -              id
  -              type
  -              value
  -              valuetype)
  +(def-empty-html-tag <:param
  +                    name
  +                    id
  +                    type
  +                    value
  +                    valuetype)
   
   (def-html-tag <:pre :core :event :i18n)
   
  
positive.code: 
  (def-html-tag <:code :core :event :i18n)
  
  (def-html-tag <:col :core :event :i18n
                align
                char
                charoff
                span
                valign
                width)
  
  (def-html-tag <:colgroup :core :event :i18n
                align
  
negative.code: 
  ;;;; ** Helper macro fer defining the tag macros
  
  (eval-when (:compile-toplevel)
    (defun make-effective-attributes (attributes)
      (with-collector (attrs)
        (dolist (attr attributes)
          (case attr
            (:core  (attrs 'class 'id 'style 'title))
            (:i18n  (attrs 'dir 'lang))
            (:event (attrs 'onclick 'ondblclick
                           'onkeydown 'onkeypress
                           'onkeyup 'onmousedown
                           'onmousemove 'onmouseout
                           'onmouseover 'onmouseup))
            (t (attrs attr))))
        (attrs))))
  
  
  (defmacro def-empty-html-tag (name &rest attributes)
    "Define a tag that has `End Tag` set to Forbidden and `Empty`
  set to Empty according to:
  http://www.w3.org/TR/1999/REC-html401-19991224/index/elements.html
  used so generated XHTML would follow guidelines described in
  http://www.w3.org/TR/xhtml1/#guidelines"
    (let ((effective-attributes (make-effective-attributes attributes)))
      `(deftag ,name (&attribute ,@effective-attributes &body body)
       (emit-empty-tag ,(string-downcase (symbol-name name))
                           (list ,@(mapcar (lambda (attr)
                                             `(cons ,(string-downcase (symbol-name attr)) ,attr))
                                           effective-attributes))))))
  
  
  (defmacro def-html-tag (name &rest attributes)
    (let ((effective-attributes (make-effective-attributes attributes)))
    `(deftag ,name (&attribute ,@effective-attributes &body body)
       (emit-open-tag ,(string-downcase (symbol-name name))
                      (list ,@(mapcar (lambda (attr)
                                        `(cons ,(string-downcase (symbol-name attr)) ,attr))
                                      effective-attributes)))
       (emit-body body)
       (emit-close-tag ,(string-downcase (symbol-name name))))))
  
  
  ;;;; * All HTML4 tags
  
  