1

これは私が解決しようとしているシナリオ/問題です-私のXSDの要素のシーケンス内に要素があります-前の要素の1つ-たとえばABC-が特定の値を持っている場合、nillableになる可能性があるXYZと言ってください- 「アルファ" . その前の要素 - ABCの値が異なる場合、要素XYZは nillable であってはなりません。

この問題を解決する最善の方法は何ですか?

C# と SQL Server を使用しています。

XSD 内で新しい属性を定義することは可能ですか?

4

1 に答える 1

4

要素と属性の構造と形式を制御するには、実際に XSD を修正する必要があります。あなたがしようとしているのは、XSD を使用して検証できないビジネス ルールを実装することです。

ただし、XML でビジネス ルールを実装するために使用できるフレームワークがあります。これはSchematronと呼ばれる ISO 標準です。Schematron は基本的に、XPath を組み合わせてロジックを実装し、XSLT を組み合わせて検証を実行します。

これにはSchematron.NETとして知られる .NET プロジェクトがあります。

これは、「 Schematron を使用した XML ドキュメント検証の改善」を読むと興味深いかもしれません。

于 2011-03-26T21:20:27.420 に答える