- os << "<a name='" << html::htmlize(getParam("key")) << "'></a>";
- os << "<span class='biblabel'>" << bibLabel() << "</span> ";
+ // FIXME XHTML
+ // XHTML 1.1 doesn't have the "name" attribute for <a>, so we have to use
+ // the "id" attribute to get the document to validate. Probably, we will
+ // need to use "name" anyway, eventually, because some browsers do not
+ // handle jumping to ids. If we don't do that, though, we can just put the
+ // id into the span tag.
+ string const attrs =
+ "id='LyXCite-" + to_utf8(xml::cleanAttr(getParam("key"))) + "'";
+ xs << xml::CompTag("a", attrs);
+ xs << xml::StartTag("span", "class='bibitemlabel'");
+ xs << bibLabel();
+ xs << xml::EndTag("span");