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

Valider XML Discussion :

[XSD] xs:date = XMLGregorianCalendar = affichage du time non désiré


Sujet :

Valider XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [XSD] xs:date = XMLGregorianCalendar = affichage du time non désiré
    Bonjour,
    Je ne trouve pas de solution à mon problème alors je viens vous poser la question suivante.
    J'ai dans un xsd un champ au format xs:date
    Jaxb me le parse en XmlGregorianCalendar.
    Cela fonctionne bien mais j'obtiens les resultats suivants :
    <ns2:dateEffetSouhaitee>2007-06-01+00:01</ns2:dateEffetSouhaitee>
    <ns2:dateEffetSouhaitee>2007-06-01+00:02</ns2:dateEffetSouhaitee>
    <ns2:dateEffetSouhaitee>2007-06-01Z</ns2:dateEffetSouhaitee>
    Moi, il me faudrait ceci :
    <ns2:dateEffetSouhaitee>2007-06-01</ns2:dateEffetSouhaitee>
    J'ai tenté ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
                m.setAdapter(new XmlAdapter<String, XMLGregorianCalendar>() {
     
                    @Override
                    public String marshal(XMLGregorianCalendar date) throws Exception {
                        return date.getYear() + "-" + date.getMonth() + "-"
                                + date.getDay();
                    }
     
                    @Override
                    public XMLGregorianCalendar unmarshal(String arg0) throws Exception {
                        return null;
                    }
                });
    mais le resultat est le même.

    Petite precision, voici deux implementation testées pour ce champ et donnant un resultat identique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl;
    (...)
     
            DatatypeFactoryImpl dffi = new DatatypeFactoryImpl();
            ic.setDateEffetSouhaitee(dffi.newXMLGregorianCalendarDate(2007, 05, 01, 24));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl;
    (...)
     
    ic.setDateEffetSouhaitee(XMLGregorianCalendarImpl.createDate(2007,
                                                                         6,
                                                                         1,
                                                                         1));
    Qu'ais-je mal fait dans mon traitement?
    Merci.
    Heureux soit l'étudiant qui, comme la rivière, peut suivre son cours sans sortir de son lit...

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    voici une solution d'implementation qui fonctionne tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DatatypeFactoryImpl dffi = new XMLGregorianCalendar xgc = dffi.newXMLGregorianCalendar();
    xgc.setDay(01);
    xgc.setMonth(5);
    xgc.setYear(2007);
    ic.setDateEffetSouhaitee(xgc);
    (désolé pour le double post j'ai dû faire une c*** mais je ne sais pas la reparer...)
    Heureux soit l'étudiant qui, comme la rivière, peut suivre son cours sans sortir de son lit...

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

Discussions similaires

  1. [XSD] : Element 'date' vide
    Par cvacavant dans le forum Valider
    Réponses: 4
    Dernier message: 16/06/2009, 18h21
  2. Problème d'affichage des caratères non UTF-8
    Par tit_pierre dans le forum Langage
    Réponses: 1
    Dernier message: 07/09/2006, 23h11
  3. [javabean composant] Affichage run-time
    Par Pierre Maurette dans le forum Langage
    Réponses: 2
    Dernier message: 03/07/2006, 14h32
  4. Algo d'affichage de vignettes non fiable
    Par Invité dans le forum Applets
    Réponses: 4
    Dernier message: 27/01/2006, 23h25
  5. [DB2] Affichage type TIME
    Par christie dans le forum DB2
    Réponses: 2
    Dernier message: 10/06/2004, 11h35

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