所以我的问题是这样的。我有一个XSD文件,我的生成XML文件应该符合它。使用
我的XSD包含以下内容:
org.apache.cxf.cxf-xjc-plugin
Maven插件和外部绑定文件来生成源代码。但是当我尝试marshal对象时,生成的XML不符合我的要求。我的XSD包含以下内容:
<xsd:element maxOccurs="1" minOccurs="0" name="amount">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="13" />
<xsd:fractionDigits value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
...
<xsd:element maxOccurs="1" minOccurs="0" name="rate">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:totalDigits value="8" />
<xsd:fractionDigits value="5" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
生成的XML片段如下:
<amount>109.5</amount>
...
<rate>10.25</rate>
尽管我期望它是这样的:
<amount>109.50</amount>
...
<rate>10.25000</rate>
有没有一种干净的方法来解决这个问题?
我希望不用为每个单独的totalDigits
, fractionDigits
组合编写多个适配器。而且由于XSD可能会更改,所以我想保留生成的源代码。
precisionDecimal
吗? - Jim Garrison