}
-docstring ParTag::writeTag() const
+ParTag::ParTag(std::string const & tag, std::string attr,
+ std::string const & parid)
+ : StartTag(tag)
{
- docstring output = StartTag::writeTag();
-
- if (parid_.empty())
- return output;
-
- string const pattr = "id='" + parid_ + "'";
- output += html::CompTag("a", pattr).writeTag();
- return output;
+ if (!parid.empty())
+ attr += " id='" + parid + "'";
+ attr_ = attr;
}
#ifdef XHTML_DEBUG
-void XHTMLStream::dumpTagStack(string const & msg) const
+void XHTMLStream::dumpTagStack(string const & msg)
{
- writeError(msg + ": Tag Stack");
- TagStack::const_reverse_iterator it = tag_stack_.rbegin();
- TagStack::const_reverse_iterator en = tag_stack_.rend();
+ *this << html::CR();
+ writeError(msg);
+ *this << html::CR();
+ writeError("Tag Stack");
+ TagDeque::const_reverse_iterator it = tag_stack_.rbegin();
+ TagDeque::const_reverse_iterator en = tag_stack_.rend();
for (; it != en; ++it) {
- writeError(it->tag_);
+ writeError(it->get()->tag_);
}
+ writeError("End Tag Stack");
+ *this << html::CR();
writeError("Pending Tags");
it = pending_tags_.rbegin();
en = pending_tags_.rend();
for (; it != en; ++it) {
- writeError(it->tag_);
+ writeError(it->get()->tag_);
}
- writeError("End Tag Stack");
+ writeError("End Pending Tags");
+ *this << html::CR();
}
#endif
documentClass().counters().step(style.counter, OutputUpdate);
bool const make_parid = !runparams.for_toc && runparams.html_make_pars;
+
+ if (style.labeltype == LABEL_ABOVE)
+ xs << html::StartTag("div")
+ << pbegin->params().labelString()
+ << html::EndTag("div");
+ else if (style.labeltype == LABEL_CENTERED)
+ xs << html::StartTag("div", "style = \"text-align: center;\"")
+ << pbegin->params().labelString()
+ << html::EndTag("div");
openParTag(xs, style, pbegin->params(),
make_parid ? pbegin->magicLabel() : "");
// Label around sectioning number:
// FIXME Probably need to account for LABEL_MANUAL
- // FIXME Probably also need now to account for labels ABOVE and CENTERED.
- if (style.labeltype != LABEL_NO_LABEL) {
+ if (style.labeltype != LABEL_NO_LABEL &&
+ style.labeltype != LABEL_ABOVE &&
+ style.labeltype != LABEL_CENTERED ) {
openLabelTag(xs, style);
xs << pbegin->params().labelString();
closeLabelTag(xs, style);