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