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 :

[XSL-FO] formatage de nombre


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 29
    Points
    29
    Par défaut [XSL-FO] formatage de nombre
    salut a vous grands xmliens
    j'ai dans mon xml des balises contenant des tailles memoires comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <memoryUsed1> 546 <memoryUsed1>
    <memoryUsed2> 575546 <memoryUsed2>
    <memoryUsed3> 787987546 <memoryUsed3>
    que je voudrais afficher dans mon pdf comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    memory 1 : 546 B.
    memory 2 : 575.54 Kb.
    memory 3 : 787.98 Mb.
    j'ai cherche dans les tutoriaux mais je n'ai pas trouve comment faire.
    un indice?

    merci pour votre aide

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    Faut chercher du coté de XSLT et non XSL-FO!

    Je sais pas tu peux faire un choose:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    <xsl:choose>
    <xsl:when test="MemoryUsed1.Length=3"><xsl:value-of select="MemoryUsed1"/><xsl:text> </xsl:text>B.</xsl:when>
    <xsl:when test="MemoryUsed1.Length=6"><xsl:value-of select="MemoryUsed1"/><xsl:text> </xsl:text>Kb.</xsl:when>
    <xsl:when test="MemoryUsed1.Length=9"><xsl:value-of select="MemoryUsed1"/><xsl:text> </xsl:text>Mb.</xsl:when>
    </xsl:choose>
    
    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  3. #3
    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,

    Euh, c'est pas vraiment du XSLT standard que tu nous as écris, là, Virgul ...

    On pourrait imaginer une fonction de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <xsl:template name="format-bytes">
      <xsl:param name="param-memoire"/>
      <xsl:variable name="memoire" select="normalize-space($param-memoire)"/>
      <xsl:choose>
        <xsl:when test="string-length($memoire) &gt; 6">
          <xsl:value-of select="concat(substring($memoire, 1, 3), '.', substring($memoire, 4, 2), ' Mb')"/>
        </xsl:when>
        <xsl:when test="string-length($memoire) &gt; 3">
          <xsl:value-of select="concat(substring($memoire, 1, 3), '.', substring($memoire, 4, 2), ' Kb')"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="concat($memoire, ' B')"/> 
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>
    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 expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Citation Envoyé par GrandFather
    Bonjour,

    Euh, c'est pas vraiment du XSLT standard que tu nous as écris, là, Virgul ...
    Effectivement mais à force d'utiliser MSXML j'ai pris l'habitude...

    C'est vrai que t'as solution est quand même un poil plus élégante

    En plus j'avais pas fait de normalize-space()

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

Discussions similaires

  1. [PHP-JS] Formatage de nombre
    Par goldorax113 dans le forum Langage
    Réponses: 5
    Dernier message: 08/05/2006, 11h50
  2. formatage de nombre
    Par Phiz dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 29/03/2006, 18h17
  3. Formatage de nombres dans une page JSP
    Par Addouna dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/03/2006, 13h01
  4. Réponses: 1
    Dernier message: 08/11/2005, 14h40
  5. Formatage des nombres à l'affichage
    Par nbutin dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 13/07/2004, 10h54

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