对具有指定基本限制的任何类型进行全局绑定

Do a global binding to any type that has a specified base restriction

我希望将适配器绑定到任何对基 xs:long 有限制的类型,我该如何实现?我希望以某种方式进行全局绑定,但找不到任何可以理解的文档。

<xs:simpleType name="st_type">
<xs:restriction base="xs:long">
    <xs:minInclusive value="0" />
    <xs:maxInclusive value="9999999999" />
</xs:restriction>
</xs:simpleType>

以及下面的绑定逻辑;

<jaxb:bindings schemaLocation="simpleTypes.xsd">
<jaxb:bindings node="xs:simpleType[@base='xs:long']">
    <xjc:javaType name="java.lang.Long"
                   adapter="**.LongAdapter"/>
</jaxb:bindings>
</jaxb:bindings>

我尝试了上面的语法,但是没有定义@base,我必须为每个以xs:long为基础的类型一一定义,没有办法进行全局绑定吗?谢谢

回答我自己的问题很尴尬,但解决方案很简单...

<jaxb:globalBindings>
    <xjc:javaType name="java.lang.Long"
            xmlType="xs:long"
            adapter="**.adapters.LongAdapter" />
    <xjc:javaType name="java.lang.Integer"
            xmlType="xs:integer"
            adapter="**.adapters.IntegerAdapter" />
</jaxb:globalBindings>