2009-11-10 8 views
13

JAXBのドキュメントはxjc言う:xjcの外部バインディングファイルを書き込む方法は?

-b 処理するために、1つ以上の外部結合ファイルを指定します。 (各バインディングファイルには、独自の "-b"スイッチが必要です。)外部バインディングファイルの構文は非常に柔軟です。あなたが複数のスキーマのカスタマイズが含まれる1つのバインディングファイルを有していても、あなたが複数のバインディングファイルにカスタマイズを破ることができます。また

xjc schema1.xsd schema2.xsd schema3.xsd -b bindings123.xjb 

    xjc schema1.xsd schema2.xsd schema3.xsd 
     -b bindings1.xjb -b bindings2.xjb -b bindings3.xjb 

、コマンドライン上のスキーマファイルの順序と結合ファイルは問題ではありません。 。

しかし、この「外部バインディングファイル」のドキュメントはどこにありますか?

+0

がした外部バインディングファイルの使用:https://docs.oracle.com /javaee/5/tutorial/doc/bnbbf.html?そのページのCSSは恐ろしく、ヘッダーとサブヘッダーを区別することはできません。このチュートリアルは、より良い植字を使用してPDFとしても利用できます。また、このページを参照してください:http://archive.oreilly.com/pub/a/onjava/2003/12/10/jaxb.html?page=2 それが役立つことを望みます。 – diginoise

答えて

5

外部バインディングファイルがoracle.comにCustomizing JAXB Bindingsページに記述されて

引用:

外部バインディングカスタマイズファイル

含む外部ファイルによって作られたJAXBバインディングに

カスタマイズバインディング宣言は、以下に示す一般的な形式をとります。

<jxb:bindings schemaLocation = "xs:anyURI"> 
    <jxb:bindings node = "xs:string">* 
     <binding declaration> 
    <jxb:bindings> 
</jxb:bindings> 

のschemaLocationは ノードが所与の結合宣言が関連付けられているのschemaLocation内スキーマ・ノードを識別するXPath 1.0式でリモート・スキーマへのURI参照です。例えば は、JAXBバインディング宣言ファイルの最初のschemaLocation /ノード宣言は、スキーマ名およびルート・スキーマ・ノードを指定:

<jxb:bindings schemaLocation="po.xsd" node="/xs:schema"> 

後続のschemaLocation /ノード宣言、上記でZipCodeType名前simpleType要素のために言いますスキーマは、形を取る:

<jxb:bindings node="//xs:simpleType[@name='ZipCodeType']"> 

も参照してください。 JAXB Compiler Options


外部バインディングファイルの詳細については、もう一つの良いリソースがoreillyです。 oreillyから例バインディングファイルは次のとおりです。

引用:

リスト11.あなたがここを見て

<jxb:bindings version="1.0" 
    xmlns:jxb="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" 
    jxb:extensionBindingPrefixes="xjc"> 
    <jxb:bindings schemaLocation="po4.xsd" node="/xs:schema"> 
     <jxb:globalBindings> 
      <xjc:superClass name="com.syh.Shape"/> 
      <xjc:serializable uid="12343"/> 
     </jxb:globalBindings> 
     <jxb:bindings node="//xs:element[@name='Widgets']//xs:complexType//xs:choice"> 
      <jxb:property name="Shapes"/> 
     </jxb:bindings> 
    </jxb:bindings> 
</jxb:bindings> 
関連する問題