Я пытаюсь проверить двойное значение 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>
Кажется действительным, когда я пытаюсь проверить ввод с помощью библиотек XML .NET:
<myDouble>NaN</myDouble>
Однако я понял, что онлайновые валидаторы и инструменты XML, такие как Altova XML Spy, говорят, что этот ввод недействителен.
Я не мог понять, почему существует такое другое поведение?
Весь код можно найти в следующем репозитории github: https://github.com/ozgurtuzgen/DoubleNaNValidation