l'ajout d'une annotation à une JAXB de liaison de classe à partir d'un schéma
Hi stackoverflow monde,
Je tiens à préciser, dans un XSD qu'un élément peut être utilisé comme un XmlRootElement par JAXB.
Je sais comment ajouter l'annotation de la classe générée: ce que je veux faire est de spécifier qu'un élément peut être généré comme un élément racine avant la génération de code.
J'utilise externe JAXB personnalisations (.xjb fichiers).
Le but est ici de ne pas modifier les schémas (comme ils le sont la définition de normes).
Quelqu'un sait comment faire?
Merci!
NJ
Si vous souhaitez modifier le schéma ou pas (une certaine incohérence dans votre question)?
non, je veux ajouter une personnalisation supplémentaire dans le .xjb fichier.
peut-être un début de réponse codereview.stackexchange.com/questions/1877/...
Il en est de même de la solution concernant Comment ajouter des annotations JAXB au moment de l'exécution.
J'ai peut-être tort, mais autant que je sache, un XML de l'élément racine doit être défini comme un XSD élément global, sinon le XML résultant ne doit pas être considérée comme valide (si l'on compare avec le XSD correspondant).
non, je veux ajouter une personnalisation supplémentaire dans le .xjb fichier.
peut-être un début de réponse codereview.stackexchange.com/questions/1877/...
Il en est de même de la solution concernant Comment ajouter des annotations JAXB au moment de l'exécution.
J'ai peut-être tort, mais autant que je sache, un XML de l'élément racine doit être défini comme un XSD élément global, sinon le XML résultant ne doit pas être considérée comme valide (si l'on compare avec le XSD correspondant).
OriginalL'auteur njames | 2012-01-02
Vous devez vous connecter pour publier un commentaire.
Le problème est résolu.
La JAXB plugin Annoter http://confluence.highsource.org/display/J2B/Annotate+Plugin faire le travail.
Ajouter le fragment suivant dans votre jaxb liaison fichier externe (liaison, c'est à dire une .xjb fichier):
Ne pas oublier de déclarer les espaces de noms:
Et l'utilisation d'un ANT ou MAVEN tâche http://confluence.highsource.org/display/J2B/User+Guide de procéder à la génération des sources.
J'ai toujours chercher à spécifier manuellement (sans xjc tâche ant ou maven) le JAXB extensions, mais il fonctionne maintenant. (J'ai mon propre script ANT ce est pourquoi je recherche manuellement appel XJC).
La JAXB mécanisme d'extension est très pratique, jetez un oeil à JAXB2 de base:
http://confluence.highsource.org/display/J2B/Home
est-ce toujours d'actualité ? les liens ne fonctionnent pas 🙁
En effet confluence.highsource.org/... ne semble pas disponible, mais avez-vous de la recherche sur le Web? Par exemple avec google...? ==> github.com/highsource/jaxb2-annotate-plugin
OriginalL'auteur njames