<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="https://ori-a.nl" targetNamespace="https://ori-a.nl" xmlns:ori-a="https://ori-a.nl" elementFormDefault="qualified" version="v1.0.1">

    <!-- root-element -->
    <xs:element name="ORI-A" type="ORI-A">
        <!-- Specificeer dat alle IDs in de XML-boom uniek moeten zijn -->
        <xs:unique name="uniqueID">
            <xs:selector xpath=".//ori-a:ID"/>
            <xs:field xpath="."/>
        </xs:unique>
    </xs:element>

    <!-- datatype van root-element -->
    <xs:complexType name="ORI-A">
        <xs:annotation>
            <xs:documentation>Gegevens die onder het _root_-element `&lt;ORI-A&gt;` komen.</xs:documentation>
        </xs:annotation>
            <xs:sequence>
                <xs:element name="vergadering" type="vergaderingGegevens" minOccurs="1" maxOccurs="1">
                    <xs:annotation>
                        <xs:documentation>Gegevens over de vergadering, zoals de startdatum en locatie.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="agendapunt" type="agendapuntGegevens" minOccurs="1" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Gegevens over een agendapunt, zoals het volgnummer en bijbehorende stukken. Bij het ontbreken van volgnummers moet de volgorde van agendapunt-elementen aangeven in welke volgorde ze behandeld zijn.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="stemming" type="stemmingGegevens" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Gegevens over een stemming, zoals het agendapunt of de persoon waarover gestemd is. Iemands stemkeuze op een stemming hoort onder `aanwezigeDeelnemer`.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="besluit" type="besluitGegevens" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Gegevens over een besluit, zoals of het unaniem aangenomen of verworpen is. Een besluit volgt in de regel op een `stemming`.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="fractie" type="fractieGegevens" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Gegevens over een fractie, zoals de naam en het stemgedrag van de fractie.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="dagelijksBestuur" type="dagelijksBestuurGegevens" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Gegevens over een dagelijks bestuur, zoals de naam van het bestuur.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="persoonBuitenVergadering" type="natuurlijkPersoonGegevens" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Gegevens over een persoon die een relatie heeft met de vergadering, maar _niet_ zelf aanwezig was. Dit kan bijvoorbeeld een portefeuillehouder, indiener of afwezig raadslid zijn. Persoonsgegevens over aanwezigen komen onder `aanwezigeDeelnemer`.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="aanwezigeDeelnemer" type="aanwezigeDeelnemerGegevens" minOccurs="0" maxOccurs="unbounded">
                    <xs:annotation>
                        <xs:documentation>Gegevens over een persoon die bij de vergadering aanwezig was, zoals diens stemgedrag, inspreekmomenten en meer algemene persoonsgegevens.</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:complexType>

    <!-- # Algemene datatypes -->

    <xs:complexType name="verwijzingGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens om vanuit een entiteit naar een ander te verwijzen.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="verwijzingID" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het ID van de entiteit waarnaar verwezen wordt.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="verwijzingNaam" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Een voor menselijke lezers bedoelde naam van de entiteit waarnaar verwezen wordt.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="begripGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een begrip, zoals de locatie van de begrippenlijst waar het begrip verklaard wordt.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="begripLabel" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het label dat aan het begrip is toegekend in de begrippenlijst.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="begripCode" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De code die aan het begrip is toegekend in de begrippenlijst.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="verwijzingBegrippenlijst" type="verwijzingGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Een verwijzing naar de begrippenlijst waarin het begrip beschreven wordt. Het ID van de begrippenlijst waarnaar verwezen wordt is meestal een URL, en de gewenste naam de titel van de begrippenlijst (bijvoorbeeld 'ORI-A vergaderstuktypes').</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="informatieobjectGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens die worden gebruikt om te **verwijzen** naar een elders gedefinieerd informatieobject.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="informatieobjectType" type="begripGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het soort informatieobject waarnaar verwezen wordt.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>ORI-A mediabrontypes</naam>
                            <URL>https://ori-a.nl/begrippenlijsten#mediabrontypes</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>ORI-A vergaderstuktypes</naam>
                            <URL>https://ori-a.nl/begrippenlijsten#vergaderstuktypes</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>PLOOI documentsoorten</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/ccw_plooi_documentsoorten</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
            <xs:element name="verwijzingInformatieobject" type="verwijzingGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar een elders gedefinieerd informatieobject.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="integerOfTijdcode">
        <xs:annotation>
            <xs:documentation>Datatype dat zowel tijdcodes (hh:mm:ss) als positieve integers accepteert.</xs:documentation>
        </xs:annotation>
        <xs:union memberTypes="xs:nonNegativeInteger xs:time"/>
    </xs:simpleType>

    <xs:complexType name="tijdsaanduidingGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens om het begin- en eindpunt van een gebeurtenis in een mediabron aan te geven, zoals de aanvang van een spreekfragment in een video-opname.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="aanvang" type="integerOfTijdcode" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het beginpunt van de gebeurtenis in de mediabron, vanaf het begin van de mediabron gerekend. Dit is óf een tijdcode (hh:mm:ss), óf een positief getal dat het aantal seconden aangeeft waarna de gebeurtenis begint.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="einde" type="integerOfTijdcode" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het eindpunt van de gebeurtenis in de mediabron, vanaf het begin van de mediabron gerekend. Dit is óf een tijdcode (hh:mm:ss), óf een positief getal dat het aantal seconden aangeeft waarna de gebeurtenis eindigt.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="isRelatiefTot" type="informatieobjectGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Gegevens over de mediabron waar deze tijdsaanduiding betrekking op heeft, zoals het identificatiekenmerk van een video-opname. Dit element is alleen nodig wanneer er meer dan een mediabron aan een vergadering is gerelateerd. Als dit element ontbreekt, moet worden verondersteld dat de tijdsaanduiding relatief is tot de mediabron die is vastgelegd onder het top-level `&lt;vergadering&gt;`-element.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <!-- # Domeinspecifieke datatypes -->

    <xs:complexType name="vergaderingGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een (deel)vergadering, zoals de startdatum en locatie.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van de vergadering.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="naam" type="xs:string" minOccurs= "1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De naam van de vergadering, zoals 'Commissie Onderwijs en Samenleving'.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="geplandeDatum" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geplande aanvangsdatum van de vergadering.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datum" type="xs:date" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De datum waarop de vergadering daadwerkelijk gehouden werd.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="geplandeAanvang" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het geplande moment (datum en tijdstip) waarop de vergadering zou beginnen.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="geplandEinde" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het geplande moment (datum en tijdstip) waarop de vergadering beëindigd zou worden.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="aanvang" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Daadwerkelijke datum en tijdstip waarop de vergadering begon.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="einde" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Daadwerkelijke datum en tijdstip waarop de vergadering eindigde.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="publicatiedatum" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum en tijdstip waarop de vergadering voor het laatst gepubliceerd of gewijzigd is.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="type" type="begripGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het soort vergadering.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>ORI-A vergaderingstypes</naam>
                            <URL>https://ori-a.nl/begrippenlijsten#vergaderingstypes</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
            <xs:element name="toelichting" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Toelichting of nadere omschrijving van de vergadering.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="georganiseerdDoorGremium" type="gremiumGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Gegevens over het gremium dat de vergadering georganiseerd heeft, zoals de naam van het gremium.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="locatie" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Locatie (bijvoorbeeld gebouw of plaats) waar de vergadering gehouden is.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="weblocatie" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Actuele link naar een online raadpleeglocatie waar de vergadering in zijn geheel wordt getoond, zoals de publicatieomgeving van een e-depot of raadsinformatiesysteem.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="status" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De status van de vergadering.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Gepland"/>
                        <xs:enumeration value="Gehouden"/>
                        <xs:enumeration value="Geannuleerd"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="overheidsorgaan" type="begripGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het overheidsorgaan dat de vergadering heeft gehouden.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>Register gemeenten compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_gemeenten_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register provincies compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_provincies_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register waterschappen compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_waterschappen_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register samenwerkingsorganisaties compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_samenwerkingsorganisaties_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register overheidsorganisaties compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_overige_overheidsorganisaties_compleet</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
            <xs:element name="isVastgelegdMiddels" type="informatieobjectGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een informatieobject waarin de (deel)vergadering is opgenomen. Deze opname kan een audiotuul, videotuul of transcriptie zijn.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="isGenotuleerdIn" type="informatieobjectGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Gegevens over het informatieobject waarin de notulen van de vergadering zijn vastgelegd.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="heeftAlsBijlage" type="informatieobjectGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een informatieobject dat als bijlage bij de algehele (deel)vergadering diende.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="heeftAlsDeelvergadering" type="vergaderingGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een vergadering die als afzonderlijk onderdeel functioneert binnen een grotere vergadering.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="agendapuntGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een agendapunt, zoals het volgnummer en bijbehorende stukken. Bij het ontbreken van volgnummers, moet de volgorde van agendapunt-elementen aangeven in welke volgorde ze behandeld zijn.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="1" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van het agendapunt.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="naam" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Naam of onderwerp van het agendapunt.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="geplandVolgnummer" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het geplande agendapunt volgnummer. Begint met een of meer cijfers, maar mag gevolgd worden door andere karakters.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="\d+.*"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="volgnummer" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het agendapunt volgnummer. Begint met een of meer cijfers, maar mag gevolgd worden door andere karakters.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="\d+.*"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="volgnummerWeergave" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De naar buiten gepresenteerde weergave van het volgnummer op de agenda, zoals `10a.`.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="omschrijving" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Toelichting of nadere omschrijving van het agendapunt.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="geplandeStarttijd" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het geplande moment (datum en tijdstip) waarop het agendapunt in behandeling zou worden genomen.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="geplandeEindtijd" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het geplande moment (datum en tijdstip) waarop het agendapunt zou worden afgesloten.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="starttijd" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum en tijdstip waarop het agendapunt daadwerkelijk in behandeling werd genomen.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="eindtijd" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum en tijdstip waarop het agendapunt daadwerkelijk werd afgesloten.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="tijdsaanduidingMediabron" type="tijdsaanduidingGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over wanneer het agendapunt begint en eindigt in een bepaalde mediabron, zoals een video- of audio-opname van de vergadering.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="locatie" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Locatie (bijvoorbeeld gebouw of plaats) waar het agendapunt werd behandeld.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="indicatieHamerstuk" type="xs:boolean" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geeft aan of het agendapunt een hamerstuk was.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="indicatieBehandeld" type="xs:boolean" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geeft aan of het agendapunt is behandeld tijdens de vergadering.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="indicatieBesloten" type="xs:boolean" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geeft aan of het agendapunt besloten werd behandeld.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="overheidsorgaan" type="begripGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het overheidsorgaan dat het agendapunt heeft behandeld.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>Register gemeenten compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_gemeenten_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register provincies compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_provincies_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register waterschappen compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_waterschappen_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register samenwerkingsorganisaties compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_samenwerkingsorganisaties_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register overheidsorganisaties compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_overige_overheidsorganisaties_compleet</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
            <xs:element name="wordtBehandeldTijdens" type="verwijzingGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar de vergadering waarin het agendapunt behandeld werd.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="heeftBehandelendAmbtenaar" type="verwijzingGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar een natuurlijk persoon die de behandelend ambtenaar van het agendapunt was.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="heeftAlsBijlage" type="informatieobjectGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een informatieobject dat als bijlage bij dit agendapunt diende.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="heeftAlsSubagendapunt" type="agendapuntGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een agendapunt dat als afzonderlijk onderdeel functioneert binnen een groter agendapunt.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="spreekfragmentGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een spreekfragment waarin een deelnemer sprak, zoals het moment waarop dit fragment begon en eindigde.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van het spreekfragment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="naam" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De naam van het spreekfragment, of een benaming voor de discussie die tijdens dit fragment plaatsvindt.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="aanvang" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum en tijdstip waarop het spreekfragment begon.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="einde" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum en tijdstip waarop het spreekfragment eindigde.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="taal" type="xs:language" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De taal van het spreekfragment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="tekst" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De uitgeschreven tekst van het spreekfragment.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="positieNotulen" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De positie van het spreekfragment in de notulen, bijvoorbeeld `pagina 8`.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="tijdsaanduidingMediabron" type="tijdsaanduidingGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over wanneer het spreekfragment begint en eindigt in een bepaalde mediabron, zoals een video- of audio-opname van de vergadering.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="gedurendeAgendapunt" type="verwijzingGegevens" minOccurs="1" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar het agendapunt waar tijdens gesproken wordt.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="stemmingGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een stemming, zoals het agendapunt of de persoon waarover gestemd is. Iemands stemkeuze op een stemming hoort onder `aanwezigeDeelnemer`.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="1" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van de stemming.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="type" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De wijze waarop gestemd is.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Hoofdelijk"/>
                        <xs:enumeration value="Regulier"/>
                        <xs:enumeration value="Schriftelijk"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="resultaatMondelingeStemming" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het resultaat van een mondelinge stemming.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Voor"/>
                        <xs:enumeration value="Tegen"/>
                        <xs:enumeration value="Gelijk"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="resultaatStemmingOverPersonen" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <!-- TODO: Deze documentatie moet mogelijk geupdate worden na https://github.com/VNG-Realisatie/ODS-Open-Raadsinformatie/issues/111 -->
                    <xs:documentation>Beschrijving van het resultaat van een stemming over een of meerdere personen.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="stemmingOverPersonen" type="stemmingOverPersonenGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens die een stemming over personen beschrijven, zoals het aantal stemmen dat een kandidaat haalde.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="leidtTotBesluit" type="verwijzingGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar het besluit waartoe de stemming heeft geleid.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="heeftBetrekkingOpAgendapunt" type="verwijzingGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar het agendapunt waarover gestemd werd.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="heeftBetrekkingOpBesluitvormingsstuk" type="informatieobjectGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een besluitvormingsstuk waarover gestemd werd. Dit besluitvormingsstuk kan bijvoorbeeld een motie, voorstel, of (sub)amendement zijn.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="stemmingOverPersonenGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens die een stemming over personen beschrijven, zoals het aantal stemmen dat een kandidaat haalde.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="naamKandidaat" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Naam van de kandidaat waarover gestemd werd.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="aantalUitgebrachteStemmen" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Aantal stemmen dat de kandidaat gehaald heeft.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="besluitGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een besluit, zoals of het unaniem aangenomen of verworpen is. Een besluit volgt in de regel op een `stemming`.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="1" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van het besluit.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="resultaat" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het resultaat van het besluit.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Unaniem aangenomen"/>
                        <xs:enumeration value="Aangenomen"/>
                        <xs:enumeration value="Geamendeerd aangenomen"/>
                        <xs:enumeration value="Onder voorbehoud aangenomen"/>
                        <xs:enumeration value="Verworpen"/>
                        <xs:enumeration value="Aangehouden"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="toelichting" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Een toelichting op het besluit.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="toezegging" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Een toezegging die bij het besluit gedaan is.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="dagelijksBestuurGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een dagelijks bestuur, zoals de naam van het bestuur.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="1" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van het dagelijks bestuur.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="naam" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Naam van het dagelijks bestuur.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="overheidsorgaan" type="begripGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het overheidsorgaan waarbinnen dit dagelijks bestuur opereert.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>Register gemeenten compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_gemeenten_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register provincies compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_provincies_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register waterschappen compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_waterschappen_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register samenwerkingsorganisaties compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_samenwerkingsorganisaties_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register overheidsorganisaties compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_overige_overheidsorganisaties_compleet</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
            <xs:element name="type" type="begripGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het soort dagelijks bestuur.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>ORI-A dagelijks bestuur types</naam>
                            <URL>https://ori-a.nl/begrippenlijsten#dagelijks-bestuur-types</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="dagelijksBestuurLidmaatschapGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over wanneer iemand lid is geworden van een bepaald dagelijks bestuur.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van het dagelijks bestuur lidmaatschap.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumBeginDagelijksBestuurLidmaatschap" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum waarop iemands lidmaatschap van het dagelijks bestuur begon.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumEindeDagelijksBestuurLidmaatschap" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum waarop iemands lidmaatschap van het dagelijks bestuur eindigde.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="verwijzingDagelijksBestuur" type="verwijzingGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar het dagelijks bestuur waar het lidmaatschap betrekking op heeft.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="natuurlijkPersoonGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een natuurlijk persoon. Dit datatype komt voor onder de top-level elementen `&lt;aanwezigeDeelnemer&gt;` en `&lt;persoonBuitenVergadering&gt;`.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="1" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van de persoon.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="naam" type="naamGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Gegevens over de naam van de persoon, zoals diens voor- en achternaam.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="geslachtsaanduiding" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geslachtsaanduiding van de persoon.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Man"/>
                        <xs:enumeration value="Vrouw"/>
                        <xs:enumeration value="Anders"/>
                        <xs:enumeration value="Onbekend"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="functie" type="begripGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De functie of het ambt van de persoon.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>ORI-A functies</naam>
                            <URL>https://ori-a.nl/begrippenlijsten#functies</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
            <xs:element name="nevenfunctie" type="nevenfunctieGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een nevenfunctie van de persoon, zoals of het om een betaalde functie gaat.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="isLidVanFractie" type="fractielidmaatschapGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Gegevens over iemands fractielidmaatschap.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="isLidVanDagelijksBestuur" type="dagelijksBestuurLidmaatschapGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Gegevens over iemands lidmaatschap van een dagelijks bestuur.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="naamGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over de naam van een persoon, zoals diens voor- en achternaam.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="achternaam" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De achternaam van de persoon, zoals `Mierlo`.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="tussenvoegsel" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het tussenvoegsel in de naam van de persoon, zoals `van der`.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="voorletters" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De voorletters van de persoon, zoals `J.P.` of `K.`.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="voornamen" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De voornaam of voornamen van de persoon, zoals `Anna Maria Sophia` of `Jan`.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="volledigeNaam" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De volledige naam van de persoon, zoals `Piet van der Berg`.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="nevenfunctieGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een nevenfunctie van een persoon, zoals of het om een betaalde functie gaat.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="omschrijving" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                     <xs:documentation>Informatie over de inhoud van iemands nevenfunctie, zoals de officiële functietitel of een korte beschrijving.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="naamOrganisatie" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De naam van de organisatie waarbinnen de nevenfunctie wordt uitgevoerd.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="aantalUrenPerMaand" type="xs:positiveInteger" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Aantal uren per maand dat besteed wordt aan de nevenfunctie.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="indicatieBezoldigd" type="xs:boolean" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geeft aan of de nevenfunctie wordt uitgevoerd tegen betaling.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="indicatieFunctieVanwegeLidmaatschap" type="xs:boolean" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geeft aan of de nevenfunctie wordt vervuld vanwege iemands lidmaatschap aan het betreffende overheidsorgaan.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumMelding" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum waarop de nevenfunctie gemeld is bij de griffie.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumAanvang" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum waarop iemand met de nevenfunctie begon.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumEinde" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum waarop iemands nevenfunctie wordt/is beëindigd.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="fractieGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een fractie, zoals de naam en het stemgedrag van de fractie.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="1" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van de fractie.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="naam" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De naam van de fractie, zoals `D66` of `VVD`.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="overheidsorgaan" type="begripGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Het overheidsorgaan waarbinnen de fractie opereert.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>Register gemeenten compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_gemeenten_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register provincies compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_provincies_compleet</URL>
                        </aangeradenBegrippenlijst>
                        <aangeradenBegrippenlijst>
                            <naam>Register waterschappen compleet</naam>
                            <URL>https://identifier.overheid.nl/tooi/set/rwc_waterschappen_compleet</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
            <xs:element name="neemtDeelAanStemming" type="stemresultaatPerFractieGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over hoe de fractie als geheel tegenover een stemming stond, zoals of de aanwezigen leden unaniem voor, unaniem tegen, of juist verdeeld hebben gestemd.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="fractielidmaatschapGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over iemands fractielidmaatschap.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van het fractielidmaatschap.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumBeginFractielidmaatschap" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum waarop iemands fractielidmaatschap begon.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="datumEindeFractielidmaatschap" type="xs:date" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum waarop iemands fractielidmaatschap eindigde.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="indicatieVoorzitter" type="xs:boolean" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geeft aan of iemand fractievoorzitter is.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="verwijzingFractie" type="verwijzingGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar de fractie waar het lidmaatschap betrekking op heeft.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="stemresultaatPerFractieGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over hoe een fractie als geheel tegenover een stemming stond, zoals of de aanwezigen leden unaniem voor, unaniem tegen, of juist verdeeld hebben gestemd.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van het stemresultaat per fractie.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="fractieStemresultaat" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Geeft aan hoe de fractie als geheel tegenover een stemming stond.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Aangenomen"/>
                        <xs:enumeration value="Verworpen"/>
                        <xs:enumeration value="Verdeeld"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="verwijzingStemming" type="verwijzingGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar de stemming waar de fractie aan heeft deelgenomen.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="aanwezigeDeelnemerGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een persoon die bij de vergadering aanwezig was, zoals diens stemgedrag, inspreekmomenten, en meer algemene persoonsgegevens.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van de deelnemer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="rolnaam" type="begripGegevens" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De rol waarin iemand bij de vergadering aanwezig was.</xs:documentation>
                    <xs:appinfo>
                        <aangeradenBegrippenlijst>
                            <naam>ORI-A deelnemerrollen</naam>
                            <URL>https://ori-a.nl/begrippenlijsten#deelnemerrollen</URL>
                        </aangeradenBegrippenlijst>
                    </xs:appinfo>
                </xs:annotation>
            </xs:element>
            <xs:element name="organisatie" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De naam van de organisatie die wordt vertegenwoordigd door de deelnemer.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="deelnemerspositie" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Beschrijving van de plek waar de deelnemer in de zaal zat.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="aanvangAanwezigheid" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum en tijdstip vanaf wanneer de deelnemer bij de vergadering aanwezig was.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="eindeAanwezigheid" type="xs:dateTime" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Datum en tijdstip waarna de deelnemer de vergadering verliet.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="neemtDeelAanVergadering" type="verwijzingGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar de vergadering of deelvergaderingen waar de deelnemer aanwezig was.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="isNatuurlijkPersoon" type="natuurlijkPersoonGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Gegevens over de persoon die als deelnemer optreedt, zoals diens naam en fractielidmaatschap.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="neemtDeelAanStemming" type="stemGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een stem die de deelnemer heeft uitgebracht, zoals de stemkeuze en de stemming waarop deze keuze betrekking heeft.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="spreektTijdensSpreekfragment" type="spreekfragmentGegevens" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Gegevens over een spreekfragment waarin de deelnemer sprak, zoals het moment waarop dit fragment begon en eindigde.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="stemGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een stem die iemand heeft uitgebracht, zoals diens stemkeuze en de stemming waarop deze keuze betrekking heeft.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van de stem.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="keuzeStemming" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>De keuze op de stemming.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="Voor"/>
                        <xs:enumeration value="Tegen"/>
                        <xs:enumeration value="Afwezig"/>
                        <xs:enumeration value="Onthouden"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="gegevenOpStemming" type="verwijzingGegevens" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Verwijzing naar de stemming waar de stem betrekking op heeft.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="gremiumGegevens">
        <xs:annotation>
            <xs:documentation>Gegevens over een gremium.</xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="naam" type="xs:string" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Naam van het gremium, zoals 'Commissie Samenleving'.</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="identificatie" type="xs:string" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>Uniek identificatiekenmerk van het gremium.</xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
