returnlegvaluationprice Jaxb对象未正确创建

时间:2015-06-17 16:08:14

标签: fpml

我正在使用FPML 5.0 xsd的xjc命令生成JAXB对象,但是没有正确创建returnLegValuationPrice生成的java对象。

returnLegValuationPrice在fpml-eq-​​shared-5-0.xsd中定义,具有以下定义:

**<xsd:complexType name="ReturnLegValuationPrice">
    <xsd:complexContent>
      <xsd:extension base="Price">
        <xsd:sequence>
          <xsd:element name="valuationRules" type="EquityValuation" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Specifies valuation.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>**

生成的java对象不包含元素名称“valuRules”的定义,其中包含一些值,我需要访问它们。

我手动修改了returnLegValuationPrice的定义,如下所示,生成的java对象具有valuRules的定义。

**<xsd:complexType name="ReturnLegValuationPrice">
    <xsd:complexContent>
      <xsd:extension base="DirectionalLegUnderlyer">
        <xsd:sequence>
          <xsd:element name="valuationRules" type="EquityValuation" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">Specifies valuation.</xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>**

有人可以帮助解决这种奇怪行为的可能原因,或者生成的java对象是否正确以及是否有其他方法来获取数据?

1 个答案:

答案 0 :(得分:0)

看起来我们在围栏的两边都有同样的问题;-)来自TRS GUI的Hello!

尝试将它放在bindings.jxb文件中,xjc:simple就是答案......

<jxb:globalBindings >
    <xjc:simple/>
</jxb:globalBindings>

您将需要手动解决一些名称冲突,因此也要添加它并自定义参数名称:

<jxb:bindings schemaLocation="../xsd/fpml-com-5-0.xsd">
        <jxb:bindings node="//xsd:complexType[@name='CommodityMarketDisruption']//xsd:element[@name='marketDisruptionEvents']">
            <jxb:property name="mde"/>
        </jxb:bindings>
        <jxb:bindings node="//xsd:complexType[@name='CommodityMarketDisruption']//xsd:element[@name='disruptionFallbacks']">
            <jxb:property name="df"/>
        </jxb:bindings>
</jxb:bindings>

希望在Calypso方面也有帮助:) - 请告诉我是否有效