根据限制NaN值的XSD验证XML输入中的NaN值

时间:2019-05-11 09:33:05

标签: c# .net xml xsd-validation xml-validation

我正在尝试针对一个XSD模式验证双重NaN值,该XSD模式应该防止这样的NaN值。但是,它在.NET中似乎有效。

我还使用其他XML验证器(例如在线工具和Altova XML Spy)对此进行了测试。这些工具不接受NaN值!

我正在使用以下XSD架构

<xs:element name="myDouble">
    <xs:simpleType>
        <xs:restriction base="xs:double">
          <xs:minExclusive value="-INF"/>
          <xs:maxExclusive value="INF"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>

当我尝试使用.NET XML库验证输入时,这似乎是有效的:

<myDouble>NaN</myDouble>

但是,我意识到在线XML验证器和Altova XML Spy之类的工具说此输入无效。

我不明白为什么会有如此不同的行为?

完整的代码可以在以下github存储库中找到: https://github.com/ozgurtuzgen/DoubleNaNValidation

0 个答案:

没有答案