Castor在xsd中为整数类型生成BigDecimal类型

时间:2014-09-12 14:42:39

标签: java xml xsd castor

我使用xsd架构,如:

<xsd:element name="TrxIdRs" type="TrxIdRs_Type"/>
<xsd:complexType name="TrxIdRs_Type">
    <xsd:simpleContent>
        <xsd:extension base="xsd:int">
            <xsd:attribute ref="trxStatusCode" use="required"/>
            <xsd:attribute ref="trxStatusDescr" use="required"/>
        </xsd:extension>
    </xsd:simpleContent>
</xsd:complexType>
<xsd:attribute name="trxStatusCode" type="xsd:int"/>
<xsd:attribute name="trxStatusDescr" type="xsd:string"/>

意思是XML:

<TrxIdRs trxStatusCode="1" trxStatusDescr="descr">
    111000111
</TrxIdRs>

但Castor只为此架构生成BigDecimal类型:

public abstract class TrxIdRs_Type implements java.io.Serializable {
  //--------------------------/
 //- Class/Member Variables -/
//--------------------------/
/**
 * internal content storage
 */
private java.math.BigDecimal _content;
/**
 * Field _trxStatusCode.
 */
private java.lang.Integer _trxStatusCode;

是否有其他变体可以编写xsd或将castor配置为在生成的bean中具有原始类型?

1 个答案:

答案 0 :(得分:1)

来自http://castor.codehaus.org/1.2/srcgen-example.html

  

架构十进制类型映射到java.math.BigDecimal。

你应该使用外部绑定..在这个link有一个配置教程(第7页)。