【PHP8.x】C14NFileメソッドの使い方
C14NFileメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Dom\TextクラスのC14NFileメソッドは、ノードをCanonical XML形式(C14N)でファイルにシリアライズするメソッドです。具体的には、テキストノードの内容を、W3Cの勧告するCanonical XML v1.0またはv1.1の規則に従って、指定されたファイルに書き出します。このメソッドを使用することで、XMLドキュメントの一部であるテキストノードを、プラットフォームや実装に依存しない一貫した形式で保存できます。C14N形式は、XMLドキュメントのデジタル署名や比較を行う際に重要な役割を果たします。
C14NFileメソッドは、出力ファイル名、排他的なCanonicalizationを行うかどうか、コメントを含めるかどうか、プレフィックスリストなどを引数として受け取ります。これらの引数を適切に設定することで、Canonical XML形式の生成を細かく制御できます。例えば、排他的なCanonicalizationを有効にすると、ドキュメントのコンテキストに影響を与える可能性のある名前空間宣言のみが出力に含まれます。
このメソッドは、XMLドキュメントの整合性を保ち、異なるシステム間での相互運用性を確保するために役立ちます。システムエンジニアは、C14NFileメソッドを利用することで、XMLデータを安全かつ確実に交換し、長期的なアーカイブやデータの検証を容易にすることができます。また、データの改ざんを検知する仕組みを構築する際にも、C14N形式が一貫性のある基準として活用できます。
構文(syntax)
1public Dom\Text::C14NFile( string $uri, bool $exclusive = false, bool $with_comments = false, array $xpath = null, ?string $ns_prefixes = null ): int|false
引数(parameters)
string $uri, bool $exclusive = false, bool $with_comments = false, ?array $xpath = null, ?array $ns_prefixes = null
- string $uri: 正規化するXMLファイルを指定するURI
- bool $exclusive: trueに設定すると、指定した要素のみを正規化します。デフォルトはfalseです。
- bool $with_comments: trueに設定すると、コメントノードも正規化に含めます。デフォルトはfalseです。
- ?array $xpath: 正規化する要素をXPathで指定します。デフォルトはnullで、ドキュメント全体を正規化します。
- ?array $ns_prefixes: 名前空間プレフィックスを配列で指定します。デフォルトはnullです。
戻り値(return)
int|false
このメソッドは、DOMTextノードを正規化(CANONICALIZE)して、その結果を整数で返します。正規化に成功した場合は1、失敗した場合はfalseを返します。