DOMImplementation::createDocument

(PHP 5, PHP 7, PHP 8)

DOMImplementation::createDocument Crea un objeto DOMDocument del tipo especificado con su elemento documento

Descripción

public DOMImplementation::createDocument(?string $namespace = null, string $qualifiedName = "", ?DOMDocumentType $doctype = null): DOMDocument|false

Crea un objeto DOMDocument del tipo especificado con su elemento documento.

Parámetros

namespace

La URI del espacio de nombres del elemento documento a crear.

qualifiedName

El nombre cualificado del elemento documento a crear.

doctype

El tipo de documento a crear o null.

Valores devueltos

A new DOMDocument object or false on error. If namespace, qualifiedName, and doctype are null, the returned DOMDocument is empty with no document element

Errores/Excepciones

DOM_WRONG_DOCUMENT_ERR

Lanzado si doctype ya ha sido usado con un documento diferente o fue creado desde una implementación diferente.

DOM_NAMESPACE_ERR

Lanzado si hay un error con el espacio de nombres, como determina namespace y qualifiedName.

Historial de cambios

Versión Descripción
8.0.3 namespace is now nullable.
8.0.0 doctype is now nullable.
8.0.0 Calling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.

Ver también

add a note

User Contributed Notes 3 notes

up
6
eboyjr
15 years ago
To add on to the other example, here's how to create an XHTML 1.0 transitional document with head, title, and body elements.<?php$document = DOMImplementation::createDocument(null, 'html',    DOMImplementation::createDocumentType("html",         "-//W3C//DTD XHTML 1.0 Transitional//EN",         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"));$document->formatOutput = true;$html = $document->documentElement;$head = $document->createElement('head');$title = $document->createElement('title');$text = $document->createTextNode('Title of Page');$body = $document->createElement('body');$title->appendChild($text);$head->appendChild($title);$html->appendChild($head);$html->appendChild($body);echo $document->saveXML();?>This outputs: (http links removed due to spam)<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "doctype.dtd"> <html xmlns="w3org1999xhtml">   <head>     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />     <title>Title of Page</title>   </head>   <body></body> </html> Note the saveXML function. If saveHTML was used instead, you get the output:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "doctype.dtd"> <html> <head><title>Title of Page</title></head> <body></body> </html>
up
1
arturm at union dot com dot pl
19 years ago
To create HTML document with doctype:

<?php
$doctype = DOMImplementation::createDocumentType("html",
                "-//W3C//DTD HTML 4.01//EN",
                "http://www.w3.org/TR/html4/strict.dtd");
$doc = DOMImplementation::createDocument(null, 'html', $doctype);
?>
up
-1
sleistico at gmail dot com
7 years ago
I just recently got an error, having to do with deprecation, by using the type of calls in the other example listed here.  What I had to do instead looks like this...$htmldoc = (new DOMImplementation)->createDocument(null, 'html', (new DOMImplementation)->createDocumentType("html"));This creates a document with <!DOCTYPE html> at the top of it.
To Top