空の DOMDocumentType オブジェクトを作成する

# DOMImplementation::createDocumentType

(PHP 5, PHP 7, PHP 8)

DOMImplementation::createDocumentType — 空の DOMDocumentType オブジェクトを作成する

### 説明

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

空の DOMDocumentType オブジェクトを作成します。 エンティティ宣言および記法は使用可能にはなりません。エンティティ参照の 展開やデフォルト属性の追加は発生しません。

### パラメータ

`qualifiedName`

  作成されるドキュメント型の修飾名。

`publicId`

  外部サブセットの公開 ID。

`systemId`

  外部サブセットのシステム ID。

### 戻り値

`ownerDocument` を `null` に設定した 新しい DOMDocumentType ノードを返します。 エラーの場合は `false` を返します。

### エラー / 例外

以下のエラーコードで DOMException をスローします:

`DOM_NAMESPACE_ERR`

  `qualifiedName` で指定した名前空間に間違いがある場合に発生します。

### 変更履歴

バージョン | 説明
--- | ---
8.0.0 | この関数を static メソッドとしてコールすると、 Error がスローされるようになりました。 これより前のバージョンでは、 `E_DEPRECATED` が発生していました。

### 例

例1 DTD を添付してドキュメントを作成する

    <?php

    // DOMImplementation クラスのインスタンスを作成します
    $imp = new DOMImplementation;

    // DOMDocumentType のインスタンスを作成します
    $dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

    // DOMDocument のインスタンスを作成します
    $dom = $imp->createDocument("", "", $dtd);

    // その他のプロパティを設定します
    $dom->encoding = 'UTF-8';
    $dom->standalone = false;

    // 空の要素を作成します
    $element = $dom->createElement('graph');

    // 要素を追加します
    $dom->appendChild($element);

    // ドキュメントの内容を出力します
    echo $dom->saveXML();

    ?>

上の例の出力は以下となります。

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

### 参考

- DOMImplementation::createDocument() - 指定した型とドキュメント要素の DOMDocument オブジェクトを作成する

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