2009-11-10 13 views
13

La documentazione di JAXB xjc dice:Come scrivere un file di bind esterno per xjc?

-b specificare uno o più file esterni vincolanti da elaborare. (Ogni file di bind deve avere il proprio interruttore "-b".) La sintassi dei file di bind esterni è estremamente flessibile. Si può avere un unico file vincolante che contiene personalizzazioni per più schemi o si può rompere le personalizzazioni in più file attacchi:

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 

Inoltre, l'ordinamento dei file di schema e file vincolanti sulla riga di comando non importa .

Ma dove trovo una documentazione di questo "file di bind esterno"?

+0

hai guardato qui: https://docs.oracle.com /javaee/5/tutorial/doc/bnbbf.html? Il CSS di quella pagina è terribile e non è possibile distinguere le intestazioni dai sottotitoli. Questo tutorial è disponibile anche in formato PDF con una migliore composizione. Vedi anche questa pagina: http://archive.oreilly.com/pub/a/onjava/2003/12/10/jaxb.html?page=2 Spero che un po 'di questo aiuti. – diginoise

risposta

5

Il file di legame esterno è documentato nella pagina Customizing JAXB Bindings su oracle.com

Citazione:

esterno Binding file di personalizzazione

personalizzazioni per attacchi JAXB fatte per mezzo di un file esterno contenente dichiarazioni vincolanti prendono la forma generale mostrata di seguito.

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

schemaLocation è un riferimento URI al nodo schema remoto è un XPath 1.0 un'espressione che identifica il nodo schema all'interno schemaLocation a cui è associata la proposta dichiarazione vincolante. Ad esempio, la dichiarazione prima schemaLocation/nodo in un file dichiarazioni vincolanti JAXB specifica il nome dello schema e il nodo schema radice:

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

Una successiva dichiarazione schemaLocation/nodo, ad esempio per un elemento simpleType denominato ZipCodeType nella suddetta schema, potrebbe assumere la forma:

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

Vedi anche; il JAXB Compiler Options


Un'altra buona risorsa per informazioni sul file di legame esterno è oreilly. Un file di collegamento ad esempio da oreilly è:

Citazione:

nell'elenco 11. L'utilizzo di un file di collegamento esterno

<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> 
Problemi correlati