...
Den første dato i måneden for en given dato
Der kan nogle gange være behov for at udregne den 1. i en måned baseret på en anden dato, hvilket der ikke umiddelbart er nogen oplagt XPath funktion til at beregne, men dog er noget som kan løses ved at lege lidt med datoerne som tekststrenge
Code Block | ||
---|---|---|
| ||
xs:date(concat(substring($dato-til-manipulation/text(), 1, 7), '-01')) |
Formlen består her af en række skridt indefra og ud i formlen ovenfor
Først laves datoen om til en tekststreng via /text() funktionen
Herefter udtrækkes de første syv tegn af datoen som tekststreng via substring(.., 1, 7) svarende til år og måned for datoen
Så sættes den forkortede tekststreng sammen med strengen ‘-01’ som erstatning for den dato der blev skåret fra
Slutteligt bruges funktionen xs:date til at lave tekststrengen tilbage til en dato
Formatering af datoer
Det kan ofte være interessant at formatere datoer forskelligt enten for at øge læsbarheden eller for at skjule eller vise relevante dele af en dato. Her kan man bruge XPath funktionen format-date, hvor du kan se en lang række eksempler herinde https://www.w3.org/TR/xslt20/#date-time-examples
...
Code Block | ||
---|---|---|
| ||
format-date($datofelt, '[D]. [MNn] [Y]', 'da', (), ()) |
Formler med tekststrenge
Sammensætning af tekststrenge
Hvis du vil sammensætte to eller flere tekststreng, så kan du bruge XPath funktionen concat, hvor du angiver de tekststrenge eller henvisninger til tekstfelter, der skal sættes sammen, eksempelvis
Code Block |
---|
concat($felt1, '-', $felt2) |
Her vil værdierne af de to felter blive sat sammen med en bindestreg i mellem
Bemærk: Hvis du skal sammensætte en række tekstfelter fra et repeated grid, så kig ovenfor under Formler med gentaget data
Udsnit af tekststrenge
Hvis du har behov for at udtrække en del af en tekststreng, eksempelvis en dato fra et CPR-nummer, så kan du bruge XPath funktionen substring, hvor du skal angive, hvilket tegn, der skal være det første i den nye streng og hvor lange den nye streng skal være.
I eksemplet nedenfor returneres eksempelvis strengen 010161
Code Block |
---|
substring('0101610246', 1, 6) |
Note |
---|
Til forskel fra de fleste programmeringssprog, så starte XPath nummeringen ved 1 og ikke 0, dvs. at første tegn i en tekststreng har positionen 1 |