Loop <xsl:for-each> problem
Jeg er nybegynder i XML og XSL (er dog bekendt med HTML og 'normal' programmering), oghar efter et par dages forsøg (og søgning på nettet) givet [midlertidigt] op:
Hvordan looper jeg igennem andet end nodes?
EksempelXML:
<rod>
<x>163523598664724205</x> 'alle <x> er altid lige lange (her: 18)
<x>435036575320687842</x>
<x>764530407894798624</x>
osv
</rod>
jeg looper igennem hvert element:
<xsl:for-each select="rod/x">
'her gøres noget; f.eks. opret en række i tabel (<tr>)
osv
Jeg ønsker ydermere at loope igennem hver enkelt karakter i hvert elements streng:
f.eks. i ovenstående: <xsl:value-of select="."/>
= "163523598664724235" er første elements værdi (streng)
'her skal der loopes igen:
1 'her gøres noget; f.eks. teste karakter og/eller opret celle i tabel (<td>)
6 ----
3 ----
5 ----
2 ----
osv
Hvordan?
Det må være noget med string-length() og substring(string,i,1) (hvordan findes i?)
men jeg kender simpelthen ikke nok til sproget -endnu, til at
kunne konstruere syntaxen.
Jeg ønsker [med ovenstående eksempelXML] at kunne (for eksempel):
-oprette en tabel med 3 rækker og 18 kolonner (3 og 18 er IKKE kendt).
hver celle har en forskellig baggrundsfarve alt efter værdi: 0-9
Jeg har en tåget forestilling om, at dette kan gøres (måske nemmere?) med
noget DOM (eller Java - VBScript m.m.)
-men det er et principielt spørgsmål for mig, så hvordan gøres (kan?) det i XSL?
/tjacob