【PHP8.x】schemaValidateメソッドの使い方

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

作成日: 更新日:

基本的な使い方

schemaValidateメソッドは、XMLドキュメントが指定されたスキーマ定義に準拠しているかを検証するメソッドです。このメソッドは、PHPのDOMDocumentクラスに属し、主にXMLデータの構造的な整合性をプログラムで確認するために使用されます。例えば、外部システムから受け取ったXMLデータが、あらかじめ決められた形式(XML Schema Definition: XSDなど)に沿っているかをチェックする際に非常に役立ちます。これにより、データの信頼性を向上させ、後続の処理で予期せぬエラーが発生するのを防ぐことができます。

このメソッドは引数として、検証に使用するスキーマファイルへのパス(文字列)を受け取ります。検証が成功し、XMLドキュメントがスキーマに準拠している場合はブール値のtrueを返し、準拠していない場合はfalseを返します。

検証が失敗した場合、PHPは通常警告(Warning)を発生させます。プログラム内で詳細なエラー情報を取得したり、警告の出力を制御したりしたい場合は、libxml_use_internal_errors(true)関数と組み合わせて使用し、libxml_get_errors()関数でエラーメッセージを取得する方法が推奨されます。このメソッドを呼び出す前には、検証対象のXMLドキュメントがDOMDocumentオブジェクトに適切にロードされている必要があります。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$isValid = $dom->schemaValidate('your_schema.xsd');
5
6?>

引数(parameters)

string $filename, int $flags = 0

  • string $filename: 検証に使用するスキーマファイルのパスを指定する文字列
  • int $flags = 0: 検証の挙動を制御するためのフラグを指定する整数

戻り値(return)

bool

指定されたXML文書が、指定されたスキーマに対して有効であるかどうかを真偽値 (true または false) で返します。

【PHP8.x】schemaValidateメソッドの使い方 | いっしー@Webエンジニア