(PHP 5, PHP 7, PHP 8)
DOMImplementation::createDocumentType — Crée un objet DOMDocumentType vide
$qualifiedName
, string $publicId
= "", string $systemId
= ""): DOMDocumentType|falseCrée un objet DOMDocumentType vide. Les déclarations et notations d'entités ne sont pas disponibles. Les expansions de références d'entités et les ajouts d'attributs par défaut ne sont pas non plus effectués.
qualifiedName
Le nom qualifié du type de document à créer.
publicId
L'identifiant publique externe du sous-ensemble.
systemId
L'identifiant système externe du sous-ensemble.
Un nouveau nœud DOMDocumentType
avec son ownerDocument
défini à null
ou false
en cas d'erreur.
DOM_NAMESPACE_ERR
Levée si il y a une erreur avec l'espace de noms, déterminé par
qualifiedName
.
Antérieur à PHP 8.0.0, cette méthode peut être appelée statiquement,
mais émettra un diagnostic E_DEPRECATED
.
À partir de PHP 8.0.0, appeler cette méthode statiquement lancera une exception Error.
Exemple #1 Création d'un document avec une DTD attachée
<?php
// Création d'une instance de la classe DOMImplementation
$imp = new DOMImplementation;
// Création d'une instance DOMDocumentType
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');
// Création d'une instance DOMDocument
$dom = $imp->createDocument("", "", $dtd);
// Définition des autres propriétés
$dom->encoding = 'UTF-8';
$dom->standalone = false;
// Création d'un élément vide
$element = $dom->createElement('graph');
// Ajout de l'élément
$dom->appendChild($element);
// Récupère et affiche le document
echo $dom->saveXML();
?>
L'exemple ci-dessus va afficher :
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE graph SYSTEM "graph.dtd"> <graph/>