所以这是我的问题。我得到了一个 XSD,我生成的 XML 文件应该遵守该 XSD。我使用org.apache.cxf.cxf-xjc-plugin
maven 插件和外部绑定文件生成源代码。但是当我尝试编组我的对象时,生成的 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 可能会发生变化,我想保持生成的源代码不变。