EntityReference.cpp [plain text]
#include "config.h"
#include "EntityReference.h"
namespace WebCore {
EntityReference::EntityReference(Document* doc)
: ContainerNode(doc)
{
}
EntityReference::EntityReference(Document* doc, StringImpl* entityName)
: ContainerNode(doc)
, m_entityName(entityName)
{
}
String EntityReference::nodeName() const
{
return m_entityName.get();
}
Node::NodeType EntityReference::nodeType() const
{
return ENTITY_REFERENCE_NODE;
}
PassRefPtr<Node> EntityReference::cloneNode(bool deep)
{
RefPtr<EntityReference> clone = new EntityReference(document(), m_entityName.get());
if (deep)
cloneChildNodes(clone.get());
return clone.release();
}
bool EntityReference::childTypeAllowed(NodeType type)
{
switch (type) {
case ELEMENT_NODE:
case PROCESSING_INSTRUCTION_NODE:
case COMMENT_NODE:
case TEXT_NODE:
case CDATA_SECTION_NODE:
case ENTITY_REFERENCE_NODE:
return true;
break;
default:
return false;
}
}
String EntityReference::toString() const
{
String result = "&";
result += m_entityName.get();
result += ";";
return result;
}
}