2015-07-21 4 views
0

Я хочу связать адаптер с любым типом, который имеет ограничение с базой 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 не определен, и я должен определить для каждого типа, который имеет хз: пока основания один за другим, не существует никакого способа сделать глобальное связывание? Благодарю.

ответ

0

Неудобно, чтобы ответить на мой собственный вопрос, но решение было довольно легко ...

<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> 
Смежные вопросы