【PHP8.x】C14NFileメソッドの使い方
C14NFileメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Dom\CDATASectionクラスのC14NFileメソッドは、XMLドキュメントのノードを、W3CのCanonical XML(C14N)仕様に従って正規化し、その結果を指定されたファイルに保存するメソッドです。このメソッドは、XMLドキュメントの特定の部分だけを標準的な形式で出力する必要がある場合に特に有用です。C14Nは、XMLドキュメントの構造や内容を、意味を変えずに一貫した形式に変換するプロセスであり、異なるシステム間でXMLデータを交換する際にデータの整合性を保証するために使用されます。
C14NFileメソッドを使用することで、CDATASectionノードの内容を、指定されたファイルパスにC14N形式で書き出すことができます。このメソッドは、XMLドキュメントの一部を他のシステムに送信したり、XMLドキュメントの一部を永続化したりする場合に、データの形式を統一するために役立ちます。また、デジタル署名を作成する前にXMLドキュメントを正規化し、署名の信頼性を高めるためにも利用できます。
メソッドの実行時には、出力先のファイルパスを指定する必要があります。必要に応じて、C14Nのオプションフラグを指定することで、正規化の処理をカスタマイズすることも可能です。例えば、コメントの保持や、名前空間の処理方法などを制御できます。C14NFileメソッドは、XML処理においてデータの整合性と互換性を確保するための重要なツールとなります。
構文(syntax)
1public Dom\CDATASection::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: 排他的な名前空間の正規化を行うかどうか (デフォルト: false)
- bool $with_comments: コメントを含めて正規化するかどうか (デフォルト: false)
- ?array $xpath: 正規化に含めるノードを指定するXPath式配列 (デフォルト: null)
- ?array $ns_prefixes: 正規化に含める名前空間プレフィックスの配列 (デフォルト: null)
戻り値(return)
int|false
このメソッドは、CDATAセクションの正規化(CANONICAL XML 1.0)に成功した場合は1を、失敗した場合はfalseを返します。