現在、XML ドキュメント [データ] 検証のためにSchematronを使用しています。Schematron は、少なくとも最初のテストでは適切に機能しているように見えます。私は、XPath コンテキスト/ルールと組み合わせたユーザー中心の検証の一般的なアプローチが気に入っています1。
ただし、実行する必要がある検証の一部は Schematron が処理できる範囲外であるため、POCC (Plain Old C# Code) でこれと同じ種類の「宣言型検証」をセットアップしたいと考えています。少なくとも追加の変換や変換は必要ありません。 XMLはあまり好きではありません。
Fluent Validation、同様の投稿や本などのいくつかのライブラリを見つけましたが、XML/XPath に合わせて調整されたものはないようです。しかし、簡潔な XPath 構文に夢中になりすぎて、Linq-to-XML が実際にどのように適合するかを理解できていない可能性があります。 ..
問題は次のとおりです。
XPath を利用して XML ドキュメントを処理するように調整された、C# (.NET) 流暢/宣言型検証ライブラリはありますか?
これを「ショッピングの質問」として閉じることに投票する前に、そのようなライブラリの明らかな不足/あいまいさを考慮してください. 宣言型の検証ライブラリのいくつかは、そのようなサポートでハッキングできるように見えますが、少し遊んだ後では、「自然に感じられません」。この側面でXPathをサポートするために流暢な検証ライブラリを拡張した実際の経験も、特に適切なアプローチであることが証明されている場合は、良い答えになります。
1このプロジェクトでは、構造/タイプの検証 (つまり、「適切に型付けされた」検証) に XSD スキーマ検証も使用します。検証のこのフェーズは、「正しいセマンティクス」の検証に関するものです。ただし、XSD は「分かりやすい」エラー メッセージを生成せず、[共]依存の値を処理できず、さらに冗長です。RELAX NG は、これらの問題の少なくとも 1 つを解決しますが、すべてではありません。