【问题标题】:returnlegvaluationprice Jaxb object not created correctlyreturnlegvaluationprice Jaxb 对象未正确创建
【发布时间】:2015-06-17 16:08:13
【问题描述】:

我正在为 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 对象不包含元素名称“valuationRules”的定义,其中包含一些值,我需要访问它们。

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

**<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 对象是否正确并且还有其他方法可以获取数据吗?

【问题讨论】:

    标签: fpml


    【解决方案1】:

    看起来我们在栅栏的两边都有同样的问题 ;-) 你好,来自 TRS GUI!

    尝试将其放入您的 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 方面也有帮助 :) - 如果有效,请告诉我

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多