Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagexml
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

  1. Først laves datoen om til en tekststreng via /text() funktionen

  2. Herefter udtrækkes de første syv tegn af datoen som tekststreng via substring(.., 1, 7) svarende til år og måned for datoen

  3. Så sættes den forkortede tekststreng sammen med strengen ‘-01’ som erstatning for den dato der blev skåret fra

  4. 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
languagexml
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

Deling af tekststrenge