På denne side findes en række mere avancerede XPath operationer som du kan bruge i dine blanketter.
Formler med gentaget data
Hvis man bruger repeated grids, så kan det ofte være svært, at lave formler som $feltA + $feltB + $feltC, da man som designer ikke ved, hvor mange gentagelser brugeren ender med at lave. Så kan man i stedet lave formler med listeoperationer
I Blanketmotorens sandkasse finder du en blanket med navnet Lidt forskellige tips og tricks med lister fra repeated grids, hvor du kan se eksempler på formler med gentaget data, som også er beskrevet nedenfor
Læg en liste af tal sammen
Hvis et repeated grid eksempelvis har et talfelt med navnet gebyr, så kan du i et andet felt få summen af alle disse felter med formlen
sum($gebyr)
Bemærk: For at formlem skal virke, så skal alle gebyrfelterne være udfyldt, så overvej enten at give dem en initial value eller finde en måde at sikre, at felterne altid har en værdi
Liste af tekstværdier
Hvis et repeated grid eksempelvis har et tekstfelt med navnet bilmaerke, så kan du i et Plain Text Area lave en liste af disse værdien ved formlen (hvor codepoints-to-string(10)) repræsentere et linjeskift
string-join($bilmaerke, codepoints-to-string(10))
Tælle antal gentagelser med specifik værdi
Hvis et repeated grid eksempelvis har et felt med navnet biltype, som kan have værdien lastbil, så kan du tælle antallet af gentagelser med værdien lastbil med følgende formel
count($biltype[. = 'lastbil'])
Formler med datoer
Foruden de få eksempler med valideringer af datoer beskrevet her, så er flere forskellige muligheder for at regne med datoer, heriblandt lægge faste tidsintervaller til og trække fra for eksempelvis at få en dato ét år efter en anden dato.
Du finder i Blanketmotorens sandkasse et blanket med navnet Blanket med lidt forskellige tips og tricks omkring datofelter, hvor du kan se nedenstående eksempler i praksis
Læg tidsperioder til en given dato
En meget praktisk funktion ifm. logik i blanketter er at kunne justere end given dato med et fast tidsinterval som dage, måneder og år, enten ved at lægge perioden til eller trække den fra. Til dette kommer XPath med to hjælpsomme funktioner xs:yearMonthDuration og xs:dayTimeDuration, der kan bruges som illustreret nedenfor
Læg tre år til en dato
$datofelt + xs:yearMonthDuration('P3Y')
Træk to måneder fra en dato
$datofelt - xs:yearMonthDuration('P2M')
Læg fire dage til en dato
$datofelt + xs:dayTimeDuration('P4D')