そのまんま!

DOMImplementation->createDocumentType()

(no version information, might be only in CVS)

DOMImplementation->createDocumentType() --  空の DOMDocumentType オブジェクトを作成する

説明

class DOMImplementation {

DOMDocumentType createDocumentType ( [string qualifiedName [, string publicId [, string systemId]]] )

}

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

パラメータ

qualifiedName

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

publicId

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

systemId

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

返り値

ownerDocumentNULL に設定した 新しい DOMDocumentType ノードを返します。

例 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/>

エラー / 例外

DOM_NAMESPACE_ERR

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

参考

DOMImplementation->createDocument()