【PHP8.x】relaxNgValidateSourceメソッドの使い方
relaxNgValidateSourceメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
relaxNgValidateSourceメソッドは、Dom\XMLDocumentオブジェクトが表すXMLドキュメントが、指定されたRelax NGスキーマに準拠しているかを検証するメソッドです。
Relax NGとは、XMLドキュメントの構造や内容に関するルールを定義するためのスキーマ言語の一つです。このメソッドは、Relax NGスキーマの定義がファイルパスではなく、直接文字列として提供される場合に利用します。
具体的には、メソッドの引数に検証に使用するRelax NGスキーマの定義文字列を渡すことで、現在のXMLドキュメントがそのスキーマのルールに沿っているかを検査します。検証が成功した場合はブール値のtrueを、失敗した場合はfalseを返します。
この機能は、外部システムから受け取ったXMLデータの信頼性を確認したり、自社システム内で生成されたXMLデータの整合性を保証したりする際に非常に役立ちます。例えば、特定の形式に厳密に従う必要がある設定ファイルやデータ交換フォーマットのバリデーションに活用できます。
検証失敗時の具体的なエラーメッセージや詳細は、PHPのlibxml関連関数(例: libxml_get_errors())を用いて取得することが可能です。これにより、XMLデータのどの部分がスキーマに違反しているかを特定し、問題解決に役立てることができます。
構文(syntax)
1<?php 2$xmlDocument = new Dom\XMLDocument(); 3$relaxNgSchemaString = ''; // RelaxNGスキーマのXML文字列を記述する変数 4$isValid = $xmlDocument->relaxNgValidateSource($relaxNgSchemaString); 5?>
引数(parameters)
string $source
- string $source: 検証対象となるXMLソースを指定する文字列
戻り値(return)
bool
Relax NGスキーマによるXML文書の妥当性検証が成功した場合は true を、失敗した場合は false を返します。