Det jeg gerne vil er sådan set at lave en xslt som opføre sig ud fra følgende Pseudo kode:
If (city = previous_city) Then Show in one way Else Show in another way End If
Sagt med andre ord så vil jeg gerne have min xslt til at reagere på en måde når den forrige by er lig med den by jeg står ved nu. Er den ikke lig med den skal der gøres noget andet. Normalt ville jeg bare gøre det med at gemme en variable der indeholdt den forrige by, men det kan ikke lade sig gøre i XSLT så hvad gør man så?
Jeg kan desværre ikke give dig et konkret eksempel, da det er for længe siden jeg har arbejdet med XSLT, men logikken er, at du laver en template som tager din node-liste af "result", samt et indeks på den aktuelle node.
I denne template sørger du dels for at kontrollere om det er den første -, sidste - eller en mellemliggende node (og reagerer på en passende måde derefter :-)).
Hvis det er første node, skal du ikke sammenligne med den forrige (via indeks i "result"-nodelisten), men blot udskrive noden og kalde templaten selv (call-template og with-params), med "result"-nodelisten og indeks+1. Efterfølgende noder skal sammenlignes med den forrige ("result"-nodelisten[$indeks-1] vha. en choose/when/otherwise-konstruktion.
For at starte rekursionen skal du kalde den på samme måde, dvs. med call-template og with-params.
Hvis du fikk de til å virke, så tar jeg gjerne pts.
Men legg også ut litt av koden, for jeg føler meg på riktig tynn is her - jeg skal sitte lenge med koden før jeg får det til selv.
XSLT er et område der man skal vokte seg vel for å begynne å løse problemer - har man et problem er det som regel fordi man burde gjort sakene på en helt annen måte. Dagens slogan: "Problemer skal ikke løses - de skal omgåes!"
Jeg erkender gerne når nogen har en bedre løsning end mig - så lærer jeg jo også noget... :)
Synes godt om
Ny brugerNybegynder
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.