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>
DOMImplementation::createDocument
(PHP 5)
DOMImplementation::createDocument — Crée un objet DOM Document du type spécifié avec ses éléments
Description
$namespaceURI = NULL
[, string $qualifiedName = NULL
[, DOMDocumentType $doctype = NULL
]]] )Crée un objet DOMDocument du type spécifié avec ces éléments du document.
Liste de paramètres
-
namespaceURI -
L'URI de l'espace de noms des éléments du document à créer.
-
qualifiedName -
Le nom qualifié des éléments du document à créer.
-
doctype -
Le type de document à créer ou
NULL.
Valeurs de retour
Un nouvel objet DOMDocument. Si
namespaceURI, qualifiedName,
et doctype sont nulles, le
DOMDocument retourné est vide avec aucun élément de
document.
Erreurs / Exceptions
-
DOM_WRONG_DOCUMENT_ERR -
Lancé si
doctypea déjà été utilisé avec un document différent ou a été créé depuis une implémentation différente. -
DOM_NAMESPACE_ERR -
Lancé s'il y a une erreur dans l'espace de noms, déterminé par
namespaceURIetqualifiedName.
Cette méthode peut être appelée statiquement, mais enverra une erreur E_STRICT.
Voir aussi
- DOMDocument::__construct() - Crée un nouvel objet DOMDocument
- DOMImplementation::createDocumentType() - Crée un objet DOMDocumentType vide
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);
?>
