Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】XMLWriter::writeDtd()メソッドの使い方

writeDtdメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

writeDtdメソッドは、XML文書の構造を定義するDTD(Document Type Definition)全体をXML出力ストリームに書き込むメソッドです。DTDとは、XML文書がどのような要素を持ち、それらがどのように配置されるか、またどのような属性を持つかといったルールを定めるものです。

このメソッドは、DTDのルート要素名、外部DTDの公開識別子、システム識別子、そしてDTDの定義内容を直接記述する内部サブセットといった情報を引数として受け取ります。具体的には、第一引数にDTDが適用されるXML文書のルート要素の名前、第二引数に外部DTDを参照する際の公開識別子、第三引数に外部DTDの場所を示すシステム識別子(URIなど)、そして第四引数にDTDの定義本体を記述します。これにより、XML文書のルート要素の名前や、外部に定義されたDTDを参照する際の識別子、あるいは文書内部で直接DTDのルールを記述する内容を、適切にXML出力に含めることができます。

通常、このメソッドはXMLWriterオブジェクトでstartDocument()メソッドを呼び出した直後、XML文書の要素を書き込み始める前に呼び出されます。XML文書の構造を厳密に定義し、その妥当性を保証したい場合に利用することで、生成されるXML文書の整合性を高める上で重要なDTD情報を効率的に書き込むための機能を提供します。

構文(syntax)

1<?php
2$xmlWriterInstance->writeDtd('rootElementName', '-//W3C//DTD XHTML 1.0 Strict//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd', '<!ELEMENT rootElementName (childElement+)>');

引数(parameters)

string $name, ?string $publicId = null, ?string $systemId = null, ?string $content = null

  • string $name: DTD の名前
  • ?string $publicId = null: DTD の公開識別子 (オプション)
  • ?string $systemId = null: DTD のシステム識別子 (オプション)
  • ?string $content = null: DTD の内容 (オプション)

戻り値(return)

bool

XMLWriter::writeDtdメソッドは、DTD(Document Type Definition)をXMLドキュメントに書き込むことに成功したかどうかを示すブール値を返します。成功した場合は true を、失敗した場合は false を返します。

関連コンテンツ