web-dev-qa-db-fra.com

JAXB, XJC -> Créer plusieurs fichiers de classe

J'utilise Jaxb et XJC pour la première fois.

Je voudrais générer Java classes de fichier XML pour que j'utilise cet assistant en ligne Pour générer un schéma à partir de fichier XML.

Après cela, j'utilise simplement cette ligne de commande pour générer Java classes:

xjc myschema.xsd

c'est un travail mais je ne reçois qu'un seul Java fichier et de nombreuses classes statiques à l'intérieur. Est-ce que cela pourrait générer de nombreux Java fichiers contenant une seule classe par fichier s'il vous plaît ?

Merci

24
Olivier J.

Par défaut (( Jaxb (JSR-222) créera des classes internes statiques pour des types complexes imbriqués pour empêcher les conflits de nom de classe. Vous pouvez utiliser un fichier de liaison externe pour désactiver ce comportement.

Binding.xml

Un fichier de liaison vous permet de personnaliser comment Java classes sont générés à partir d'un schéma XML.

<jaxb:bindings
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:jaxb="http://Java.Sun.com/xml/ns/jaxb"
    version="2.1">
    <jaxb:globalBindings localScoping="toplevel"/>
</jaxb:bindings>

Appel XJC

Les -b L'option est utilisée avec la commande XJC pour spécifier un fichier de liaison.

xjc -b binding.xml myschema.xsd

Pour plus d'informations

46
bdoughan