gml:id
De diverse gegevenscatalogi maken een onderscheid tussen objecttypes en gegevensgroeptypes. Bij het opstellen van de berichtdefinities worden deze stereotypes vertaald naar FeatureType en AttributeGroupType. Twee van de verschillen zijn dat een FeatureType identificeerbaar moet zijn terwijl dat bij een AttributeGroupType niet verplicht is en dat een FeatureType zelfstandig kan bestaan terwijl een AttributeGroupType alleen bestaat bij de gratie van een FeatureType waarvan het, direct of indirect, een onderdeel is.
Conform de GML XML encoding rules leidt ieder FeatureType in de XSD-bestanden tot:
- Een complex type, wat de inhoud van het FeatureType definieert en direct of indirect een specialisatie is van gml:AbstractFeatureType.
- Een root element, zodat objecten van het ComplexType geïnstantieerd kunnen worden.
- Een property type ComplexType, wat in de XSD-bestanden de realisatie is van een associatie relatie in de gegevenscatalogus naar het FeatureType.
Als gevolg van de eerste bullet krijgt in een XML-bericht ieder betreffend XML-element een XML-attribuut gml:id. De waarde van deze gml:id moet uniek zijn binnen het BRO-bericht. Tenzij anders aangegeven mag maar hoeft niet de waarde van een gml:id uniek te zijn over meerdere BRO-berichten, over meerdere registratieobjecten of over meerdere registratieobjecttypes. In de voorbeeldberichten is dit gedaan met een waarde die begint met 'id_', gevolgd door een volgnummer.
Tenzij anders aangegeven slaat de innamewebservice van het BRO-systeem de waarde van een gml:id in een innameverzoek niet op. Tenzij anders aangegeven genereert de uitgiftewebservice van het BRO-systeem per dispatchResponse (bericht van verzending) unieke waarden voor de aanwezige gml:id XML-attributen.
Enkele voorbeelden:
...
<BHR_O_DP gml:id="id_0001">
...
<brocom:location srsName="urn:ogc:def:crs:EPSG::4258" gml:id="id_0002">
...
<boreholeSampleDescription gml:id="id_0004">
...
<gml:TimeInstant gml:id="id_0005">
...
<bhrcom:BoreholeSampleAnalysis gml:id="id_0007">
...
<bhrcom:InvestigatedInterval gml:id="id_0008">
...