# Information for URL https://schemas.bgr.de/boreholeml/codelists/

File: https://schemas.bgr.de/boreholeml/codelists/README.md<br>
Authors: Gerhard Arns-Krogmann (BGR) & Christian Woelfl (LfU) for AK BoreholeML<br>
Date: 2024-06-27
************************************************************

## General information
The URL https://schemas.bgr.de/boreholeml/codelists/ is the general directory for the catalogues of controlled vocabulary (codelists) used in different versions of BoreholeML.

## Directory structure of https://schemas.bgr.de/boreholeml/codelists
[/v1](https://schemas.bgr.de/boreholeml/codelists/v1)
-> The subdirectory v1 contains codelists in version 1.x, the corresponding XML schema definition codelistItem_BMLCL.xsd in version 0.2 and supplementary files.
   These files have been moved from previous URL http://www.infogeo.de/boreholeml/3.0/codelists/, and all references in the files have been switched to URLs in the new domain *schemas.bgr.de*. 
   The codelists in version 1.x were originally designed for BoreholeML 3.0.1. 
   
[/v2](https://schemas.bgr.de/boreholeml/codelists/v2)
-> The subdirectory v2 contains codelists in version 2.x, the corresponding XML schema definition codelistItem_BMLCL.xsd in version 1.0 and supplementary files.
   The codelists in version 2.x were originally designed for BoreholeML 3.1.0. 

## Updates and versioning of codelists ##
In all catalogues of codelists for BoreholeML common principles are followed concerning updates, versioning and archiving of codelists.
- All codelist files in the root directory of a catalog are the applicable and most recent version of a codelist.
- The codelist files in the root directory of a catalog always keep their file name, no matter which version the have.
- The version information of a codelist can be retrieved only from inside the XML file, from a version comment in the line after the XML declaration at the beginning of the XML file.
  Codelists from version 2.x on hold version information also alternatively in the native attribute gml:remarks of the root element gmx:ML_CodeListDictionary.
- An update of a codelist (e.g. by adding of new code entries) results in a new version of a codelist. The following steps must be followed:
  1. Creation of a new codelist file, with incremented minor version number (e.g. update of version 2.1 results in new version 2.2) and accurate creation date.
  2. Prior to placing the new codelist file, the currently applicable codelist file is moved into the subdirectoy archive and subsequently renamed using the scheme [listName]_v[current version].xml.
     Example: when currently applicabe RockNameList has version 2.1 and is to be updated, the file RockNameList.xml is moved into the subdirectory archiv and renamed to RockNameList_v2.1.xml. 
  3. The new codelist file is placed in the root directory of the catalog.

## Further information ##
For specific additional information refer to README.md files in the subdirectories of the codelist catalogue versions.

For general information refer to this [README.md](https://schemas.bgr.de/boreholeml/README.md).

AK BoreholeML OpenCoDE project: https://gitlab.opencode.de/ak-boreholeml4/boreholeml
