As you probably know, there are certain html tags that will break the
browser's rendering if they are not paired up properly with a close
tag </tag> even if it's content is empty.
For example, <textarea> and <script> (ie)
Well today I'm bitten by this, where <div id='header' /> messes up
firefox's rendering coupled with some css rules.
Even though I'm awared of how to get around it, sometimes it's rather
hard to spot that with a sea of nested (:div (:div ...)).
This is also a recurring problem for newbie and there were a few
threads regarding this.
Attach is a patch to fix this.
[Special variable]
*html-empty-tag-aware*
Set to NIL to if you want to use cl-who as a strict XML generator.
Otherwise, CL-WHO will only close empty tag defined in
*html-empty-tags* with <tag/> (XHTML mode) or <tag> (SGML mode). For
all other tags, it will always generate <tag></tag>. The default is T.
[Special variable]
*html-empty-tags*
List of html tags that should close by itself. The default values
are '(:base :basefont :br :frame :hr :img :input :isindex :link :meta
:nextid :range :spacer :wbr :audioscope :area :param :keygen :col
:limittext :spot :tab :over :right :left :choose :atop :of)
I'm not sure if anyone is using cl-who to generate XML. If it is, then
you need to set *html-empty-tag-aware* to NIL, because this patch will
change the default behavior (to do the right thing).
Regards,
-- Mac