public function createElement($name, $content = NULL, array $attributes = NULL)
{
list($prefix, $localName) = QualifiedName::split($name);
$namespace = '';
if ($prefix !== FALSE) {
if (empty($prefix)) {
$name = $localName;
} else {
if (isset($this->_reserved[$prefix])) {
throw new \LogicException(sprintf('Can not use reserved namespace prefix "%s" in element name.', $prefix));
}
$namespace = $this->getNamespace($prefix);
}
} else {
$namespace = $this->getNamespace('#default');
}
if ($namespace != '') {
$node = $this->createElementNS($namespace, $name);
} elseif (isset($this->_namespaces['#default'])) {
$node = $this->createElementNS('', $name);
} else {
$node = parent::createElement($name);
}
$this->appendAttributes($node, $content, $attributes);
$this->appendContent($node, $content);
return $node;
}