Avatar billede tbundgaard Nybegynder
17. oktober 2001 - 12:57 Der er 9 kommentarer

<XSL:sort> på et dansk nummer-format

Hej

Jeg forsøger at lave en sortering at et dansk konveteret tal (11.345,00) læg mærke til tusind separatoren (.) og decimal separatoren (,).

Hvordan får man xsl:sort til at sortere dette.

<xsl:sort select=\"kurs\" order=\"ascending\" data-type=\"number\" />

Input-format er :  11.111,11


\\Torben
Avatar billede tbundgaard Nybegynder
17. oktober 2001 - 12:58 #1
Det virker med amerikansk format  11,111.11

\\Torben
Avatar billede js26 Nybegynder
17. oktober 2001 - 12:59 #2
godt spørgsmål!!
Avatar billede kanyle Nybegynder
17. oktober 2001 - 13:00 #3
\"lytter\" med :)
Avatar billede tbundgaard Nybegynder
17. oktober 2001 - 13:46 #4
Hej

Jeg har fundet dette, men kan ikke lige få det til at virke

<xsl:decimal-format name=\"kurs\" decimal-separator=\",\" grouping-separator=\".\">


Avatar billede janegil Nybegynder
18. oktober 2001 - 12:02 #5
Så er spørsmålet HVOR det ikke virker? Det kunne jo tenkes at du gjør det rett, men at et og annet XSL/T-verktøy ikke implementerer det rett?
Avatar billede tbundgaard Nybegynder
18. oktober 2001 - 12:18 #6
Hej

Jeg bruger \"Notepad\" til at skrive alle mine XSLTér, da jeg ikke kan lide at nogle programmer ændre min kode.

Her er hele den kode jeg bruger:
***************************************************************
<?xml version=\"1.0\" encoding=\"windows-1252\"?>
<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">

*****Bemærk*****
<xsl:decimal-format name=\"kurs\" decimal-separator=\",\" grouping-separator=\".\"/>
*****Bemærk*****

<xsl:template match=\"//KursListe\">

<xsl:if test=\'//KursListe/@errcode=\"0\"\'>
<table width=\"100%\" cellpadding=\"0\" cellspacing=\"2\" border=\"0\">
<tr>
  <th>Navn</th><th>Kurs</th><th>%</th>
</tr>

<xsl:for-each select=\"KursLinie\">

*****Bemærk*****
<xsl:sort select=\"kurs_senest_handlet\" order=\"ascending\" data-type=\"number\" />
*****Bemærk*****

<tr>
<td><a><xsl:attribute name=\"HREF\"><![CDATA[http://localhost/xmltohtml.asp?listnavn=kfx]]></xsl:attribute><xsl:value-of select=\"papirnavn\"/></a>
</td>
<td align=\"right\"><xsl:value-of select=\"kurs_senest_handlet\" /></td>
<td align=\"right\"><xsl:value-of select=\"delta\"/></td>
</tr>
</xsl:for-each>       
</table>
</xsl:if>
</xsl:template>

</xsl:stylesheet>
Avatar billede janegil Nybegynder
18. oktober 2001 - 21:39 #7
XML forstår ikke europeiske tall som tall. XML data-dokumentet skal bruke amerikansk desimaltegn, og ingen gruppeseparator. Så skal stilarket ditt \'fordanske\' tallet med format-number()-funksjonen i XSL/T.

Avatar billede hybrid Nybegynder
23. oktober 2001 - 06:47 #8
XSLT 2nd Edition af Michael Kay side 203 finder svar på det problem. Hvis du ikke har bogen nu, så skynd dig ned og køb den. Den er et must.
Avatar billede Slettet bruger
23. november 2001 - 17:49 #9
Hvis du IKKE giver dit decimal-format et navn (name=\"kurs\"), skal stylesheet\'et bruge dit format som default... har du prøvet det?

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