2009-11-10 46 views
13

JAXB xjc的文件說:如何爲xjc編寫外部綁定文件?

-b 指定一個或多個外部約束力的文件要處理。 (每個綁定文件必須有自己的「-b」開關。)外部綁定文件的語法非常靈活。你可能有一個包含自定義設置多種模式的單一結合文件,也可以打破自定義分成多個綁定文件:

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 2016-03-22 09:53:15

回答

5

外部綁定文件是記錄在Customizing JAXB Bindings頁上oracle.com

引用:

外部綁定自定義文件

自定義,通過含有外部文件的手段製成JAXB綁定綁定聲明採用下面顯示的一般形式。

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

的schemaLocation是一個URI參考遠程模式 節點是XPath 1.0表達式標識內的schemaLocation架構節點到所述給定綁定聲明相關聯。 例如,在一個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>