Avatar billede mungojerrie Nybegynder
19. april 2005 - 11:19 Der er 1 kommentar og
1 løsning

Bestemt længde for text output

Hej

Jeg har et lille problem, som går på at jeg skal levere felter af bestemt længde, både alfanumeriske felter og numeriske.

Hvis det er numeriske felter klarer jeg problemet sådan her:

<xsl:template match="com:ID">
        <xsl:value-of select = "format-number(.,'00000000')" />
</xsl:template>

Så bliver min ID altid mindst 8 tegn lang og hvis feltet ikke har 8 tegn bliver der fyldt op fra venstre med nuller,
således "000897654"

Når det er alfanumerisk felt er jeg lidt på bar bund, da feltet skal opfyldes med blanke felter og den angivne tekst skal være venstrestillet, eks :
felt længde 10
angivet tekst: "test";
resultat : "testXXXXXX"
hvor X er whitespace.

Er der nogen der kan greje den ?
Avatar billede Slettet bruger
19. april 2005 - 13:06 #1
Try this:

<xsl:template match="com:WhatMay">
  <xsl:value-of select="substring(concat(., 'XXXXXXXXXX'), 1, 10)" />
</xsl:template>

Du erstatter selfølgelig X'erne med spaces (10 stk.) og udfylder match-attributten med det rigtige element.

Hvis feltet desuden kan finde på at have "ekstra" whitespace kan du bruge "normalize-space(.)" istedet for "."

/CS
Avatar billede mungojerrie Nybegynder
19. april 2005 - 13:38 #2
det er bare fjung,.....det duer!!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester