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