Creates an empty DOMDocumentType object

# DOMImplementation::createDocumentType

(PHP 5, PHP 7, PHP 8)

DOMImplementation::createDocumentType — Creates an empty DOMDocumentType object

### Description

public DOMImplementation::createDocumentType(string `$qualifiedName`, string `$publicId` = "", string `$systemId` = ""): DOMDocumentType|false

Creates an empty DOMDocumentType object. Entity declarations and notations are not made available. Entity reference expansions and default attribute additions do not occur.

### Parameters

`qualifiedName`

  The qualified name of the document type to create.

`publicId`

  The external subset public identifier.

`systemId`

  The external subset system identifier.

### Return Values

A new DOMDocumentType node with its `ownerDocument` set to `null` or `false` on error.

### Errors/Exceptions

May throw a DOMException with the following error codes:

`DOM_NAMESPACE_ERR`

  Raised if there is an error with the namespace, as determined by `qualifiedName`.

### Changelog

Version | Description
--- | ---
8.0.0 | Calling this function statically will now throw an Error. Previously, an `E_DEPRECATED` was raised.

### Examples

Example #1 Creating a document with an attached DTD

`<?php
// Creates an instance of the DOMImplementation class
$imp = new DOMImplementation;
// Creates a DOMDocumentType instance
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');
// Creates a DOMDocument instance
$dom = $imp->createDocument("", "", $dtd);
// Set other properties
$dom->encoding = 'UTF-8';
$dom->standalone = false;
// Create an empty element
$element = $dom->createElement('graph');
// Append the element
$dom->appendChild($element);
// Retrieve and print the document
echo $dom->saveXML();
?>`

The above example will output:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!DOCTYPE graph SYSTEM "graph.dtd">
    <graph/>

### See Also

- DOMImplementation::createDocument() - Creates a DOMDocument object of the specified type with its document element

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open