JAXB具有多个XSD

时间:2013-06-05 15:41:11

标签: xml jaxb xsd

我正在尝试使用tha jaxb来编组xml 我使用xjc命令从xsd文件生成java类:order.xsd

<?xml version="1.0"?>
<!-- version 2.10 -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation="c.xsd"/>
<xsd:element name="csa" type="param"/>
<xsd:complexType name="param">
    <xsd:all>
        <xsd:element name="User" type="alpha50" minOccurs="0"/>
        <xsd:element name="Infos" type="infosType"/>
        <xsd:element name="Params_Leg" type="params_LegType"/>
        <xsd:element name="Commande" type="commandeType"/>
    </xsd:all>
    <xsd:attribute name="version" type="xsd:decimal"/>
</xsd:complexType>
<!-- Atos / Command Parameters tree type -->
<xsd:complexType name="commandeType">
    <xsd:all>
        <xsd:element name="Mode" type="modeType"/>
        <xsd:element name="Etat" type="etatType"/>
                       <xsd:element name"IP" type="urlType">
    </xsd:all>
</xsd:complexType>
</xsd:schema>

我得到了许多带注释的类,但是没有一个是@XmlRootElement(name =“Order”)而且没有名为Order的classe

1 个答案:

答案 0 :(得分:0)

将为每个复杂类型和具有匿名复杂类型的全局元素生成一个类。在您的XML架构中,它看起来好像是根元素csacsa元素具有名为param的命名复杂类型,因此您需要创建Param的实例。生成的ObjectFactory类将有一个方便的方法将它包装在csa元素中。

了解更多信息