2009-11-10 9 views
13

La documentation de JAXB xjc dit:Comment écrire un fichier de liaison externe pour xjc?

-b Spécifiez un ou plusieurs fichiers externes de liaison à traiter. (Chaque fichier de liaison doit posséder son propre commutateur "-b".) La syntaxe des fichiers de liaison externes est extrêmement flexible. Vous pouvez avoir un fichier de liaison unique qui contient des personnalisations pour plusieurs schémas ou vous pouvez casser les personnalisations dans plusieurs fichiers Fixations:

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 

En outre, l'ordre des fichiers de schéma et les fichiers de liaison sur la ligne de commande n'a pas d'importance .

Mais où puis-je trouver une documentation de ce "fichier de liaison externe"?

+0

Avez-vous regardé ici: https://docs.oracle.com /javaee/5/tutorial/doc/bnbbf.html? Le CSS de cette page est horrible et vous ne pouvez pas distinguer les en-têtes des sous-titres. Ce tutoriel est également disponible en PDF avec une meilleure composition. Aussi s'il vous plaît voir cette page: http://archive.oreilly.com/pub/a/onjava/2003/12/10/jaxb.html?page=2 Espérons que cela aide. – diginoise

Répondre

5

Le fichier de liaison externe est documenté sur la page Customizing JAXB Bindings sur oracle.com

Quote:

externe liaison des fichiers de personnalisation

Personnalisations aux liaisons JAXB faites au moyen d'un fichier externe contenant déclarations contraignantes prennent la forme générale indiquée ci-dessous.

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

schemaLocation est une référence URI vers le noeud schéma distant est un XPath 1.0 expression qui identifie le noeud de schéma dans schemaLocation à laquelle est associée la déclaration de liaison donnée. Par exemple, la première déclaration schemaLocation/nœud dans un fichier de déclarations liant JAXB spécifie le nom du schéma et le nœud de schéma racine:

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

Une schemaLocation subséquente/déclaration de noeud, par exemple pour un élément simpleType nommé ZipCodeType dans ce qui précède schéma, prendrait la forme:

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

Voir aussi; le JAXB Compiler Options


Une autre bonne ressource pour obtenir des informations sur le fichier de liaison externe est oreilly. Un exemple fichier de liaison de oreilly est:

Quote:

Listing 11. Utilisation d'un fichier de liaison externe

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