2009-04-24 9 views
11

私は、XML文書のより高度なビジネスルール検証を行う方法を検討してきました。これまでSchematronは私が必要とすることができるように思われます。C#でSchematron/XSDを使用したXML検証

私は周りを見てきましたが、私が見つけた数少ないライブラリは非常に古く、もうサポートされていないようです。 2002年にはSchematronは「ホット」だったのでしょうか? C#でバリデーションを行うことができるライブラリがありますか?またはどうしたらいいですか?

また、高度な検証を行い、C#ライブラリを持ち、標準化されている他にもありますか?

何が価値がある、これは私の経験をされているため
+1

私はこれが*古い*質問であることを知っていますが、解決策を見つけましたか?私は今この状況にいます - 私はスキーマの検証にXSDを使用しますが、ビジネスルールにはSchematronのようなアプローチを使用したいと思います。私は実際に自分自身のXSLTバリデータを作成することを研究するまでは知りませんでしたが、Schematron(または他のもの)が実際に実装されていれば、既存のバリデータを使用するだけです。 –

答えて

13

...

私はスキーマがビジネスルールの検証の線に沿って複数の操作を行いことがしたい瞬間を持っていました。しかし、私の経験では、スキーマはデータコントラクト(フォーマット、タイプなど)を定義するためのものです... NOTビジネスルールを強制する。それ以上のことをしようとすると、あらゆる種類の問題が発生し、Schematronが人気を失ったように思えるかもしれません(バックアップできないという悪い仮定かもしれません)。

  • 検証XML構造/データ型などスキーマ検証を使用して:

    は、この問題を回避するために、1は、一般的に2つのパスのアプローチを行うことができます。
  • xml(通常のC#コード)に対してビジネスルールチェックを適用します。

私は、検証のためのオールインワンアプローチをしたいと思っていますが、このためにスキーマを使用しようとすると、長期的にはより多くの頭痛を引き起こします。最終的には、コードに分離してビジネスルールのチェックを細かく制御できるようになります。

+5

多くの価値があります!私は同じ思考を自分自身で持っていましたが、問題はそれほどではなく、オールインワンのアプローチが必要です。多くのアプリケーションで共有できる「検証パッケージ」が必要です。その多くは、私とは関係がありません。したがって、XMLのビジネスルール検証のためのオープンな標準の必要性が増しています。 – asgerhallas

+0

これは、数ヶ月後に私がSchematronを使いこなした後のことです。 –

+5

また、Schematronは現在ISO標準になっていることに注目する価値があります。 –

関連する問題