Filter/forwarder adding a HTML link element for advertising
server-side SGML support.
Adds an element as follows to the HTML
<link rel="alternate" type="text/sgml" href="#">
The presence of this
link element makes SGML-UA
recognize that the containing (initial landing) HTML page
was prepared by SGML on the server side, and act
accordingly (eg. wrt. session history management).
Note that the generated value for
href is bogus,
and only provided since a value is required by the HTML
specification. Potential alternative "dummy" values are
worse: a value of
. (dot) is semantically
incorrect on URLs that don't end in a slash, and an
empty string might be misinterpreted on IE (when occuring
on a plain
a element, at least; see also eg.
this StackOverflow article).
href value is ignored by SGML-UA, and isn't
used by browsers either (it might be evaluated by
Note that a
head element is expected in the input
event stream; the filter won't insert a
by itself, and won't generate a
link element as described
above when no
head end-element event is delivered in the
input event stream.
Note also that this filter will append a
head child content, regardless of whether processing
HTML or another vocabulary.
Note that for simplicity, this blindly appends the link
element, ignoring whether an identical link element has
already been delivered in upstream events, so the ouput
may contain multiple link elements as described (which
however is still valid and doesn't change the link element's
This filter is expected to be placed after
suppressdocumentelementfilter in a filter chain,
(but will also work in another chain setup).