java - Jaxb 默认为无穷大
问题描述
我正在尝试使用 Jaxb 制作 XML Schema 来表示数字选择器/微调器的参数:最小值、最大值和步长。我希望最大默认为无穷大,最小为负无穷大,步长默认为 Double.MIN_VALUE。
无穷大和负无穷大都是有效的 xml 和 double 值,因此它们似乎应该是一种将其默认为它们的方法。如果他们是 Double.MIN_VALUE 的快捷方式,而不仅仅是复制该数字,则可以获得奖励积分。
目前我有:
<xsd:element name="NumericParameter">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="batsignal:DetectorParameter" >
<xsd:sequence>
<xsd:element name="min" type="xsd:double" default="-INF"/>
<xsd:element name="max" type="xsd:double" default="+INF" />
<xsd:element name="step" type="xsd:double" default="0x0.0000000000001P-1022" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
我得到:
org.xml.sax.SAXParseException; lineNumber: 173; columnNumber: 72; e-props-correct.2: Invalid value constraint value '+INF' in element 'max'.
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
at java.xml/com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4214)
...
谢谢!
解决方案
推荐阅读
- php - 主页上的实时帖子显示(一旦发布)
- kubernetes - 是否可以将 Kubernetes 清单添加为 HelmRelease 的依赖项?
- ios - 应用程序在模拟器上运行,但不在设备上
- php - 如何在 PHP 中禁用 LDAP 帐户并保持对邮件交换的访问?
- python - 无法恢复当前使用来自 TensorFlow Addons 模块的 HammingLoss 指标的 _tf_keras_metric 类型的自定义对象
- python - 尽管已安装,但“找不到 Python”
- javascript - JavaScript:石头剪刀布。函数错误
- google-cloud-platform - 升级谷歌云平台升级后需要付费吗
- discord.js - 我的 discord.js 有一个错误,我不知道如何修复它
- webpack - 将数据从 Webpack 配置传递到 SASS