【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 を返します。

関連コンテンツ

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