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>
Надеюсь, что это поможет и на стороне Калипсо:) - пожалуйста, дайте мне знать, если это сработало