xsd-bestand

Een xsd-bestand (xsd: XML Schema Definition) definieert hoe de structuur van een xml-uitwisselbericht eruit ziet. Daarbij is de relatie met de Aquo-modellen als volgt: in de modellen is (logisch) uitgewerkt welke objecten of klassen welke relaties met elkaar hebben en welke eigenschappen elk object heeft.

Het Aquo-model kan worden gezien als een mensleesbaar diagram. Het xsd-bestand geeft aan hoe dit model technisch gezien uitgewerkt wordt in een xml-bestand. Het xsd-bestand is dan ook een machineleesbaar bestand waarin is uitgewerkt welke objecten of klassen voorkomen met daarbij hun kenmerken en onderlinge relaties. Het zelfbeschrijvende aspect van een xml-bericht is dan ook altijd dat in de header van het bericht staat volgens welke structuur het bestand is opgemaakt.

Het doel van een xsd-bestand

Middels het xsd-bestand kunnen partijen onafhankelijk controleren of een xml-bericht juist gestructureerd is en of er gebruik is gemaakt van geldige domeinwaarden. Ook kan het xsd gebruikt worden om een eigen database te mappen naar een xml-structuur. Er zijn verschillende applicaties beschikbaar die deze conversie op basis van een xsd-bestand uit kunnen voeren. Deze stap vergt vaak wel enig nadenken, maar in elk geval wordt de naamgeving van de elementen door de software geregeld.

Beheer
In het beheer van de Aquo-standaard wordt het technisch model (xsd) telkens opgebouwd vanuit het logische model. In het logische model worden de wijzigingen bijgewerkt en vervolgens feitelijk “fysiek” uitgewerkt in het technische model.

Ontwikkelingen

In het verleden werd in het Uitwisselmodel Aquo (UM Aquo) xsd voor elk van de attributen of eigenschappen, waar een domeinwaarde achter zat, via een apart schemabestand aangegeven welke domeinwaarden geldig waren.

In de huidige situatie, bij het gebruik van URN’s als verwijzing naar domeinwaarden in het xml bestand, hoeft u de domeinwaarden niet meer te importeren, maar kunt u in plaats daarvan een verwijzing opnemen naar een register met een sleutel die de bedoelde waarde uniek identificeert (URN). Het grote voordeel hiervan is dat vervallen domeinwaarden (dus met oude data) nog steeds uitgewisseld kunnen worden.

Een ander voordeel is dat niet langer alleen gebruikt gemaakt kan worden van de geldige domeinwaarden volgens de Aquo-standaard, maar ook van andere standaarden. Indien u een verwijzing naar een ander register opneemt, bijvoorbeeld het register van beschermde dieren in de UK, dan kunt u de gegevens over dat diertje (volgens het Engelse register) nog steeds volgens de structuur van Aquo uitwisselen.

Wijzigingen op de structuur van een Aquo-uitwisselformaat verlopen via een update van de Aquo-standaard en de bijbehorende wijzigingsprocedure.

Uniform Resource Name

De verwijzing naar de naam van het register met in dat register een unieke identificerende sleutel zal gebeuren op basis van URN's (Uniform Resource Name). Hierin wordt de bedoelde waarde geïdentificeerd door een namespace (in onderstaande voorbeelden Aquo en een voorbeeld UKHO), een aanduiding van het register binnen die namespace en de eigenschap die de waarde uniek identificeert. In de Aquo xml uitwisselbestanden is gekozen voor het gebruik van het ID voor het uniek indentificeren van een waarde.

Voorbeeld: de grootheid “temperatuur”.

urn:aquo:parameter:ID:1522
Voor een fictieve uitwisseling naar het UK Hydrographic Office, zou men bij wijze van spreken ook kunnen verwijzen naar de geldige (fictieve) waarde in het register van die partij:

urn:UKHO:quantity:ID:1234

N.B. Bij biotaxa wordt in URNs géén gebruik gemaakt van ID’s, maar van de namen van de biotaxa.

Voorbeeld: de brasem.

urn:aquo:biotaxon:naam:Abramis brama

N.B. Er dient wel een service geïmplementeerd te zijn die een URN om kan zetten naar een URL, waarop er meer over een domeinwaarde gelezen kan worden.