Macro: DEF-EMPTY-HTML-TAG

Documentation

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

Source

(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)))
    (with-unique-names (custom-attributes)
      `(deftag ,name (&attribute ,@effective-attributes
                      &allow-custom-attributes ,custom-attributes)
         (emit-empty-tag ,(string-downcase (symbol-name name))
                         (list ,@(iter (for attr :in effective-attributes)
                                       (collect (string-downcase (symbol-name attr)))
                                       (collect attr)))
                         ,custom-attributes)))))
Source Context