returnlegvaluationprice Jaxb-объект создан неправильно

Я генерирую объекты JAXB с помощью команды xjc для xsd FPML 5.0, но созданный объект java для returnLegValuationPrice создан неправильно.

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 является правильным, и есть какой-то другой способ получить данные?

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>

Надеюсь, что это поможет и на стороне Калипсо:) - пожалуйста, дайте мне знать, если это сработало

Другие вопросы по тегам