2

XSD を使用してjdplプロセス定義ファイルに追加の検証を追加しようとしています。

追加したいルールがいくつかあります。しかし、私に問題を引き起こしているのは、「名前」属性=「問題」を持つ「ノード」要素が1つ存在する必要があることです。

これは有効です:

<process-definition name='sample'>
    <node name="Problem">
    </node>
    <node name="Do Work">
    </node>
</process-definition>

そして、これはそうではありません

<process-definition name='sample'>
    <node name="Do Work">
    </node>
</process-definition>

要約すると、強制する必要があるルールは次のとおりです。

  • 値「問題」を持つノード属性
  • name="Problem" のノードが 1 つ存在する
  • 他の名前を持つ任意の数のノードを許可する

そこに何かアイデアはありますか?

4

1 に答える 1

1

申し訳ありませんが、XSD では不可能です。

パフォーマンス上の理由から、XML スキーマは、現在のノードの先を決して見たり、後ろを見たりしないように設計されています。つまり、バリデーターがスキーマ ツリー内のどこにあるかを常に定義する必要があります。そのため、このような要件を XSD で定義することは不可能です。

于 2008-11-12T11:11:09.570 に答える