Avatar billede diskoclaus Nybegynder
24. marts 2009 - 12:54 Der er 5 kommentarer

If Else i XSL dokument

Hejsa,

Jeg har følgende felt som jeg skal behandle i et XSL dokument:

<xsl:value-of select="address/@phone1" />

Det kan være formatteret sådan - det er et lokal nummer felt:
XXXX
XXXXX
XXXXXXXX

Hvis det er 4 cifre skal der tilføjes: 1111
Hvis det er 5 cifre skal der tilføjes 111
Hvis det er 8 cifre skal der ikke gøres noget

Der skal self. ikke sættes noget foran hvis feltet er tomt til at starte med.

Jeg er ude i følgende:

<xsl:choose>
<xsl:when test="(len(address/@phone1) = 4)">
1111<xsl:value-of select="address/@phone1" />
</xsl:when>
<xsl:otherwise>
111<xsl:value-of select="address/@phone1" />
</xsl:otherwise>
</xsl:choose>

Men hvor kommer den sidste ind (altså hvis der allerede er 8 cifre samt feltet er tomt fra starten af?

Takker
Avatar billede diskoclaus Nybegynder
24. marts 2009 - 13:07 #1
Ahh - fik lige vendt den forkert... Upps...

Resultatet er 5 cifre!

Står der 4 cifre -> tiløjes 1
Står der 8 cifre -> De første 3 skal fjernes
Avatar billede arne_v Ekspert
24. marts 2009 - 19:59 #2
svar paa det oprindelige spm. maa vaere:

<xsl:value-of select="substring(concat('11111111',address/@phone1),string-length(address/@phone1))" />

og paa det modificerede spm.:

<xsl:value-of select="substring(substring(concat('11111111',address/@phone1),string-length(address/@phone1)),3)" />
Avatar billede jokkejensen Novice
30. marts 2009 - 15:02 #3
Avatar billede arne_v Ekspert
31. marts 2009 - 04:37 #4
Kan den lave leading ones ?
Avatar billede jokkejensen Novice
16. april 2009 - 20:21 #5
nej, eller pas.

Men så kan han bare:

<xsl:variable name="Length" select="string-length(string('1111'))" />

Så kender han længden, så må det ikke være så svært.

/J
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