0

誰かが助けてくれれば、スキーマを作成する際に問題に直面しています。Oxygen XML エディターを使用しています。問題は、次のようなスキーマ宣言があることです。

<xs:attribute name="output" type="xs:ID"  use="optional"/>
<xs:assert test="(@output ne 'result') and (@output ne 'isTimedOut')"/>

したがって、上記の意図は、一部の要素にオプションの「出力」属性があることです。しかし、この属性が定義されている場合、値を「result」または「isTimedOut」にすることはできません。つまり、インスタンス xml で output="result" と指定すると、検証されません。問題は、xml では、オプションとして宣言しているにもかかわらず、「出力」属性のない要素を持つことができないことです。したがって、タグが出力属性を定義していない場合、アサーションのために xml は検証されません。この属性のオプションの動作を行う方法を提案してください。以下は、酸素が与えるエラーです。

Element task does not satisfy assertion (@output ne 'result') and (@output ne 'isTimedOut')
4

1 に答える 1

1

出力属性が存在しないか、許可されていない値と異なるかを確認できます。

<xs:assert test="
     not(@output) or 
     ((@output ne 'result') and (@output ne 'isTimedOut'))"/>

よろしく、ジョージ

于 2012-10-27T12:12:26.087 に答える