Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Bodom
    Registrato dal
    Oct 2001
    Messaggi
    38

    [XSLT] formattare una stringa

    Ciao a tutti,
    ho provato a cercare un po' in giro ma non ho trovato nessuna informazione utile...
    vi spiego subito velocemente il mio problema..
    per formattare un numero in modo da visualizzarlo SEMPRE di 10 cifre (eventualmente aggiungendo n zeri davanti al numero) ho utilizzato la famosa funzione format-number così come riportato di seguito:

    File XML
    codice:
    <pagamenti>
      <pagamento>
        <numero>123</numero>
      </pagamento>
    </pagamenti>
    File XSLT
    codice:
    <xsl:for-each select="/pagamenti/pagamento">
          <xsl:value-of select='format-number(numero, "0000000000")' />
    </xsl:for-each>
    risultato: 0000000123


    ora.. dovrei fare una cosa simile su una stringa (non un numero). Ovvero dovrei visualizzarla sempre di 20 caratteri, eventualmente aggiungendo n spazi alla fine.
    Come posso fare?



  2. #2
    Utente di HTML.it L'avatar di Bodom
    Registrato dal
    Oct 2001
    Messaggi
    38
    nessuno?

  3. #3
    Utente di HTML.it L'avatar di Bodom
    Registrato dal
    Oct 2001
    Messaggi
    38
    stavo provando con questo...ma non sembra funzionare a dovere.. (e poi non mi sembra una soluzione molto elegante)
    codice:
        <xsl:if test="string-length(note)&gt; 20">
          <xsl:value-of select="substring(note,0,20)"/>
        </xsl:if>
        <xsl:if test="string-length(note)&lt; 20">
          <xsl:value-of select="note"/>
          <xsl:value-of select="substring([b]spacer,0,20-string-length(note))"/>
        </xsl:if>
        <xsl:if test="string-length(note)=20">
          <xsl:value-of select="note"/>
        </xsl:if>
    dove note è la stringa in questione.. e spacer è un nodo nel file xml con dentro una ventina di spazi... (un po' brutta come soluzione...no???)

    qualcuno sa aiutarmi?

  4. #4
    Utente di HTML.it L'avatar di Bodom
    Registrato dal
    Oct 2001
    Messaggi
    38
    Originariamente inviato da Bodom
    stavo provando con questo...ma non sembra funzionare a dovere.. (e poi non mi sembra una soluzione molto elegante)
    codice:
        <xsl:if test="string-length(note)&gt; 20">
          <xsl:value-of select="substring(note,0,20)"/>
        </xsl:if>
        <xsl:if test="string-length(note)&lt; 20">
          <xsl:value-of select="note"/>
          <xsl:value-of select="substring([b]spacer,0,20-string-length(note))"/>
        </xsl:if>
        <xsl:if test="string-length(note)=20">
          <xsl:value-of select="note"/>
        </xsl:if>
    dove note è la stringa in questione.. e spacer è un nodo nel file xml con dentro una ventina di spazi... (un po' brutta come soluzione...no???)

    qualcuno sa aiutarmi?
    inoltre gli operatori "maggiore" e "minore" li ho dovuti scrivere sotto forma di &gt; e &lt; ma non sono molto sicuro che così funzionino...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.