% -*- coding: utf-8 -*- \section{XML Formatet} Al kommunikation mellem serveren og klienten (og vice versa) foregår ved hjælp af XML.\\ Dokumenterne skal starte med en header som specificerer hvilken XML verison som benyttes, efterfulgt af rodknuden som skal være af typen \texttt{pracro}.\\ \begin{lstlisting} . . . \end{lstlisting} Det er vigtigt at pointere at alt data i xml dokumentet skal være i UTF-8 formatering. \subsection{\texttt{pracro} elementet} Pracro elementet bruges som indpakning til hele dokumentet. Den identificerer blandt andet dokumentversionen og kan indeholde alle typer data forbundet med Pracro systemet.\\ Pracro elementet har flg. attributter: \begin{itemize} \item \textit{cpr} - CPR nummeret på den patient som dataene i filen er knyttet til. Det bruges blandt andet ved genfinding af data og den afsluttende lagring af data.\\ Dette felt må ikke undlades. \item \textit{version} - Dette felt fortæller hvilken dokument version der er benyttet.\\ Denne variabel skal matche den version klienten forventer.\\ Dette felt må ikke udelades. \end{itemize} \subsection{Request} En request sektion sendt til serveren skal bevirke at serveren inlæser og sender den angivne makro til klienten.\\ Hvis klienten modtager en request sektion skal den blot ignorere den. \begin{lstlisting} \end{lstlisting} \subsection{Makro} En makro definerer en makro som grafisk viser og eller indsamler data.\\ En makro sektion sendt til klienten skal bevirke at den beskrevne grafisk makro vises på skærmen.\\ Hvis serveren modtager en makro sektion skal den blot ignorere den. Vi starter med et eksempel: \begin{lstlisting}