IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Marshaller un champ vide pour validation XSD [JAXB]


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2004
    Messages : 138
    Par défaut Marshaller un champ vide pour validation XSD
    Bonjour,
    J'utilise JAXB pour convertir un xml en bean et crée un nouvel xml avec (ce qui fait bien unmarshall et marshall).

    Ce dernier passe une validation XSD, c'est celui-ci qui va nous intéresser.

    Pour faire simple, j'ai un champs qui n'est pas renseigné genre le champs "prénom" d'un bean "personne" mais qui est en minoccurs=1 dans la xsd ce qui fait qu'à la génération xml la balise "prenom" n'existera pas et ma validation ne passera pas.

    Néanmoins en mettant la balise de la manière suivante
    <prenom/>
    La validation passe et tout le monde est content.

    J'aimerai savoir comment est-il possible de mettre cette balise lors du marshalling ? dois-je faire quelque chose de spécial avec mon bean ou c'est une configuration du marshaller Jaxb ?

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2004
    Messages : 138
    Par défaut
    Alors pour information,
    la balise <prenom/> est égal à <prenom></prenom>
    Ce qui correspond pas à Null mais à "" (chaine de carctère null).

    Je dois donc remplir mon champs avec la valeur setPrenom("")

    C'étais très simple en faite !

    J'espère que ca aiderai quelqu'un d'autre.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2003
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 139
    Par défaut
    Bonjour,

    je relance le sujet car j'ai un problème similaire.

    J'ai également initialisé mes champs String à "" pour qu'ils apparaissent dans mon XML, mais comment fait-on pour des champs de type Date ou BigDecimal ?

    Merci.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par crocodingo Voir le message
    J'ai également initialisé mes champs String à "" pour qu'ils apparaissent dans mon XML, mais comment fait-on pour des champs de type Date ou BigDecimal ?
    Bah, pourquoi pas la même chose qu'avec String : des valeurs bidons ?
    Zéro pour BigDecimal, et, disons, 1er janvier 1970 à minuit pour les Date.

    De toute façon, si le XSD dit que ces valeurs doivent exister, alors il dit qu'elles doivent exister. C'est pas compliqué. Soit ça te convient et tout va bien. Soit ça te convient pas et tu arrêtes d'utiliser ce XSD qui te fait chier. Soit ça te convient pas et tu lui mens.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Scrolling vers un champ vide apres validation
    Par jocelyn77 dans le forum jQuery
    Réponses: 21
    Dernier message: 27/01/2015, 14h24
  2. [XL-2003] Remplir champs vide pour exporter en csv.
    Par stevenP dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/03/2012, 11h10
  3. Réponses: 12
    Dernier message: 18/07/2006, 17h36
  4. Réponses: 4
    Dernier message: 12/09/2005, 09h21
  5. [Débutante]Fonction pour écrire un champ vide
    Par Bewitch dans le forum ASP
    Réponses: 14
    Dernier message: 30/08/2005, 11h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo