AXB: XML cannot pass the XSD validation

fool 2010-06-28 11:11:31
XSD:
<xs:element name="Premium" type="xs:decimal" default="0.00"/>
JavaCode:
@XmlElement(name = "Premium", required = true, defaultValue = "0.00")
protected BigDecimal premium;

问题:JAXB转出的JavaCode中Object类型的,仍然没有默认值。然后,marshal成XML中,没有Premium的标签。觉得JAXB对defaultValue的处理不符合预期。

但XSD中对象的关系定的是Sequence,所以没有此标签,就无法通过XSD的验证。

如果增加nillable属性,会生成空标签。验证时仍然失败(应该是无法转为BigDecimal类型)。

求教:如何保证对象在Java中不被赋值,也会生成XML标签?或者说我理解错了default的意思?

请各位高人帮忙看下,万分感谢!
...全文
35 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧