21. juni 2010 - 11:48Der er
13 kommentarer og 1 løsning
lave en sammenligning med det forgående element i en for-each
Jeg henter noget data fra noget XML som ligges i en variable, denne variable lave jeg så efterfølgende et gennemløb af ved hjælp af en "for-each". nu har jeg brug for at kende til det forgående element i min liste, men hvordan gør jeg det i xslt?
Det her skal jeg
loop if( DetForgåendeElement/tid = AktuelleElement/tid) Gør noget med AktuelleElement
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Tusind tak for din kommentar!! Jeg har et lille problem med ovenstående, for jeg sorterer data i min for-each og det tager "preceding-sibling" åbenbart ikke højde for. Har du en ide til hvordan jeg løser det?
Jeg har fundet frem til at når jeg bruger "preceding-sibling" i en for-each som er sorteret, så kigger "preceding-sibling" ikke i det sorterede resultat, men i det orginale resultat. Jeg har brug for at det kigge i det sorterede.
<!--Jeg henter så det data jeg skal bruge--> <xsl:variable name="skema" select="/Result/Timetable/TimetableEvent[generate-id(.) = generate-id(key('t', StartTime))]"></xsl:variable>
<!-- og gennemløber det --> <xsl:for-each select="$skema[(number(substring-before(StartTime,':'))*100+number(substring-after(StartTime,':'))) > 799]"> <xsl:sort select="number(substring-before(StartTime,':'))*100+number(substring-after(StartTime,':'))" data-type="number" order="ascending"/>
den forgående nodes slut tid viser den forgående node i mit orginale XML, og ikke den forgående node i min sorterede liste som jeg udskriver. Giver det mening?
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.