void MarkupAccumulator::appendStartMarkup(StringBuilder& result, Node& node, Namespaces* namespaces) { switch (node.nodeType()) { case Node::TEXT_NODE: appendText(result, toText(node)); break; case Node::COMMENT_NODE: appendComment(result, toComment(node).data()); break; case Node::DOCUMENT_NODE: appendXMLDeclaration(result, toDocument(node)); break; case Node::DOCUMENT_FRAGMENT_NODE: break; case Node::DOCUMENT_TYPE_NODE: appendDocumentType(result, toDocumentType(node)); break; case Node::PROCESSING_INSTRUCTION_NODE: appendProcessingInstruction(result, toProcessingInstruction(node).target(), toProcessingInstruction(node).data()); break; case Node::ELEMENT_NODE: appendElement(result, toElement(node), namespaces); break; case Node::CDATA_SECTION_NODE: appendCDATASection(result, toCDATASection(node).data()); break; case Node::ATTRIBUTE_NODE: ASSERT_NOT_REACHED(); break; } }
void MarkupAccumulator::appendStartMarkup(StringBuilder& result, const Node* node, Namespaces* namespaces) { if (namespaces) namespaces->checkConsistency(); switch (node->nodeType()) { case Node::TEXT_NODE: appendText(result, toText(const_cast<Node*>(node))); break; case Node::COMMENT_NODE: appendComment(result, static_cast<const Comment*>(node)->data()); break; case Node::DOCUMENT_NODE: appendXMLDeclaration(result, static_cast<const Document*>(node)); break; case Node::DOCUMENT_FRAGMENT_NODE: break; case Node::DOCUMENT_TYPE_NODE: appendDocumentType(result, static_cast<const DocumentType*>(node)); break; case Node::PROCESSING_INSTRUCTION_NODE: appendProcessingInstruction(result, static_cast<const ProcessingInstruction*>(node)->target(), static_cast<const ProcessingInstruction*>(node)->data()); break; case Node::ELEMENT_NODE: appendElement(result, static_cast<Element*>(const_cast<Node*>(node)), namespaces); break; case Node::CDATA_SECTION_NODE: appendCDATASection(result, static_cast<const CDATASection*>(node)->data()); break; case Node::ATTRIBUTE_NODE: case Node::ENTITY_NODE: case Node::ENTITY_REFERENCE_NODE: case Node::NOTATION_NODE: case Node::XPATH_NAMESPACE_NODE: ASSERT_NOT_REACHED(); break; } }