2016-09-13 5 views

答えて

1

次使用する必要があります。 .episodeファイルはただjaxbのbindingsファイルであり、要素とJavaクラスの間のマッピングを持っています。

a)これらの既存のクラスも(別の)xsdから生成されている場合。以下のオプションを使用して最初に.episodeファイルを作成します。

xjc -episode a.episode a.xsd 

次いで次xjc世代への入力としてマッピングを含む、このa.episodeを使用します。

xjc b.xsd -extension -b a.episode 

B)あなたには、いくつかのランダムなクラスを参照したい場合は、以下のようにelementclass reference間のマッピングを提供する独自のエピソードのファイルを記述する必要があります。

sample.episode

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" if-exists="true" version="2.1"> 
<jaxb:bindings scd="x-schema::"> 
    <jaxb:bindings scd="employee"> 
     <jaxb:class ref="www1.example.Employee"/> 
     <jaxb:package name="www1.example" /> 
    </jaxb:bindings> 
    </jaxb:bindings> 

xjc b.xsd -extension -b sample.episode

+0

を使用ありがとうございました。これは2+バージョン用ですが、Jaxb2バージョン1.6で可能かどうか知っていますか? – edutesoy

+0

ようこそ!はい、JDK 1.6(最新のアップデート)を使用することは可能です。この[matrix](https://jaxb.java.net/guide/Which_JAXB_RI_is_included_in_which_JDK_.html)を参照してください。 – ulab

1

あなたは、既存のクラスを参照するようにepisodeファイルを使用することができますバインディングカスタマイズ

<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" 
    xmlns:annox="http://annox.dev.java.net" xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix"> 
    <bindings schemaLocation="../schema/yourSchema.xsd"> 

     <bindings node="//xs:complexType[@name='Foo']"> 
      <class ref="com.FooImpl"/> 
     </bindings> 

    </bindings> 
</bindings> 
関連する問題