<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:digst:samtykke:samtykkegruppe:2026-03"
    targetNamespace="urn:digst:samtykke:samtykkegruppe:2026-03"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:sam="urn:digst:samtykke:samtykke:2026-03"
    xmlns:sdt="urn:digst:samtykke:samtykkedatatyper:2026-03"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    <xs:import namespace="urn:digst:samtykke:samtykke:2026-03" schemaLocation="Samtykke.xsd"/>
    <xs:import namespace="urn:digst:samtykke:samtykkedatatyper:2026-03" schemaLocation="SamtykkeDatatyper.xsd"/>
    <xs:element name="Samtykkegruppe">
        <xs:annotation>
            <xs:documentation> En samtykkegruppe er en grupering af samtykker, der alle har samme samtykkeskabelon og er afgivet i forbindelse med den samme anmodning. Samtykkegruppen indeholder informationer, der er fælles for alle samtykkerne. </xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="SamtykkegruppeUUID" type="sdt:UuidType">
                    <xs:annotation>
                        <xs:documentation>Unik offentlig nøgle for samtykkegruppen.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Navn" type="sdt:TekstType"/>
                <xs:element name="NotifikationDageIndenUdloeb" type="PositivtTalType" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation>Her angives antal dage forud for samtykkets udløb, hvorved der skal udsendes en notifikation til fagsystemet. Bemærk, at fravær af elementet betyder, der ikke skal sendes en notifikation</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="SkabelonReference" type="sdt:SkabelonReferenceType">
                    <xs:annotation>
                        <xs:documentation>Her angives informationer om skabelonen som samtykkegruppen er baseret på. Disse kan bruges til at lave tværgående søgninger, for at finde alle samtykkegrupper, der er baseret på den samme skabelon.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Udsagn" type="sdt:HtmlTekstType">
                    <xs:annotation>
                        <xs:documentation>Samtykkeudsagnet giveren blev præsenteret for, ved besvarelse af samtykket. Dette udsagn er det samme for alle samtykkerne i samtykkegruppen.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="Tekster">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="Vilkaar" type="sdt:HtmlTekstType">
                                <xs:annotation>
                                    <xs:documentation> Her beskrives vilkårene for samtykket. </xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="Tilbagekaldelseskonsekvens" type="sdt:HtmlTekstType">
                                <xs:annotation>
                                    <xs:documentation> Her beskrives konsekvenserne ved at tilbagekalde samtykket. </xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="Afvisningskonsekvens" type="sdt:HtmlTekstType">
                                <xs:annotation>
                                    <xs:documentation>Her beskrives konsekvenserne ved at afvise samtykket.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                            <xs:element name="ValgfriTekster" type="ValgfriTeksterType" minOccurs="0" maxOccurs="1">
                                <xs:annotation>
                                    <xs:documentation>Her kan indsættes andre tekster, der er relevante for afgivelsen af samtykket.</xs:documentation>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="Samtykker">
                    <xs:annotation>
                        <xs:documentation> Liste over alle samtykker i samtykkegruppen. </xs:documentation>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element ref="sam:Samtykke" minOccurs="1" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                    <xs:unique name="uniktSamtykkeUUID">
                        <xs:selector xpath="sam:Samtykke/sam:SamtykkeHeader"/>
                        <xs:field xpath="sam:SamtykkeUUID"/>
                    </xs:unique>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="ValgfriTeksterType">
        <xs:sequence>
            <xs:element name="ValgfriTekst" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Overskrift" type="sdt:TekstType"/>
                        <xs:element name="Indhold" type="sdt:HtmlTekstType"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="PositivtTalType">
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>