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

XSL/XSLT/XPATH XML Discussion :

[XSLT] formater la date


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut [XSLT] formater la date
    Bonjour,

    Mon problème est que je recoit une date au format XML: 2005-02-16

    et je doit la transformer en: 16.02.2005. Y a t'il un moyen de faire ca avec un xslt?

    Je fais ca dans le cadre d'une transformation d'un xml en wordml et avec les balises wordml moi j'en ai trouvé aucune qui fasse ca(j'ai trouvé celle qui renvoit la date courrante mais je peux pas y mettre une fonction xsl:value-of a la place). y en a t'il une qui permette de faire ca avec wordml?

    Dans tout les cas merci de vos réponses ou idées!!!

    ++

    Thierry

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 13
    Par défaut
    Ben moi j'ai un DateTime et j'aimerai aussi avoir uniquement l'heure et pas la date, et prendre en compte le décallage horaire.

  3. #3
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    la seule façon possible en XSLT est de traiter la date comme une chaîne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:variable name="date" select="'2005-02-17'"/>
    <xsl:value-of select="concat(substring($date, 9, 2), '.', substring($date, 6, 2), '.', substring($date,1,4))"/>
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  4. #4
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Merci c'est génial j'avais pas pensé à utiliser substring!!!

    Et maintenant si je veux 12. janvier 2005 pour obtenir le janvier je fait un choose qui a chaque mois(nb) me renvois le nom(janvier, février,..).

    Mais y a t'il une alternative?

    Merci pour ta réponse si rapide

    Ah j'oubliais encore un autre petit truc pas facile comment faire pour afficher 2'300 et pas 2300? Une idée

    ++

    Thierry

  5. #5
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Citation Envoyé par virgul
    Merci c'est génial j'avais pas pensé à utiliser substring!!!

    Et maintenant si je veux 12. janvier 2005 pour obtenir le janvier je fait un choose qui a chaque mois(nb) me renvois le nom(janvier, février,..).

    Mais y a t'il une alternative?

    Merci pour ta réponse si rapide
    Non, à moins d'employer des extensions.

    Citation Envoyé par virgul
    Ah j'oubliais encore un autre petit truc pas facile comment faire pour afficher 2'300 et pas 2300? Une idée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:number value="'2300'" grouping-separator="'" format="1" grouping-size="3"/>
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Merci beaucoup!!!

    Mais y a quand même un problème c'est que le nombre que je veux afficher est contenu dans mon xml de base alors comment je fais pour lui dire que je veux qu'il me le cast?

    Si on fais ca il dit unexpected child:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:number grouping-separator="'" format="1" grouping-size="3"><xsl:attribute name="value"><xsl:value-of select="my:EinbezKapital"/></xsl:attribute>
    		</xsl:number>
    Pourquoi je ne comprend pas?

    Merci de ta réponse

    ++

    Thierry

  7. #7
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    xsl:number n'accepte pas d'éléments fils, il faut que la valeur à formater soit dans l'attribut value. Cela peut être une expression XPath :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:number value="my:EinbezKapital" grouping-separator="'" format="1" grouping-size="3"/>
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  8. #8
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Merci beaucoup pour ton aide j'avais pas pensez a ca !!!


    Ca marche je suis trop content

  9. #9
    Membre Expert
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Par défaut
    Merci d'avoir résolu mon problème et il est temps de refermer ce post à jamais.

    ++

    Thierry

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

Discussions similaires

  1. Format de date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/06/2004, 17h32
  2. Détecter le format de date au démarrage
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2004, 11h04
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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