Legenda en structuur van de schemadocumentatie

De STOP-schemadocumentatie gebruikt interactieve diagrammen om de XML-structuur te visualiseren en aan te geven hoe de informatie gestructureerd is. Onderstaande diagrammen illustreren de meestgebruikte symbolen en andere onderdelen van zo'n diagram. In de documentatie zijn de diagrammen klikbaar: de benoemde onderdelen linken naar hun eigen definitie.

De naamgevingsconventie van STOP-schema's en de uitleg hieronder gebruikt de prefix xs: voor elementen uit namespace van XML Schema Documents xmlns:xs="http://www.w3.org/2001/XMLSchema".

Elementen

Elementen worden in de diagrammen getekend als een een rechthoek met afgeronde hoeken. Het onderstaande diagram toont een element waarvan de kindelementen een vaste volgorde hebben (middels een xs:sequence). De namen van de kinderen in dit voorbeeld geven de verschillende kardinaliteiten (optioneel, verplicht, meervoudig). De lijnen naar en om verplichte kinderen zijn in de diagrammen dikker dan de lijnen naar en om optionele kinderen.

Het element in dit voorbeeld heeft tevens een attribuutgroep.


img/legenda_xsd_Element_element-met-vaste-volgorde.png

Globale en lokale definities

In bovenstaand diagram verwijst (middels xs:element/@ref) het content model naar vier globaal gedeclareerde elementen ( verplicht-element, optioneel-element, verplicht-meervoudig-element en optioneel-meervoudig-element). De verwijzing is getoond middels hel pijltje rechts onderin de rechthoek. Globaal gedeclareerde elementen hebben in de gehele XSD dezelfde definitie. De meeste elementdeclaraties in de meeste STOP-xsds zijn globaal.

Het laatste element element-lokaal-in-dit-content-model is een lokale declaratie (middels xs:element/@name) die alleen geldt binnen de context van het ouder-element element-met-vaste-volgorde . In de imop-tekst.xsd heeft een klein aantal elementen een lokale declaratie. In deze gevallen is het belangrijk dat het element dezelfde naam heeft (zoals tekst:Lichaam maar per verschillend ouderelement specifieke kindelementen toestaat.

De lokale elementdeclaraties staan in de documentatie op dezelfde pagina als het ouderelement. Dat is immers de enige context waarin dat element gebruikt mag worden. In de lijst van elementen in het menu links worden lokale elementdeclaraties opgenomen met het ouderelement tussen haakjes, zoals

Lichaam (RegelingCompact)

Element met keuze

Onderstaand diagram toont een element waar het content model een keuze biedt (middels een xs:choice) tussen een verplichte-eerste-element enerzijds of een verplichte-tweede-keuze gevolgd door een optionele-derde-keuze anderzijds.


img/legenda_xsd_Element_element-met-keuze.png

Element met onbepaalde volgorde

Onderstaande diagram toont een element waarin de volgorde van de kindelementen onbepaald is (middels een xs:all)


img/legenda_xsd_Element_element-volgorde-onbepaald.png

Deze constructie wordt niet gebruikt in het imop-tekst.xsd. In de tekststructuur is de volgorde van de elementen (document order) over het algemeen relevant.

Attribuutgroep

Attributen worden getekend als een rechthoek met links rechte en rechts afgeronde hoeken. Volgens de naamgevingsconventie van STOP-schema's begint de naam van een attribuutgroep (xs:attributeGroup) met de letters ag:


img/legenda_xsd_Attribute_Group_agAttribuutGroep.png

De attribuutgroepen van elk schema zijn te vinden in een apart submenu

"attribuutgroepen in schema X"

xs:complexType

Een element waarvan het type gedefinieerd is middels een benoemd xs:complexType toont de naam van zijn type onderin de afgeronde rechthoek en toont tevens het model van dat complexType:


img/legenda_xsd_Element_element-van-benoemd-complexType.png

Het complexType zelf wordt getekend als een rechthoek met scherpe hoeken met daarbinnen links een vierkant:


img/legenda_xsd_Complex_Type_benoemd-complextype.png

De benoemde xs:complexTypes van elk schema zijn te vinden in een apart submenu

"complexTypes in schema X".

Lokale elementen binnen een xs:complexType

Binnen een xs:complexType worden vaak alleen lokale elementdeclaraties gebruikt. Net zoals lokale elementdeclaraties binnen een element worden de lokale elementen van een complexType op dezelfde pagina als het xs:complexType zelf gedocmenteerd. In de lijst van elementen in het menu links worden lokale elementdeclaraties opgenomen met het xs:complexType tussen haakjes, zoals

groepID (LocatieType)

xs:simpleType

Een element waarvan het type is gedefinieerd middels een zogenaamd xs:simpleType ofwel "datatype" toont ook de naam van dat type onderin de afgeronde rechthoek


img/legenda_xsd_Element_element-van-simpleType.png

Het xs:simpleType zelf is een langwerpige achthoek met daarbinnen links een driehoek. Het diagram toont het basistype van de XML Schema datatypes waarop het xs:simpleType is gebaseerd. Volgens de naamgevingsconventie van STOP-schema's begint de naam van een benoemd xs:simpleType met de letters dt van datatype. De benoemde datatypes van elk schema zijn te vinden in een apart submenu

"dataTypes in schema X".


img/legenda_xsd_Simple_Type_dtDatatype.png

De naam van een xs:simpleType die een enumeratie (xs:enumeration) bevat begint altijd met de letters wl van "waardelijst". Deze waarden van de enumeratie binnen een dergelijk xs:simpleTypes worden niet getoond in de diagrammen.

De enumeraties van een schema zijn te vinden in een apart submenu "enumeraties in schema X". En als er simpleTypes in een schema voorkomen die niet als dt of wl benoemd zijn, dan staan deze in het submenu

"simpleTypes in schema X".