我的xsd中有一个带有ref =“ infogroup”的字段。我想知道如何编写等效的映射文件,以便Castor可以解析传入的xml数据。
下面是我的示例xsd文件
<?xml version = "1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:group name="infogroup">
<xs:sequence>
<xs:element name="firstname" type="xs:string" />
<xs:element name="lastname" type="xs:string" />
</xs:sequence>
</xs:group>
<xs:element name="student" type="studentType" />
<xs:complexType name="studentType">
<xs:sequence>
<xs:group ref="infogroup" />
<xs:element name="marks" type="xs:integer" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Mapping.xml文件
<?xml version="1.0"?>
<mapping>
<class name="com.abc.sample.Student">
<field name="infogroup" type="com.abc.sample.Infogroup">
<bind-xml name="infogroup" node="element" reference="true" />
</field>
<field name="marks" type="long">
<bind-xml name="marks" node="element" />
</field>
</class>
<class name="com.abc.sample.Infogroup">
<field name="firstname" type="string">
<bind-xml name="firstname" node="element" />
</field>
<field name="lastname" type="string">
<bind-xml name="lastname" node="element" />
</field>
</class>
</mapping>
下面是我的示例数据
<?xml version = "1.0"?>
<student>
<firstname>AAA</firstname>
<lastname>BB</lastname>
<marks>85</marks>
</student>
即使我给定了属性reference =“ true”,它也不会解析信息组字段。预先感谢。