void MarkupAccumulator::appendCloseTag(StringBuilder& out, Element* element) { if (shouldSelfClose(element)) { if (element->isHTMLElement()) out.append(' '); // XHTML 1.0 <-> HTML compatibility. out.append('/'); } out.append('>'); }
void MarkupAccumulator::appendCloseTag(StringBuilder& result, const Element& element) { if (shouldSelfClose(element)) { if (element.isHTMLElement()) result.append(' '); // XHTML 1.0 <-> HTML compatibility. result.append('/'); } result.append('>'); }
void MarkupAccumulator::appendEndMarkup(StringBuilder& result, const Node& node) { if (!node.isElementNode() || shouldSelfClose(node) || (!node.hasChildren() && elementCannotHaveEndTag(node))) return; result.appendLiteral("</"); result.append(nodeNamePreservingCase(toElement(node))); result.append('>'); }
void MarkupFormatter::appendEndMarkup(StringBuilder& result, const Element& element) { if (shouldSelfClose(element) || (!element.hasChildren() && elementCannotHaveEndTag(element))) return; result.appendLiteral("</"); result.append(element.tagQName().toString()); result.append('>'); }
void MarkupAccumulator::appendEndMarkup(StringBuilder& result, const Node* node) { if (!node->isElementNode() || shouldSelfClose(node) || (!node->hasChildNodes() && elementCannotHaveEndTag(node))) return; result.append('<'); result.append('/'); result.append(static_cast<const Element*>(node)->nodeNamePreservingCase()); result.append('>'); }