ルールベースのXML検証にSchematronを使用する
スキマトロンは、XMLスキーマ(XSD)で可能なものを超えてXMLドキュメントの構造的および内容の妥当性を検証するためのルールを定義できます(XSD)。剛性構造を定義する代わりに、Schematronは宣言的なアプローチを使用して、XPath式に基づいてルールを指定します。これらのルールは、XMLデータ内の条件をチェックし、条件が満たされていない場合、検証エラーが報告されます。
Schematronを使用するには、最初にSchematronスキーマを作成する必要があります。このスキーマはXMLドキュメント自体で、XPath式を使用して記述されたアサーション(ルール)が含まれています。これらのアサーションは、次のようなXMLデータのさまざまな側面をテストします。
たとえば、単純なスキーマトロンルールは、価格>価格
要素が常にゼロより大きいかどうかを確認する可能性があります。 < sch:assert test =" price> 0">価格はゼロより大きくなければなりません。</sch:assert> </sch:ルール>
スキーマトロンスキーマを作成した後、スキーマトロンプロセッサが必要です。コマンドラインツールとして、またはXMLエディターとIDEに統合された多くのプロセッサが利用可能です。プロセッサは、XMLドキュメントとSchematronスキーマを入力として取得し、XMLドキュメントがスキーマで定義されているルールに準拠しているかどうかを示す検証レポートを返します。違反が見つかった場合、レポートはXMLドキュメント内の特定のエラーとその場所を詳述します。人気のあるプロセッサには、Jing、Saxon、および酸素XMLエディターが含まれます。 XSD:
既存のXMLワークフローにスキーマトロンを統合する
はい、スキーマトロンはほとんどの既存のXML処理ワークフローにシームレスに統合できます。統合方法は、特定のワークフローとツールに依存します。いくつかの一般的なアプローチを次に示します。
Context> Context> code>属性
Schematronルールは、ルールが適用される要素を定義します。コンテキストを誤って指定すると、予期しない結果が発生する可能性があります。コンテキストが目的の要素を正確にターゲットにすることを再確認します。スキーマトロンスキーマ、XPath式を慎重に確認し、選択したプロセッサの制限を理解することで、最も一般的なエラーを効果的にトラブルシューティングと解決できます。系統的テストは、スキーマトロン検証ルールの正確性と信頼性を確保するための鍵であることを忘れないでください。
以上がルールベースのXML検証にSchematronを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。