FluidXml\FluidInsertionHandler::createElement PHP Method

createElement() protected method

protected createElement ( $name, $value = null )
    protected function createElement($name, $value = null)
    {
        // The DOMElement instance must be different for every node,
        // otherwise only one element is attached to the DOM.
        $id = null;
        $uri = null;
        // The node name can contain the namespace id prefix.
        // Example: xsl:template
        $colon_pos = \strpos($name, ':');
        if ($colon_pos !== false) {
            $id = \substr($name, 0, $colon_pos);
            $name = \substr($name, $colon_pos + 1);
        }
        if ($id !== null) {
            $ns = $this->namespaces[$id];
            $uri = $ns->uri();
            if ($ns->mode() === FluidNamespace::MODE_EXPLICIT) {
                $name = "{$id}:{$name}";
            }
        }
        // Algorithm 1:
        $el = new \DOMElement($name, $value, $uri);
        // Algorithm 2:
        // $el = $dom->createElement($name, $value);
        return $el;
    }