【发布时间】:2011-11-28 20:25:39
【问题描述】:
是否可以在解组过程中处理 JAXB XmlAdapter 中 XML IDREF 元素的前向引用?例如,我有以下 XML complexType:
<xs:complexType name="person">
<xs:complexContent>
<xs:sequence>
<xs:element name="dateOfBirth" type="xs:dateTime" minOccurs="0"/>
<xs:element name="firstName" type="xs:string" minOccurs="0"/>
<xs:element name="gender" type="xs:string" minOccurs="0"/>
<xs:element name="guardian" type="xs:IDREF" minOccurs="0"/>
<xs:element name="homePhone" type="xs:string" minOccurs="0"/>
<xs:element name="lastName" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexContent>
</xs:complexType>
guardian 字段可以引用文档中其他位置的另一个Person-type 元素。我目前在编组时使用 XmlAdapter,以便第一次编组对象时,它由包含编组,并且该对象的任何后续出现都通过引用进行编组。请参阅mine 的上一个问题。但是,由于我的 XML 实例文档的创建方式,Person 元素的第一次出现可能在 IDREF 出现之后发生。
这是可能的吗?还是我需要以不同的方式处理这个问题?谢谢!
【问题讨论】:
标签: xml jaxb xml-parsing jaxb2 forward-reference