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] recupération date peu classique


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Avatar de Konrad Florczak
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 242
    Points : 336
    Points
    336
    Par défaut [XSLT] recupération date peu classique
    Bonjour,

    Je susi devant un output RAW de LDAP et j'ai une balise date un peu chiante. En effet j'ai du :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <whenCreated>1/13/2009 8:48:18 AM</whenCreated>
    donc les concat(substring(whencreated, 1,2)... ne peuvent marcher pour les jours qui peuvent etre décallés.

    Comment je pourrais lui dire :

    Si tu rencontres deux caractères avant le premier '/' alors
    concat(substring(whencreated, 1,2)...

    sinon
    concat(substring(whencreated, 1,1)...

    Je ne suis pas très à l'aise encore avec le language et vous connaissez peut être le problème.

    Merci en tout cas pour votre aide
    Avant de poster consultez la recherche avancée du forum
    N'oubliez pas le bouton

    Formation LaTeX et Outils Pratiques

    C'est ce que nous pensons déjà connaître qui nous empêche souvent d'apprendre.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

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

    pour ce genre de traitement, il faut utiliser les fonctions XPath substring-before() et substring-after().
    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

  3. #3
    Membre averti
    Avatar de Konrad Florczak
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 242
    Points : 336
    Points
    336
    Par défaut
    je connais la syntaxe de substring before et after, mais comment lui faire differencier le premier '/' du dieuxieme '/' dans ?
    Avant de poster consultez la recherche avancée du forum
    N'oubliez pas le bouton

    Formation LaTeX et Outils Pratiques

    C'est ce que nous pensons déjà connaître qui nous empêche souvent d'apprendre.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    Je n'ai pas compris exactement ce que tu veux faire, mais si par exemple tu veux unifier le mois sur deux digits, tu peux écrire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    	<xsl:template match="whenCreated">
    		<xsl:choose>
    			<xsl:when test="substring(text(), 2, 1) = '/'"><xsl:value-of select="concat('0', text(), 1, 2)"/></xsl:when>
    			<xsl:otherwise><xsl:value-of select="text()"/></xsl:otherwise>
    		</xsl:choose>
    	</xsl:template>
    </xsl:stylesheet>

  5. #5
    Membre averti
    Avatar de Konrad Florczak
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 242
    Points : 336
    Points
    336
    Par défaut
    Ce que je veux faire :

    Input : 1/12/2009

    output 20091201

    Input : 12/4/2008

    output : 20080412
    Avant de poster consultez la recherche avancée du forum
    N'oubliez pas le bouton

    Formation LaTeX et Outils Pratiques

    C'est ce que nous pensons déjà connaître qui nous empêche souvent d'apprendre.

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par Konrad Florczak Voir le message
    je connais la syntaxe de substring before et after, mais comment lui faire differencier le premier '/' du dieuxieme '/' dans ?
    En plusieurs phases :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xsl:variable name="jour" select="substring-before(., '/')"/>
    <xsl:variable name="mois" select="substring-before(substring-after(., concat($jour, '/')), '/')" />
    <xsl:variable name="annee" select="substring-before(substring-after(., concat($jour, '/', $mois, '/')), ' ')" />
    <xsl:value-of select="$annee"/>
    <xsl:number value="$mois" format="01"/>
    <xsl:number value="$jour" format="01"/>
    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

Discussions similaires

  1. [Batch] Recupérer une date peu importe l'OS
    Par bstevy dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 20/03/2015, 01h53
  2. XSLT Transformation Date Tricky !
    Par Konrad Florczak dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 01/06/2009, 18h34
  3. [XSLT]Recupérer une variable dans une adresse
    Par Freygolow dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 07/11/2008, 23h11
  4. [XSLT]Tableau un peu particulier
    Par JohnBlatt dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/06/2006, 18h14
  5. [MFC] recupération date modif fichier
    Par Gothico dans le forum MFC
    Réponses: 7
    Dernier message: 21/01/2005, 18h47

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