私は現在、さまざまな間隔を表すXSDスキーマを作成しています。範囲の境界には、xs:double
値(-)INF
(無限大)、see hereも含めることができます。Assert xs:double with INF failed
ここにXSDファイルの関連部分を示します。正式または構造上の問題はこの質問とは関係ありません。私はassert
テストが以前のバージョン(私の知る限り)に存在しなかったので、XSD 1.1を使用しています。 to
値が十分に形成さ範囲を有するために、from
より大きい場合
<xs:element name="range">
<xs:complexType>
<xs:sequence>
<xs:element name="value" type="xs:double"/>
</xs:sequence>
<xs:attribute name="from" type="xs:double"/>
<xs:attribute name="to" type="xs:double"/>
<xs:assert test="@to > @from"/>
</xs:complexType>
</xs:element>
assert
チェックは単に、テスト。 テストは通常の浮動小数点数ではうまく動作しますが、INF
の値を使用するとテストは失敗します。
<range from="10" to="INF">
<value>0.9</value>
</range>
CVC-assertion.3.13.4.1:アサーション評価( '> @from @to') 要素タイプの '範囲' の '#anonymous' 成功しませんでした。
私はチェックがINF
を処理する方法を知らないので、範囲の境界線として、または私は別の道を行かなければならない場合は、この無限大の値を含める方法がある場合は、私の質問は、あるとします。