jaxb中的内联绑定规范

时间:2012-02-02 16:57:33

标签: java xml binding jaxb xjc

这样的内联选项是什么

xjc -d。 -b bindings.xjb Derived.xsd

我的bindings.xsd将有

 <bindings scd="~tns:NameType">
      <class ref="com.bcbsmt.eie.pojo.commontypes.NameType"/>
 </bindings>

我想做的就是防止NameType到处重复。虽然要求是严格的内部绑定。

我在Derived.xsd中试过像

这样的东西
<xs:element name="Name">
                <xs:annotation>
                    <xs:appinfo>
                        <jaxb:class implClass="com.bcbsmt.eie.pojo.commontypes.NameType"></jaxb:class>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>

但这没有成功。任何想法

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解您的问题,但下面是如何使用jaxb:class架构注释指向现有类的示例。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    jaxb:version="2.1">

    <xs:element name="foo">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="bar"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="bar">
        <xs:complexType>
            <xs:annotation>
                <xs:appinfo>
                    <jaxb:class ref="example.BarImpl"></jaxb:class>
                </xs:appinfo>
            </xs:annotation>
            <xs:sequence>
                <xs:element name="name" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>

如果要重用从XML架构生成的所有类型,那么您可能会发现有用的剧集文件: