diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f2d1c54d845f5f261cffc4842c76bc07cd9313ff
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,6 @@
+# install geosource war in local maven repository
+#./mvnw install:install-file -DgroupId=org.geonetwork-opensource -DartifactId=geosource -Dversion=3.0.1-0 -Dpackaging=war -Dfile=./source/geosource-3.0.1-0.war
+./mvnw install:install-file -DgroupId=org.geonetwork-opensource -DartifactId=geonetwork -Dversion=3.2.0-0 -Dpackaging=war -Dfile=./source/geonetwork-3.2.0-0.war
+
+# build war overlay
+./mvnw clean package
\ No newline at end of file
diff --git a/config-overrides.properties.dev b/config-overrides.properties.dev
new file mode 100644
index 0000000000000000000000000000000000000000..bb17732bb85a6b6133f49080902c31ef29436c5c
--- /dev/null
+++ b/config-overrides.properties.dev
@@ -0,0 +1,23 @@
+INFO : Les termes _prefix et _suffix permettent de configurer les urls PRODIGE pour des environnements 
+       - de développement (ie. avec numéro de port en suffixe)
+       - de production (ie. avec prefixe de domaine)
+Utilisez l'option -e dev ou -e prod au lancement du script pour obtenir la configuration par défaut 
+correspondant respectivement aux environnements de développement ou de production
+ 
+prodige_domain=prodige41.alkante.al
+prodige_local_port=:1510
+prodige_catalogue_prefix=
+prodige_catalogue_suffix=${prodige_local_port}2/app_dev.php
+prodige_admincarto_prefix=
+prodige_admincarto_suffix=${prodige_local_port}6/app_dev.php
+prodige_frontcarto_prefix=
+prodige_frontcarto_suffix=${prodige_local_port}3/app_dev.php
+prodige_cas_prefix=
+prodige_cas_suffix=:8444
+prodige_geonetwork_prefix=
+prodige_geonetwork_suffix=:8443
+overrides_ldap_security_credentials=rz01mq9
+overrides_jdbc_database=CATALOGUE
+overrides_jdbc_username=user_prodige
+overrides_jdbc_password=pass_prodige
+ 
diff --git a/config-overrides.properties.prod b/config-overrides.properties.prod
new file mode 100644
index 0000000000000000000000000000000000000000..14ad90cdfa99a7b2a65b67af9c9db17c93fecb8c
--- /dev/null
+++ b/config-overrides.properties.prod
@@ -0,0 +1,23 @@
+INFO : Les termes _prefix et _suffix permettent de configurer les urls PRODIGE pour des environnements 
+       - de développement (ie. avec numéro de port en suffixe)
+       - de production (ie. avec prefixe de domaine)
+Utilisez l'option -e dev ou -e prod au lancement du script pour obtenir la configuration par défaut 
+correspondant respectivement aux environnements de développement ou de production
+ 
+prodige_domain=
+prodige_local_port=
+prodige_catalogue_prefix=catalogue.
+prodige_catalogue_suffix=
+prodige_admincarto_prefix=admincarto.
+prodige_admincarto_suffix=
+prodige_frontcarto_prefix=carto.
+prodige_frontcarto_suffix=
+prodige_cas_prefix=
+prodige_cas_suffix=:8444
+prodige_geonetwork_prefix=
+prodige_geonetwork_suffix=:8443
+overrides_ldap_security_credentials=rz01mq9
+overrides_jdbc_database=CATALOGUE
+overrides_jdbc_username=user_prodige
+overrides_jdbc_password=pass_prodige
+ 
diff --git a/generate_overlay.sh b/generate_overlay.sh
new file mode 100644
index 0000000000000000000000000000000000000000..6ab76c506bacd7fe6d5d177552d14b048768dcbd
--- /dev/null
+++ b/generate_overlay.sh
@@ -0,0 +1,155 @@
+
+function usage(){
+    printf "Utilisation du script :\n"
+    printf " -c, --config               Configuration interactive de l'installation (urls, connexion DB, mot de passe LDAP)\n"
+    printf " -p, --package              Exécution du 'maven clean package' \n"
+    printf " -e, --env=INSTALL_TYPE     Type d'installation : dev|prod (par défaut=prod)\n"
+    printf " -H, --host=PRODIGE_DOMAIN  Domaine principal de l'installation\n"
+    printf " -D, --dbname=DB_NAME       Nom de la base de données à connecter\n"
+    printf " -U, --dbuser=DB_USER_NAME  Utilisateur de connexion à la base de données\n"
+    printf " -P, --dbpwd=DB_USER_PWD    Mot de passe de connexion à la base de données\n"
+    printf " -h                         Affiche ce message.\n"
+}
+ 
+
+PACKAGE=0
+WITH_CONFIG=0
+CONFIG_ENV=prod
+
+# Propriétés de configuration obligatoires et définissables par les options du script
+# {
+PRODIGE_DOMAIN=
+OVERRIDES_JDBC_DATABASE=
+OVERRIDES_JDBC_USERNAME=
+OVERRIDES_JDBC_PASSWORD=
+# }
+
+options=$(getopt -o:cphe:H:D:U:P: -l help,config,package,env:,host:,dbname:,dbuser:,dbpwd: -- "$@")
+if [[ ! $options ]]
+then
+    # something went wrong, getopt will put out an error message for us
+    exit 1
+fi
+
+eval set -- $options
+while [ $# -gt 0 ]
+do
+  case "$1" in
+    (-h|--help)    usage;                      exit 0;;
+    (-c|--config)  WITH_CONFIG=1;;
+    (-p|--package) PACKAGE=1;;
+    (-e|--env)     CONFIG_ENV=$2;              shift;;
+    (-H|--host)    PRODIGE_DOMAIN=$2;          shift;;
+    (-D|--dbname)  OVERRIDES_JDBC_DATABASE=$2; shift;;
+    (-U|--dbuser)  OVERRIDES_JDBC_USERNAME=$2; shift;;
+    (-P|--dbpwd)   OVERRIDES_JDBC_PASSWORD=$2; shift;;
+    (*)            break;;
+  esac
+  shift
+done
+
+CURDIR=`pwd`
+
+DEFAULT_CONFIG=${CURDIR}/config-overrides.properties.${CONFIG_ENV}
+
+GENERATED_CONFIG=${CURDIR}/config-overrides.properties
+GENERATED_OVERRIDES=${CURDIR}/config-overrides-prod.xml
+
+INITIAL_CONFIG=${CURDIR}/src/main/webapp/WEB-INF/config-overrides.properties
+INITIAL_OVERRIDES=${CURDIR}/src/main/webapp/WEB-INF/config-overrides-prod.xml
+
+cp ${INITIAL_OVERRIDES} ${GENERATED_OVERRIDES}
+cp ${INITIAL_CONFIG} ${GENERATED_CONFIG}
+cp ${INITIAL_OVERRIDES} ${GENERATED_OVERRIDES}.initial
+cp ${INITIAL_CONFIG} ${GENERATED_CONFIG}.initial
+cp ${DEFAULT_CONFIG} ${DEFAULT_CONFIG}.last
+
+
+if [[ -f ${DEFAULT_CONFIG} ]]
+then
+  source <(grep = ${DEFAULT_CONFIG})
+fi;
+if [[ "${WITH_CONFIG}" -eq "1" ]] 
+then
+  echo "Configuration de l'installation : "
+fi;
+
+
+old_IFS=$IFS  # sauvegarde du séparateur de champ  
+IFS=$'\n'     # nouveau séparateur de champ, le caractère fin de ligne  
+for line in `cat ${DEFAULT_CONFIG}`
+do
+
+  if [[ $line =~ ^([a-z_A-Z]+)=(.*)$ ]]
+  then
+    # nom de la variable de config
+    varname=${BASH_REMATCH[1]}
+    # valeur extraite de la lecture du fichier de config par défaut (donc déjà calculée, en cas de variables imbriquées)
+    initial_value=${!varname}
+
+    # evaluation dynamique de la valeur par défaut de config (pour prendre en compte les nouvelles valeurs affectées aux variables imbriquées)
+    default_value=`eval "echo ${BASH_REMATCH[2]}"`
+
+    VARNAME=`echo ${varname^^}`
+    if [ -v "${VARNAME}" -a -n "${!VARNAME}" ]; then
+      echo "Set ${varname} to ${!VARNAME}"
+      default_value="${!VARNAME}"
+    fi;
+
+    # configuration nécessaire si aucun valeur n'est définit sur les paramètres obligatoires
+    if [ -v "${VARNAME}" -a  -z "${default_value}" ]; then
+      WITH_CONFIG=1
+    fi;
+
+    if [[ "${WITH_CONFIG}" -eq "1" ]] 
+    then
+      echo "${varname} [ ${default_value} ] ?"
+      read value
+      value=${value:-${default_value}}
+    else
+      value=${default_value}
+    fi
+
+    # génération de la config d'installation à intégrer à l'overlay
+    sed -i 's/[$][{]'"${varname}"'[}]/'"${value/\//\\\/}"'/g' ${GENERATED_OVERRIDES}
+    sed -i 's/[$][{]'"${varname}"'[}]/'"${value/\//\\\/}"'/g' ${GENERATED_CONFIG}
+
+    # mémorisation de la dernière config d'installation (NB : conserve les variables imbriquées si les nouvelles valeurs correspondent à la formule)
+    if [ "${value}" = "${default_value}" ]; then pattern="${initial_value}"; else pattern="${BASH_REMATCH[2]}"; fi
+    pattern=`echo "${pattern/\//\\\/}"` && pattern=`echo "${pattern/[$]/[$]}"` && pattern=`echo "${pattern/[{]/[{]}"` && pattern=`echo "${pattern/[\}]/[\}]}"`
+    sed -i 's/'"${varname}"'='"${pattern}"'/'"${varname}"'='"${value/\//\\\/}"'/g' ${DEFAULT_CONFIG}.last
+
+    # change la valeur de la variable dans l'environnement bash
+    eval ${varname}=${value}
+  elif [[ "${WITH_CONFIG}" -eq "1" ]] 
+  then
+    echo $line
+  fi;
+done
+IFS=${old_IFS}
+
+echo ""
+echo "Le fichier ${DEFAULT_CONFIG}.last a été généré avec les dernières valeurs de remplacement de l'installation."
+echo "ASTUCE : Si c'est souhaité, le renommer en ${DEFAULT_CONFIG} pour qu'il devienne la config par défaut de l'installation "
+echo ""
+
+if [[ "${PACKAGE}" -eq "1" ]] 
+then
+  sudo systemctl stop tomcat8
+  cd /home/devperso/tomcat/prodige41
+  rm geosource
+  cd ${CURDIR}
+  cp ${GENERATED_CONFIG} ${INITIAL_CONFIG} && cp ${GENERATED_OVERRIDES} ${INITIAL_OVERRIDES} && ./mvnw clean package && mv ${GENERATED_CONFIG}.initial ${INITIAL_CONFIG} && mv ${GENERATED_OVERRIDES}.initial ${INITIAL_OVERRIDES}
+
+  cd /home/devperso/tomcat/prodige41
+  ln -s ${CURDIR}/target/geosource-overlay-3.4.1-0 geosource
+else
+  sudo systemctl stop tomcat8
+  cp -R ${CURDIR}/src/main/webapp/* ${CURDIR}/target/geosource-overlay-3.4.1-0/.
+  cp ${GENERATED_CONFIG} ${CURDIR}/target/geosource-overlay-3.4.1-0/WEB-INF/`basename ${INITIAL_CONFIG}`
+  cp ${GENERATED_OVERRIDES} ${CURDIR}/target/geosource-overlay-3.4.1-0/WEB-INF/`basename ${INITIAL_OVERRIDES}`
+fi;
+cd ${CURDIR}
+rm ${GENERATED_CONFIG}.initial
+rm ${GENERATED_OVERRIDES}.initial
+sudo systemctl restart tomcat8 && tail -f /var/log/tomcat8/catalina.out
diff --git a/initialize.sql b/initialize.sql
new file mode 100644
index 0000000000000000000000000000000000000000..067a5ddb5972c93e9029c5994a8bfa1505e23868
--- /dev/null
+++ b/initialize.sql
@@ -0,0 +1,3 @@
+ALTER TABLE Settings ALTER COLUMN value TYPE text;
+
+DELETE FROM Settings where name='ui/config';
diff --git a/maven/maven-wrapper.jar b/maven/maven-wrapper.jar
new file mode 100644
index 0000000000000000000000000000000000000000..18ba302c65c4f71f57e0daa0ea1b59cb85759b5c
Binary files /dev/null and b/maven/maven-wrapper.jar differ
diff --git a/maven/maven-wrapper.properties b/maven/maven-wrapper.properties
new file mode 100644
index 0000000000000000000000000000000000000000..8c733ad9d551c0680d2da59e2d0b6bdf6f24715d
--- /dev/null
+++ b/maven/maven-wrapper.properties
@@ -0,0 +1,3 @@
+#Maven download properties
+#Tue Nov 17 21:07:15 MST 2015
+distributionUrl=https\://repository.apache.org/content/repositories/releases/org/apache/maven/apache-maven/3.3.3/apache-maven-3.3.3-bin.zip
diff --git a/mvnw b/mvnw
new file mode 100755
index 0000000000000000000000000000000000000000..2275ac764762b2f8449ab932c6a4578bdf31a01a
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,234 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+#   JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+#   M2_HOME - location of maven2's installed home dir
+#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
+#     e.g. to debug Maven itself, use
+#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+  if [ -f /etc/mavenrc ] ; then
+    . /etc/mavenrc
+  fi
+
+  if [ -f "$HOME/.mavenrc" ] ; then
+    . "$HOME/.mavenrc"
+  fi
+
+fi
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  MINGW*) mingw=true;;
+  Darwin*) darwin=true
+           #
+           # Look for the Apple JDKs first to preserve the existing behaviour, and then look
+           # for the new JDKs provided by Oracle.
+           # 
+           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
+             #
+             # Apple JDKs
+             #
+             export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
+           fi
+           
+           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
+             #
+             # Apple JDKs
+             #
+             export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
+           fi
+             
+           if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
+             #
+             # Oracle JDKs
+             #
+             export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
+           fi           
+
+           if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
+             #
+             # Apple JDKs
+             #
+             export JAVA_HOME=`/usr/libexec/java_home`
+           fi
+           ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+  if [ -r /etc/gentoo-release ] ; then
+    JAVA_HOME=`java-config --jre-home`
+  fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+  ## resolve links - $0 may be a link to maven's home
+  PRG="$0"
+
+  # need this for relative symlinks
+  while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+      PRG="$link"
+    else
+      PRG="`dirname "$PRG"`/$link"
+    fi
+  done
+
+  saveddir=`pwd`
+
+  M2_HOME=`dirname "$PRG"`/..
+
+  # make it fully qualified
+  M2_HOME=`cd "$M2_HOME" && pwd`
+
+  cd "$saveddir"
+  # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --unix "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Migwn, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME="`(cd "$M2_HOME"; pwd)`"
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+  # TODO classpath?
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+  javaExecutable="`which javac`"
+  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+    # readlink(1) is not available as standard on Solaris 10.
+    readLink=`which readlink`
+    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+      if $darwin ; then
+        javaHome="`dirname \"$javaExecutable\"`"
+        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+      else
+        javaExecutable="`readlink -f \"$javaExecutable\"`"
+      fi
+      javaHome="`dirname \"$javaExecutable\"`"
+      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+      JAVA_HOME="$javaHome"
+      export JAVA_HOME
+    fi
+  fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD="`which java`"
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly." >&2
+  echo "  We cannot execute $JAVACMD" >&2
+  exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+  echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  [ -n "$M2_HOME" ] &&
+    M2_HOME=`cygpath --path --windows "$M2_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  [ -n "$CLASSPATH" ] &&
+    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+fi
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+  local basedir=$(pwd)
+  local wdir=$(pwd)
+  while [ "$wdir" != '/' ] ; do
+    wdir=$(cd "$wdir/.."; pwd)
+    if [ -d "$wdir"/.mvn ] ; then
+      basedir=$wdir
+      break
+    fi
+  done
+  echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+  if [ -f "$1" ]; then
+    echo "$(tr -s '\n' ' ' < "$1")"
+  fi
+}
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# Provide a "standardized" way to retrieve the CLI args that will 
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER="org.apache.maven.wrapper.MavenWrapperMain"
+
+exec "$JAVACMD" \
+     $MAVEN_OPTS \
+     "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+  -classpath \
+"$MAVEN_PROJECTBASEDIR/maven/maven-wrapper.jar" \
+  ${WRAPPER_LAUNCHER} "$@"
diff --git a/mvnw.bat b/mvnw.bat
new file mode 100755
index 0000000000000000000000000000000000000000..f8ede7fc3cd684164f401c5458385eed03b6a295
--- /dev/null
+++ b/mvnw.bat
@@ -0,0 +1,174 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements.  See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership.  The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License.  You may obtain a copy of the License at
+@REM
+@REM    http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied.  See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM     e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto chkMHome
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:chkMHome
+if not "%M2_HOME%"=="" goto valMHome
+
+SET "M2_HOME=%~dp0.."
+if not "%M2_HOME%"=="" goto valMHome
+
+echo.
+echo Error: M2_HOME not found in your environment. >&2
+echo Please set the M2_HOME variable in your environment to match the >&2
+echo location of the Maven installation. >&2
+echo.
+goto error
+
+:valMHome
+
+:stripMHome
+if not "_%M2_HOME:~-1%"=="_\" goto checkMCmd
+set "M2_HOME=%M2_HOME:~0,-1%"
+goto stripMHome
+
+:checkMCmd
+if exist "%M2_HOME%\bin\mvn.cmd" goto init
+
+echo.
+echo Error: M2_HOME is set to an invalid directory. >&2
+echo M2_HOME = "%M2_HOME%" >&2
+echo Please set the M2_HOME variable in your environment to match the >&2
+echo location of the Maven installation >&2
+echo.
+goto error
+@REM ==== END VALIDATION ====
+
+:init
+
+set MAVEN_CMD_LINE_ARGS=%*
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\maven\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS%
+
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/pom.xml b/pom.xml
new file mode 100755
index 0000000000000000000000000000000000000000..b25b70d32b26b2df5d93640b5c5946fc6e07fd79
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd ">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>prodige41.alkante.al</groupId>
+    <artifactId>geosource-overlay</artifactId>
+    <packaging>war</packaging>
+    <version>3.4.1-0</version>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.geonetwork-opensource</groupId>
+            <artifactId>geonetwork</artifactId>
+            <version>3.4.1-0</version>
+            <type>war</type>
+            <scope>runtime</scope>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v304/migrate-default.sql b/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v304/migrate-default.sql
new file mode 100644
index 0000000000000000000000000000000000000000..babedaf56363c40dcb72564f80e26b1dc576036d
--- /dev/null
+++ b/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v304/migrate-default.sql
@@ -0,0 +1,3 @@
+UPDATE Settings SET value='3.0.4' WHERE name='system/platform/version';
+UPDATE Settings SET value='0' WHERE name='system/platform/subVersion';
+--ALTER TABLE HarvesterData RENAME COLUMN "key" TO keyvalue;
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v330/migrate-default.sql b/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v330/migrate-default.sql
new file mode 100644
index 0000000000000000000000000000000000000000..e67503ba64cb408fb773cd2bd7165ea996536804
--- /dev/null
+++ b/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v330/migrate-default.sql
@@ -0,0 +1,64 @@
+ALTER TABLE Settings alter column "value" type text;
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES
+  ('ui/config', '{"langDetector":{"fromHtmlTag":false,"regexp":"^/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+/([a-z]{3})/","default":"eng"},"nodeDetector":{"regexp":"^/[a-zA-Z0-9_-]+/([a-zA-Z0-9_-]+)/[a-z]{3}/","default":"srv"},"mods":{"header":{"enabled":true,"languages":{"eng":"en","dut":"du","fre":"fr","ger":"ge","kor":"ko","spa":"es","cze":"cz","cat":"ca","fin":"fi","ice":"is"}},"home":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/home"},"search":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/search","hitsperpageValues":[10,50,100],"paginationInfo":{"hitsPerPage":20},"facetsSummaryType":"details","facetConfig":[],"facetTabField": "","filters":{},"sortbyValues":[{"sortBy":"relevance","sortOrder":""},{"sortBy":"changeDate","sortOrder":""},{"sortBy":"title","sortOrder":"reverse"},{"sortBy":"rating","sortOrder":""},{"sortBy":"popularity","sortOrder":""},{"sortBy":"denominatorDesc","sortOrder":""},{"sortBy":"denominatorAsc","sortOrder":"reverse"}],"sortBy":"relevance","resultViewTpls":[{"tplUrl":"../../catalog/components/search/resultsview/partials/viewtemplates/grid.html","tooltip":"Grid","icon":"fa-th"}],"resultTemplate":"../../catalog/components/search/resultsview/partials/viewtemplates/grid.html","formatter":{"list":[{"label":"full","url":"../api/records/{{md.getUuid()}}/formatters/xsl-view?root=div&view=advanced"}]},"linkTypes":{"links":["LINK","kml"],"downloads":["DOWNLOAD"],"layers":["OGC"],"maps":["ows"]},"isFilterTagsDisplayedInSearch":false},"map":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/map","is3DModeAllowed":true,"isSaveMapInCatalogAllowed":true,"bingKey":"AnElW2Zqi4fI-9cYx1LHiQfokQ9GrNzcjOh_p_0hkO1yo78ba8zTLARcLBIf8H6D","storage":"sessionStorage","map":"../../map/config-viewer.xml","listOfServices":{"wms":[],"wmts":[]},"useOSM":true,"context":"","projection":"EPSG:3857","projectionList":[{"code":"EPSG:4326","label":"WGS84(EPSG:4326)"},{"code":"EPSG:3857","label":"Googlemercator(EPSG:3857)"}],"disabledTools":{"processes":true}},"editor":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.edit,"isUserRecordsOnly": false","isFilterTagsDisplayed":false},"admin":{"enabled":true,"appUrl":"../../srv/{{lang}}/admin.console"},"signin":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.signin"},"signout":{"appUrl":"../../signout"}}}', 3, 10000, 'n');
+
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES
+  ('system/csw/enabledWhenIndexing', 'true', 2, 1211, 'y');
+
+DELETE FROM Settings WHERE  name = 'map/is3DModeAllowed';
+DELETE FROM Settings WHERE  name = 'map/isMapViewerEnabled';
+DELETE FROM Settings WHERE  name = 'map/config';
+DELETE FROM Settings WHERE  name = 'map/proj4js';
+DELETE FROM Settings WHERE  name = 'map/isSaveMapInCatalogAllowed';
+DELETE FROM Settings WHERE  name = 'map/bingKey';
+
+DELETE FROM Settings WHERE name like 'system/shib%';
+
+
+INSERT INTO Selections (id, name, isWatchable) VALUES (0, 'PreferredList', 'n');
+INSERT INTO Selections (id, name, isWatchable) VALUES (1, 'WatchList', 'y');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'ara','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'ara','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'cat','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'cat','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'chi','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'chi','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'dut','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'dut','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'eng','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'eng','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'fin','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'fin','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'fre','Fiches préférées');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'fre','Fiches observées');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'ger','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'ger','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'ita','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'ita','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'nor','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'nor','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'pol','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'pol','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'por','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'por','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'rus','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'rus','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'spa','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'spa','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'tur','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'tur','Watch list');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (0,'vie','Preferred records');
+INSERT INTO SelectionsDes (iddes, langid, label) VALUES (1,'vie','Watch list');
+
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES ('system/userFeedback/lastNotificationDate', '', 0, 1912, 'y');
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES ('metadata/import/restrict', '', 0, 11000, 'y');
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES ('system/xlinkResolver/referencedDeletionAllowed', 'true', 2, 2313, 'n');
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES ('metadata/backuparchive/enable', 'false', 2, 12000, 'n');
+
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES ('system/userSelfRegistration/recaptcha/enable', 'false', 2, 1910, 'n');
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES ('system/userSelfRegistration/recaptcha/publickey', '', 0, 1910, 'n');
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES ('system/userSelfRegistration/recaptcha/secretkey', '', 0, 1910, 'y');
+
+
+UPDATE Settings SET value='3.3.0' WHERE name='system/platform/version';
+UPDATE Settings SET value='SNAPSHOT' WHERE name='system/platform/subVersion';
diff --git a/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v340/migrate-default.sql b/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v340/migrate-default.sql
new file mode 100644
index 0000000000000000000000000000000000000000..0cdc729571e531df6f344cf9c4e49d3b246f9a6a
--- /dev/null
+++ b/src/main/webapp/WEB-INF/classes/setup/sql/migrate/v340/migrate-default.sql
@@ -0,0 +1,10 @@
+DELETE FROM Settings WHERE  name = 'metadata/editor/schemaConfig';
+
+--INSERT INTO Settings (name, value, datatype, position, internal) VALUES
+--  ('ui/config', '{"langDetector":{"fromHtmlTag":false,"regexp":"^/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+/([a-z]{3})/","default":"eng"},"nodeDetector":{"regexp":"^/[a-zA-Z0-9_-]+/([a-zA-Z0-9_-]+)/[a-z]{3}/","default":"srv"},"mods":{"header":{"enabled":true,"languages":{"eng":"en","dut":"nl","fre":"fr","ger":"ge","kor":"ko","spa":"es","cze":"cz","cat":"ca","fin":"fi","ice":"is", "rus": "ru", "chi": "zh"}},"home":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/home"},"search":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/search","hitsperpageValues":[10,50,100],"paginationInfo":{"hitsPerPage":20},"facetsSummaryType":"details","facetConfig":[],"facetTabField":"","filters":{},"sortbyValues":[{"sortBy":"relevance","sortOrder":""},{"sortBy":"changeDate","sortOrder":""},{"sortBy":"title","sortOrder":"reverse"},{"sortBy":"rating","sortOrder":""},{"sortBy":"popularity","sortOrder":""},{"sortBy":"denominatorDesc","sortOrder":""},{"sortBy":"denominatorAsc","sortOrder":"reverse"}],"sortBy":"relevance","resultViewTpls":[{"tplUrl":"../../catalog/components/search/resultsview/partials/viewtemplates/grid.html","tooltip":"Grid","icon":"fa-th"}],"resultTemplate":"../../catalog/components/search/resultsview/partials/viewtemplates/grid.html","formatter":{"list":[{"label":"full","url":"../api/records/{{uuid}}/formatters/xsl-view?root=div&view=advanced"}]},"grid":{"related":["parent","children","services","datasets"]},"linkTypes":{"links":["LINK","kml"],"downloads":["DOWNLOAD"],"layers":["OGC"],"maps":["ows"]},"isFilterTagsDisplayedInSearch":false},"map":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/map","is3DModeAllowed":true,"isSaveMapInCatalogAllowed":true,"isExportMapAsImageEnabled":true,"bingKey":"AnElW2Zqi4fI-9cYx1LHiQfokQ9GrNzcjOh_p_0hkO1yo78ba8zTLARcLBIf8H6D","storage":"sessionStorage","map":"../../map/config-viewer.xml","listOfServices":{"wms":[],"wmts":[]},"useOSM":true,"context":"","layer":{"url":"http://www2.demis.nl/mapserver/wms.asp?","layers":"Countries","version":"1.1.1"},"projection":"EPSG:3857","projectionList":[{"code":"EPSG:4326","label":"WGS84(EPSG:4326)"},{"code":"EPSG:3857","label":"Googlemercator(EPSG:3857)"}],"disabledTools":{"processes":false,"addLayers":false,"layers":false,"filter":false,"contexts":false,"print":false,"mInteraction":false,"graticule":false,"syncAllLayers":false,"drawVector":false},"searchMapLayers":[],"viewerMapLayers":[]},"editor":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.edit","isUserRecordsOnly":false,"isFilterTagsDisplayed":false,"createPageTpl": "../../catalog/templates/editor/new-metadata-horizontal.html"},"admin":{"enabled":true,"appUrl":"../../srv/{{lang}}/admin.console"},"signin":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.signin"},"signout":{"appUrl":"../../signout"}}}', 3, 10000, 'n');
+update settings set value = '{"langDetector":{"fromHtmlTag":false,"regexp":"^/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+/([a-z]{3})/","default":"eng"},"nodeDetector":{"regexp":"^/[a-zA-Z0-9_-]+/([a-zA-Z0-9_-]+)/[a-z]{3}/","default":"srv"},"mods":{"header":{"enabled":true,"languages":{"eng":"en","dut":"nl","fre":"fr","ger":"ge","kor":"ko","spa":"es","cze":"cz","cat":"ca","fin":"fi","ice":"is", "rus": "ru", "chi": "zh"}},"home":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/home"},"search":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/search","hitsperpageValues":[10,50,100],"paginationInfo":{"hitsPerPage":20},"facetsSummaryType":"details","facetConfig":[],"facetTabField":"","filters":{},"sortbyValues":[{"sortBy":"relevance","sortOrder":""},{"sortBy":"changeDate","sortOrder":""},{"sortBy":"title","sortOrder":"reverse"},{"sortBy":"rating","sortOrder":""},{"sortBy":"popularity","sortOrder":""},{"sortBy":"denominatorDesc","sortOrder":""},{"sortBy":"denominatorAsc","sortOrder":"reverse"}],"sortBy":"relevance","resultViewTpls":[{"tplUrl":"../../catalog/components/search/resultsview/partials/viewtemplates/grid.html","tooltip":"Grid","icon":"fa-th"}],"resultTemplate":"../../catalog/components/search/resultsview/partials/viewtemplates/grid.html","formatter":{"list":[{"label":"full","url":"../api/records/{{uuid}}/formatters/xsl-view?root=div&view=advanced"}]},"grid":{"related":["parent","children","services","datasets"]},"linkTypes":{"links":["LINK","kml"],"downloads":["DOWNLOAD"],"layers":["OGC"],"maps":["ows"]},"isFilterTagsDisplayedInSearch":false},"map":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.search#/map","is3DModeAllowed":true,"isSaveMapInCatalogAllowed":true,"isExportMapAsImageEnabled":true,"bingKey":"AnElW2Zqi4fI-9cYx1LHiQfokQ9GrNzcjOh_p_0hkO1yo78ba8zTLARcLBIf8H6D","storage":"sessionStorage","map":"../../map/config-viewer.xml","listOfServices":{"wms":[],"wmts":[]},"useOSM":true,"context":"","layer":{"url":"http://www2.demis.nl/mapserver/wms.asp?","layers":"Countries","version":"1.1.1"},"projection":"EPSG:3857","projectionList":[{"code":"EPSG:4326","label":"WGS84(EPSG:4326)"},{"code":"EPSG:3857","label":"Googlemercator(EPSG:3857)"}],"disabledTools":{"processes":false,"addLayers":false,"layers":false,"filter":false,"contexts":false,"print":false,"mInteraction":false,"graticule":false,"syncAllLayers":false,"drawVector":false},"searchMapLayers":[],"viewerMapLayers":[]},"editor":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.edit","isUserRecordsOnly":false,"isFilterTagsDisplayed":false,"createPageTpl": "../../catalog/templates/editor/new-metadata-horizontal.html"},"admin":{"enabled":true,"appUrl":"../../srv/{{lang}}/admin.console"},"signin":{"enabled":true,"appUrl":"../../srv/{{lang}}/catalog.signin"},"signout":{"appUrl":"../../signout"}}}',  datatype=3, position=10000, internal= 'n' where name='ui/config';
+
+INSERT INTO Settings (name, value, datatype, position, internal) VALUES ('system/metadata/validation/removeSchemaLocation', 'false', 2, 9170, 'n');
+
+UPDATE Settings SET value='3.4.0' WHERE name='system/platform/version';
+UPDATE Settings SET value='SNAPSHOT' WHERE name='system/platform/subVersion';
diff --git a/src/main/webapp/WEB-INF/config-db/jdbc.properties b/src/main/webapp/WEB-INF/config-db/jdbc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..913853ee9ce43e1f434c4b82588627bcda412382
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-db/jdbc.properties
@@ -0,0 +1,45 @@
+#
+# Copyright (C) 2001-2016 Food and Agriculture Organization of the
+# United Nations (FAO-UN), United Nations World Food Programme (WFP)
+# and United Nations Environment Programme (UNEP)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or (at
+# your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+#
+# Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+# Rome - Italy. email: geonetwork@osgeo.org
+#
+
+jdbc.username=${overrides.jdbc.username}
+jdbc.password=${overrides.jdbc.password}
+jdbc.database=${overrides.jdbc.database}
+jdbc.host=localhost
+jdbc.port=5432
+jdbc.basic.removeAbandoned=true
+jdbc.basic.removeAbandonedTimeout=120
+jdbc.basic.logAbandoned=true
+jdbc.basic.maxActive=33
+jdbc.basic.maxIdle=${jdbc.basic.maxActive}
+jdbc.basic.initialSize=${jdbc.basic.maxActive}
+jdbc.basic.maxWait=200
+jdbc.basic.testOnBorrow=true
+jdbc.basic.timeBetweenEvictionRunsMillis=10000
+jdbc.basic.minEvictableIdleTimeMillis=1800000
+jdbc.basic.testWhileIdle=true
+jdbc.basic.numTestsPerEvictionRun=3
+jdbc.basic.poolPreparedStatements=true
+jdbc.basic.maxOpenPreparedStatements=1200
+jdbc.basic.validationQuery=SELECT 1
+jdbc.basic.defaultReadOnly=false
+jdbc.basic.defaultAutoCommit=false
diff --git a/src/main/webapp/WEB-INF/config-gui.xml b/src/main/webapp/WEB-INF/config-gui.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fecefbb5e9cb5870d5eb36dfc6b18e6ac08f77cc
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-gui.xml
@@ -0,0 +1,315 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+ Define here all GUI specific parameters to be used in XSL stylesheet.
+ Each parameter could be retrieved using /root/gui/config/your-parameter-key xpath.
+ Updating a parameter don't need a restart (but need an XSL cache refresh if XSL caching is on).
+-->
+<config>
+ 
+ <!-- Client configuration in order to redirect to default UI 
+  (ie. main.home service) or to another custom client.
+  
+  For widget mode:
+  * parameters attribute is appended to URL. Use it to define a default map extent for example or change default language.
+  * createParameter attribute is appended to URL when the application is called from the administration > New metadata menu.
+  * stateId attribute is the identifier of the search form (if stateful) in the application. It is used to build quick links section in the administration.
+ -->
+ 
+    
+    <client type="redirect" widget="true" url="catalog.search" createParameter="#create" stateId="s"/>
+ 
+ <!-- Classic interface using the xslt layout-templates -->
+ <!-- <client type="redirect" widget="false" url="main.home" parameters="" stateId="" createParameter=""/> -->
+ <!-- Widget client with tabbed interface (metadata documents open in tab) -->
+ <!--<client type="redirect" widget="true" url="tabsearch" createParameter="#create" stateId="s"/>-->
+ <!-- Widget client with sliding panel interface (metadata records open in a window) -->
+ <!--<client type="redirect" widget="true" url="find" parameters="" createParameter="#create" stateId="s"/>-->
+ <!-- As above but with extra parameters set: custom extent in debug mode in french --> 
+ 
+ <!-- Comment out languages to hide them
+ from language selector. -->
+ <languages>
+     <ara/>
+     <cat/>
+     <chi/>
+     <dut/>
+     <eng/>
+     <fin/>
+     <fre/>
+     <ger/>
+     <ita/>
+     <nor/>
+     <pol/>
+     <por/>
+     <rus/>
+     <spa/>
+     <tur/>
+ </languages>
+ 
+ 
+ <map>
+  <!-- Configuration for map displayed in metadata sheet
+  (view or edit mode). -->
+  <metadata>
+   <width>100%</width>
+   <height>300px</height>
+  </metadata>
+  <proj>
+   <!-- List all needed projections for view and editing maps.
+    If more than one projection is available, bounding box
+    coordinates will be displayed in the list of available projection.
+    
+    Default attribute define the default projection to use. Do
+    not define more than one default projection.
+    
+   -->
+   <crs code="EPSG:4326" default="1" edit="1"/><!-- WGS84 is mandatory because ISO store it by default in LatLong-->
+      <crs code="EPSG:900913" def="+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs "/>
+      <!--
+       <crs code="EPSG:4258" def="+proj=longlat +ellps=GRS80 +no_defs"/>
+       <crs code="EPSG:3786" edit="1" def="+proj=eqc +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371007 +b=6371007 +units=m +no_defs "></crs>
+   <crs code="EPSG:27572" edit="1" def="+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs"/>
+   -->
+  </proj>
+
+  <!-- Setting used in the new UI (html5ui) to configure the layers in the maps. TODO: Use also in classic UI
+
+       - If this setting is true OSM is used in the map viewers.
+       - If this setting is false, html5ui uses the layers configured in /geonetwork/maps/mapviewer.wmc
+       You can configure your custom WMS layers in that file.
+  -->
+  <osm_map>true</osm_map>
+ </map>
+
+
+ <!-- Configuration for small map search 
+    mapSearch/@options:     OpenLayers options hash as expected in new OpenLayers.Map(div, options) 
+       
+    layers/layer: 
+        server      url of the server
+        tocName     layer name in map
+        params      OpenLayers params hash as expected in new OpenLayers.Layer.WMS(name, url, params, options)
+        options     OpenLayers options hash as expected in new OpenLayers.Layer.WMS(name, url, params, options)
+ -->
+  <mapSearch options="{projection: 'EPSG:4326', maxExtent: new OpenLayers.Bounds(-180,-90,180,90), units: 'degrees', restrictedExtent: new OpenLayers.Bounds(-180,-90,180,90)}">
+  <layers>
+    <layer server="http://localhost:8080/geoserver/wms" tocName="Borders"  params="{layers: 'gn:ne_50m_boundary_da,gn:ne_50m_boundary_lines_land,gn:ne_50m_coastline', transparent: 'true', format: 'image/png'}"  options="{}" />
+    <layer server="http://localhost:8080/geoserver/wms" tocName="Ortophoto" params="{layers: 'gn:world', format: 'image/jpeg'}" options="{isBaseLayer: true}" />
+  </layers>
+ </mapSearch>
+ 
+  <!-- Configuration for map viewer
+    mapViewer/@options:     OpenLayers options hash as expected in new OpenLayers.Map(div, options)
+
+    proj/crs:       Projections used in mapViewer
+        code        CSR code
+        default     Indicates the default CRS (values: 0, 1)
+        
+    layers/layer: 
+        server      url of the server
+        tocName     layer name in map
+        params      OpenLayers params hash as expected in new OpenLayers.Layer.WMS(name, url, params, options)
+        options     OpenLayers options hash as expected in new OpenLayers.Layer.WMS(name, url, params, options)
+ -->
+  <mapViewer options="{projection: 'EPSG:4326', maxExtent: new OpenLayers.Bounds(-180,-90,180,90), units: 'degrees', restrictedExtent: new OpenLayers.Bounds(-180,-90,180,90)}">
+  <layers>
+    <layer server="http://localhost:8080/geoserver/wms" tocName="Borders"  params="{layers: 'gn:ne_50m_boundary_da,gn:ne_50m_boundary_lines_land,gn:ne_50m_coastline', transparent: 'true', format: 'image/png'}"  options="{}" />
+    <layer server="http://localhost:8080/geoserver/wms" tocName="Ortophoto" params="{layers: 'gn:world', format: 'image/jpeg'}" options="{isBaseLayer: true}" />
+  </layers>
+  <scales values="[7500000, 5000000, 2500000,  1000000, 750000, 500000, 250000, 100000, 75000, 50000, 25000, 10000, 7500, 5000, 2500, 1000]" />
+  <!--scales values="[]" /-->
+  <proj>
+    <crs code="EPSG:4326" default="1" name="WGS84 (lat/lon)" />
+  </proj>  
+  <servers>
+    <server name="NASA JPL OneEarth Web Mapping Server (WMS)" url="http://wms.jpl.nasa.gov/wms.cgi?" />
+    <server name="NASA Earth Observations (NEO) WMS" url="http://neowms.sci.gsfc.nasa.gov/wms/wms?" />
+    <server name="DEMIS World Map Server" url="http://www2.demis.nl/mapserver/wms.asp?" />
+    <server name="Geoserver" url="http://localhost:8080/geoserver/wms?" />
+  </servers>
+ </mapViewer>
+ 
+  <!-- 
+    Google translation service (http://code.google.com/apis/language/translate/overview.html):
+    Set this parameter to "1" to activate google translation service.
+    Google AJAX API Terms of Use http://code.google.com/apis/ajaxlanguage/terms.html
+    
+    WARNING: "The Google Translate API has been officially deprecated as of May 26, 2011...
+    the number of requests you may make per day will be limited and 
+    the API will be shut off completely on December 1, 2011".
+  -->
+ <editor-google-translate>0</editor-google-translate>
+ 
+ 
+ <!-- Metadata relation information
+ Comment out this element to turn off metadata relation display in metadata
+ edit and view mode. 
+ -->
+ <editor-metadata-relation/>
+ <!-- Display error only when loading validation report 
+  <editor-validation-errors-only-on-load/>-->
+ 
+  <!-- Display the geopublisher option for all updloaded files-->
+ 	<editor-geopublisher/>
+ 
+ 
+ <!-- Display metadata tabs in edit and view mode. 
+  ISO and INSPIRE view only available for ISO19139 records.
+  Default view is always visible.
+  
+  Use the flat attribute in order to display elements in simple mode 
+  (ie. could not access to all elements defined in the schema)
+  
+  Use the default attribute in order to use this view in search result panel.
+  It is recommended to use the simple or inspire view because user will not
+  have access to section tab switcher.
+
+  Important:
+    * Visibility of views is now configured in GUI, inside System configuration > Metadata views
+    * Extra/advanced attributes of views like flat or other specific attributes (see INSPIRE panel) are configured in this file
+
+ -->
+ <metadata-tab>
+   <!--   In flat mode, define custom configuration for a view:
+     * ancestorException: define which non existing children of the exception must be displayed (eg. use spatialResolution 
+     in order to be able to add spatialResolution in this view mode. spatialResolution is a complex element which provide a 
+     selection)
+     * exception: define which non existing element must be displayed (eg. pointOfContact)
+     * flatException: define which element to not display using flat mode (eg. topicCategory will allow to remove
+     or add element of that type even in flat mode but the element will be boxed).
+    -->
+  <simple flat="true">
+		<exception schema="sensorML" for="component,input,onlineResource,electronicMailAddress,voice,facsimile,deliveryPoint,coordinate,input,date"/>
+	</simple>
+  <advanced/><!-- This view should not be removed as this is the only view to be able
+  to edit all elements defined in a schema. -->
+  <iso/>
+  <!-- This view display all INSPIRE recommended elements
+  in a view.  -->
+  <inspire flat="true">
+   	 <ancestorException schema="iso19139" for="EX_TemporalExtent,CI_Date,spatialResolution"/>
+     <exception schema="iso19139" for="result,resourceConstraints,pointOfContact,hierarchyLevel,couplingType,operatesOn,distributionInfo,distributionFormat,onLine,identifier,language,characterSet,topicCategory,serviceType,descriptiveKeywords,extent,temporalElement,geographicElement,lineage"/>
+  </inspire>
+  <xml/>
+ </metadata-tab>
+
+<!-- Define the default selection for metadata element substitutions in the editor -->
+ <editor-default-substitutions>
+    <!-- Default for gmd:language from 2 alternatives: gco:CharacterString, gmd:LanguageCode -->
+    <element name="gmd:language" default="gmd:LanguageCode" />
+ </editor-default-substitutions>
+
+ <!-- Add an option to be able to toggle all fieldsets
+  in view and edit mode. -->
+ <metadata-view-toggleTab/>
+ <metadata-show showMapPanel="true"/>
+ 
+ <!-- Actions configuration
+ -->
+ <editor-actions>
+  <!-- Action to allow editors to compute bounding box from keyword analysis. -->
+  <compute-extent-from-keyword/> 
+ </editor-actions>
+ 
+ 
+ 
+ 
+  <!-- Subtemplate configuration.
+  
+  Subtemplate only works with the GUI widget client interface.
+  The configuration allows to define the types of supported subtemplate
+  and their parent (where they can be inserted). 
+  Subtemplate are only supported for iso19139 or profile records.
+  -->
+  
+  <editor-subtemplate>
+    <mapping>
+      <subtemplate type="gmd:CI_ResponsibleParty">
+        <parent id="gmd:pointOfContact"/>
+        <parent id="gmd:userContactInfo"/>
+        <parent id="gmd:distributorContact"/>
+        <parent id="gmd:citedResponsibleParty"/>
+        <parent id="gmd:contact"/>
+        <!--
+          TODO : gmd:source could be find in
+          LI_Lineage an in MD_ExtendedElementInformation_Type
+          <parent id="gmd:source"/>
+          It's not a CI_ResponsibleParty in LI_Lineage
+        -->
+        <parent id="gmd:processor"/>
+        <parent id="gmd:responsibleParty"/>
+      </subtemplate>
+      <subtemplate type="gmd:EX_Extent">
+        <parent id="gmd:extent"/>
+      </subtemplate>
+      <subtemplate type="gmd:MD_Keywords">
+        <parent id="gmd:descriptiveKeywords"/>
+      </subtemplate>
+      <subtemplate type="gmd:DQ_FormatConsistency">
+        <parent id="gmd:report"/>
+      </subtemplate>
+    </mapping>
+  </editor-subtemplate>
+
+ <!-- Proxy URL to use for XHR. 
+ Check that the proxy could query allowed hosts.
+ <proxy-url>/cgi-bin/proxy.cgi</proxy-url>
+ -->
+ <proxy-url>../../proxy?</proxy-url>    
+ 
+ <!-- Display or not category information : Categories are stored in the database and a metadata
+ record could be linked to one or more categories. -->
+ <category>
+  <!-- 
+   To disable that feature
+   comment this out. This will hide categories in search criteria, search results, 
+   metadata editing and administration interface.
+  -->
+  <admin/>
+  
+  <!-- Display category as icon in search results. Categories could be :
+    * define from category table or
+    * define based on schema : iso19139 could be service or dataset and iso19110 is feature catalogue (internal category)
+  
+  mode attribute could be:
+   * all : all categories
+   * db : only from category table
+   * internal : only internal category
+  <display-in-search mode="db"/>
+  -->
+  
+ </category>
+
+ <!-- Display rating feature in search results panel. -->
+ <rating/>
+
+ <search>
+  <!-- Display or not keyword selection panel in advanced search panel 
+   <keyword-selection-panel/> 
+  -->
+	<!-- Optional user interface mechanism for editor - not ready yet
+		<use-separate-window-for-editor-viewer/>
+	-->
+	<!-- Optional user interface mechanism - displays banner functions using
+	     drop down modal box which overlays the current web page instead of 
+			 replacing it.
+			 Banner functions are 'Administration', 'Feedback', 'Links' etc
+			 The idea here is that displaying these light-weight functions in a 
+			 modal box means that the main page is not disturbed
+		<use-modal-box-for-banner-functions/>
+	-->
+	<!-- Show Remote/Distributed search tab - enables distributed/remote search
+	     using Z3950 - note that if you query the Australian Z3950 sites, you 
+			 will need to add the anzmeta plugin schema to GeoNetwork using the 
+			 add schema/profile function on the administration page. If you want to
+			 do this, you should add the schema from a URL as follows:
+			 http://geonetwork.globaldial.com/testdownloads/anzmeta.zip
+		<show-remote-search/> 
+	-->
+ </search>
+	
+	
+  <repository>
+    <thesaurus>http://raw.github.com/geonetwork/util-repository/master/thesaurus.xml</thesaurus>
+  </repository>
+</config>
diff --git a/src/main/webapp/WEB-INF/config-lucene.xml b/src/main/webapp/WEB-INF/config-lucene.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5eb10698098bbba1f5f8a7fb06820e4c0a0aa209
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-lucene.xml
@@ -0,0 +1,373 @@
+<?xml version="1.0"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<config>
+  <index>
+    <!--
+      The amount of memory to be used for buffering documents in memory.
+      48MB seems to be plenty for running at least two long
+       indexing jobs (eg. importing 20,000 records) and keeping disk
+       activity for lucene index writing to a minimum.
+    -->
+    <RAMBufferSizeMB>48.0d</RAMBufferSizeMB>
+
+    <!-- Determines how often segment indices are merged by addDocument(). -->
+    <MergeFactor>10</MergeFactor>
+
+    <!-- Default Lucene version to use (mainly for Analyzer creation). -->
+    <luceneVersion>4_9</luceneVersion>
+    <!-- How often to check if a commit is required -->
+    <commitInterval>1000</commitInterval>
+    <!-- If true then NRTManagerReopenThread will control how often the reader are reopened.
+    	 If false then the reader will be opened everytime they are obtained.  -->
+    <useNRTManagerReopenThread>true</useNRTManagerReopenThread>
+    <!--
+    	Only applies if useNRTManagerReopenThread is true
+    	Maximum time until a new  reader must be opened; this sets the upper bound
+    	on how slowly reopens may occur
+    	See NRTManagerReopenThread -->
+    <nrtManagerReopenThreadMaxStaleSec>5</nrtManagerReopenThreadMaxStaleSec>
+    <!--
+    	 Only applies if useNRTManagerReopenThread is true
+    	 Minimum time until a new reader can be opened; this sets the lower bound
+         on how quickly reopens may occur, when a caller
+         is waiting for a specific indexing change to become visible
+         See NRTManagerReopenThread-->
+    <nrtManagerReopenThreadMinStaleSec>0.1</nrtManagerReopenThreadMinStaleSec>
+  </index>
+
+
+  <!-- Search parameters are applied at search time and does not need
+    an index rebuild in order to be take into account. -->
+  <search>
+    <!-- Score parameters. Turning these parameters to true, affects performance. -->
+    <!-- Set track doc score to true if score needs to be displayed in results using
+        geonet:info/score element -->
+    <trackDocScores>false</trackDocScores>
+    <trackMaxScore>false</trackMaxScore>
+
+    <!-- Not used because no Scorer defined -->
+    <docsScoredInOrder>false</docsScoredInOrder>
+
+    <!--
+            By default Lucene compute score according to search criteria
+            and the corresponding result set and their index content.
+            In case of search with no criteria, Lucene will return top docs
+            in index order (because none are more relevant than others).
+
+            In order to change the score computation, a boost function could
+            be define. Boosting query needs to be loaded in classpath.
+            * RecencyBoostingQuery will promote recently modified documents
+    -->
+
+    <!--
+      <boostQuery name="org.fao.geonet.kernel.search.function.RecencyBoostingQuery">
+      <Param name="multiplier" type="double" value="2.0"/>
+      <Param name="maxDaysAgo" type="int" value="365"/>
+      <Param name="dayField" type="java.lang.String" value="_changeDate"/>
+      </boostQuery>
+     -->
+
+
+    <!--
+      List of fields to dump when using q service. Fields must be stored in the index.
+
+	  The attribute 'multilingualSortField' flag fields that are used for sorting also may have translations.
+	  This is the solution for http://trac.osgeo.org/geonetwork/ticket/1112
+	  This is an issue where searching by one field and sorting by another will result
+	  in an incorrect sorting. The reason is that sorted field may have multiple translations.
+	  If the document found is one language (say french) and the UI language is english then
+	  then the french translation will be used for sorting even though when the metadata
+	  is viewed by user the metadata will be in english.
+
+	  The following fields are the sort field that can have translations and therefore
+	  need special care when indexing and sorting.
+	   -->
+    <dumpFields>
+      <field name="_isTemplate" tagName="isTemplate"/>
+      <field name="_isHarvested" tagName="isHarvested"/>
+      <field name="_popularity" tagName="popularity"/>
+      <field name="_rating" tagName="rating"/>
+      <field name="_displayOrder" tagName="displayOrder"/>
+      <field name="_view" tagName="view"/>
+      <field name="_notify" tagName="notify"/>
+      <field name="_download" tagName="download"/>
+      <field name="_dynamic" tagName="dynamic"/>
+      <field name="_featured" tagName="featured"/>
+      <field name="_owner" tagName="owner"/>
+      <field name="_userinfo" tagName="userinfo"/>
+      <field name="_ownername" tagName="ownername"/>
+      <field name="_cat" tagName="category"/>
+      <field name="topicCat" tagName="topicCat"/>
+      <field name="inspirethemewithac" tagName="inspirethemewithac"/>
+      <field name="_valid" tagName="valid"/>
+      <field name="_valid_schematron-rules-geonetwork" tagName="valid_schematron-rules-geonetwork"/>
+      <field name="_valid_schematron-rules-iso" tagName="valid_schematron-rules-iso"/>
+      <field name="_valid_schematron-rules-inspire" tagName="valid_schematron-rules-inspire"/>
+      <field name="_valid_xsd" tagName="valid_xsd"/>
+      <field name="_selected" tagName="selected"/>
+      <field name="_source" tagName="source"/>
+      <field name="_status" tagName="mdStatus"/>
+      <field name="_edit" tagName="edit"/>
+      <field name="_root" tagName="root"/>
+      <field name="_title" tagName="title" multilingualSortField="true"/>
+      <field name="_docLocale" tagName="docLocale"/>
+      <field name="_locale" tagName="_locale"/>
+      <field name="_defaultTitle" tagName="defaultTitle"/>
+      <field name="createDate" tagName="creationDate"/>
+      <field name="revisionDate" tagName="revisionDate"/>
+      <field name="publicationDate" tagName="publicationDate"/>
+      <field name="abstract" tagName="abstract" multilingualSortField="true"/>
+      <field name="_defaultAbstract" tagName="defaultAbstract"/>
+      <field name="keyword" tagName="keyword"/>
+      <field name="keywordGroup" tagName="keywordGroup"/>
+      <field name="parentUuid" tagName="parentId"/>
+      <field name="type" tagName="type"/>
+      <field name="identifier" tagName="identifier"/>
+      <field name="image" tagName="image"/>
+      <field name="link" tagName="link"/>
+      <field name="format" tagName="format"/>
+      <field name="denominator" tagName="denominator"/>
+      <field name="resolution" tagName="resolution"/>
+      <field name="crs" tagName="crs"/>
+      <field name="crsDetails" tagName="crsDetails"/>
+      <field name="credit" tagName="credit"/>
+      <field name="cl_status" tagName="status"/>
+      <field name="cl_status_text" tagName="status_text"/>
+      <field name="updateFrequency" tagName="updateFrequency"/>
+      <field name="lineage" tagName="lineage"/>
+      <field name="responsibleParty" tagName="responsibleParty"/>
+      <field name="MD_LegalConstraintsOtherConstraints" tagName="legalConstraints"/>
+      <field name="MD_LegalConstraintsUseLimitation" tagName="legalConstraints"/>
+      <field name="MD_SecurityConstraintsUseLimitation" tagName="securityConstraints"/>
+      <field name="MD_ConstraintsUseLimitation" tagName="resourceConstraints"/>
+      <field name="cl_classification_text" tagName="classification_text"/>
+      <field name="cl_maintenanceAndUpdateFrequency_text"
+             tagName="maintenanceAndUpdateFrequency_text"/>
+      <field name="cl_spatialRepresentationType_text" tagName="spatialRepresentationType_text"/>
+      <field name="datasetLang" tagName="datasetLang"/>
+      <field name="mdLanguage" tagName="mdLanguage"/>
+      <field name="serviceType" tagName="serviceType"/>
+      <field name="tempExtentBegin" tagName="tempExtentBegin"/>
+      <field name="tempExtentEnd" tagName="tempExtentEnd"/>
+      <field name="geoBox" tagName="geoBox"/>
+      <field name="extentDesc" tagName="geoDesc"/>
+      <field name="geoDescCode" tagName="geoDescCode"/>
+      <field name="_indexingError" tagName="idxError"/>
+      <field name="_indexingErrorMsg" tagName="idxMsg"/>
+      <field name="_op0" tagName="publishedForGroup"/>
+      <field name="_groupOwner" tagName="groupOwner"/>
+      <field name="_logo" tagName="logo"/>
+      <field name="standardName" tagName="standardName"/>
+      <field name="_groupWebsite" tagName="groupWebsite"/>
+      <field name="attributeTable" tagName="attributeTable"/>
+    </dumpFields>
+  </search>
+
+
+  <!-- Default analyzer to use for all fields not defined in the fieldSpecificAnalyzer section.
+    If not set, GeoNetwork use a default per field analyzer (ie. fieldSpecificAnalyzer is not
+    take into account). The default analyzer is defined in SearchManager.
+
+    Example:
+    org.apache.lucene.analysis.fr.FrenchAnalyzer
+
+  <defaultAnalyzer name="org.apache.lucene.analysis.standard.StandardAnalyzer">
+  <Param name="version" type="org.apache.lucene.util.Version"/>
+  </defaultAnalyzer>
+  -->
+  <defaultAnalyzer name="org.fao.geonet.kernel.search.GeoNetworkAnalyzer"/>
+  <!-- TODO: Add a language specific analyzer according to:
+     * metadata language
+     * metadata elements language (ie. PT_FreeText elements)
+  -->
+
+
+  <!-- Field analyzer
+    Define here specific analyzer for each fields stored in the index
+
+    For example adding a different analyzer for any (ie. full text search)
+    could be better than a standard analyzer which has a particular way of
+    creating tokens.
+
+    In that situation, when field is "mission AD-T" is tokenized to "mission" "ad" & "t"
+    using StandardAnalyzer. A WhiteSpaceTokenizer tokenized to "mission" "AD-T"
+    which could be better in some situation. But when field is "mission AD-34T" is tokenized
+    to "mission" "ad-34t" using StandardAnalyzer due to number.
+
+    doeleman: UUID must be case insensitive, as its parts are hexadecimal numbers which
+    are not case sensitive. StandardAnalyzer is recommended for UUIDS.
+
+    A list of analyzer is available http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/analysis/Analyzer.html
+    Commons analyzer:
+    * org.apache.lucene.analysis.standard.StandardAnalyzer
+    * org.apache.lucene.analysis.WhitespaceAnalyzer
+    * org.apache.lucene.analysis.SimpleAnalyzer
+    * org.fao.geonet.kernel.search.GeoNetworkAnalyzer (recommended for wildcard query support)
+
+    The analyzer must be in the classpath.
+
+  -->
+  <fieldSpecificAnalyzer>
+    <Field name="_uuid" analyzer="org.fao.geonet.kernel.search.GeoNetworkAnalyzer"/>
+    <Field name="standardName" analyzer="org.apache.lucene.analysis.core.KeywordAnalyzer"/>
+    <Field name="parentUuid" analyzer="org.fao.geonet.kernel.search.GeoNetworkAnalyzer"/>
+    <Field name="operatesOn" analyzer="org.fao.geonet.kernel.search.GeoNetworkAnalyzer"/>
+    <Field name="operatesOnIdentifier" analyzer="org.fao.geonet.kernel.search.GeoNetworkAnalyzer"/>
+    <Field name="hassource" analyzer="org.fao.geonet.kernel.search.GeoNetworkAnalyzer"/>
+    <Field name="hasfeaturecat" analyzer="org.fao.geonet.kernel.search.GeoNetworkAnalyzer"/>
+    <Field name="any" analyzer="org.apache.lucene.analysis.fr.FrenchAnalyzer">
+      <Param name="version" type="org.apache.lucene.util.Version"/>
+    </Field>
+    
+    <!--
+    <Field name="any" analyzer="org.fao.geonet.kernel.search.GeoNetworkAnalyzer"/>
+
+    <Field name="any" analyzer="org.apache.lucene.analysis.standard.StandardAnalyzer">
+      <Param name="version" type="org.apache.lucene.util.Version"/>
+      <Param name="stopWords" type="java.io.File" value="/path/to/resources/stopwords/en.txt"/>
+    </Field>
+    -->
+    <Field name="subject" analyzer="org.apache.lucene.analysis.core.KeywordAnalyzer"/>
+    <Field name="_cat" analyzer="org.apache.lucene.analysis.core.KeywordAnalyzer"/>
+
+
+    <Field name="keyword" analyzer="org.apache.lucene.analysis.core.KeywordAnalyzer"/>
+    <Field name="inspirerelated" analyzer="org.apache.lucene.analysis.core.KeywordAnalyzer"/>
+    <Field name="_groupPublished" analyzer="org.apache.lucene.analysis.core.KeywordAnalyzer"/>
+    <Field name="_source" analyzer="org.apache.lucene.analysis.core.KeywordAnalyzer"/>
+
+  </fieldSpecificAnalyzer>
+
+  <fieldSpecificSearchAnalyzer>
+    <!-- Define here analyzers to be overriden from fieldSpecificAnalyzer.
+      By default, indexing and searching per field analyzers are the same.
+
+      In some case, an analyzer could be applied at indexing and another
+      at searching time. For example when using a SynonymAnalyzer. When adding
+      Londres, Londinium, Londona for London at indexing time, then there is no
+      need to add those synonyms for search if users search for Londres, it will match.
+      We only need synonym expansion during indexing or during searching, not both.
+    -->
+  </fieldSpecificSearchAnalyzer>
+
+  <!-- Document boosting configuration.
+
+    Document boosting allows to define custom boost factor for a document
+    or for document fields at index time which
+    will be use for score computation at search time.
+
+    Note: Do not abuse of document boost
+    because it may lead to promote too much some kind of documents
+    or the contrary and make end-user not so confident of your search engine!
+
+  -->
+  <!-- Boosting factor for fields. This parameter will impact queries using OR operator.
+  <fieldBoosting>
+    <Field name="title" boost="1.5F"/>
+  </fieldBoosting>
+
+  It could be relevant to also remove some field from scoring using this:
+   * If not, user privileges will be take into account to compute the score.
+  -->
+  <fieldBoosting>
+    <Field name="_op0" boost="0.0F"/>
+    <Field name="_op1" boost="0.0F"/>
+    <Field name="_op2" boost="0.0F"/>
+    <Field name="_dummy" boost="0.0F"/>
+    <Field name="_isTemplate" boost="0.0F"/>
+    <Field name="_owner" boost="0.0F"/>
+  </fieldBoosting>
+
+
+  <!-- Boosting factor for document based on document values.
+    Parameters:
+    * fields: A comma separated value of fields.
+    * values: A comma separated value of value for each field. Use NOTNULL to check any field values.
+    * boost: A comma separated value of boost factor for each field (Float).
+
+    "The boost factor values you should use depend on what you’re trying to achieve;
+    you’ll need to do some experimentation and
+    tuning to achieve the desired effect." source: Lucene In Action
+
+  <boostDocument name="org.fao.geonet.kernel.search.function.ImportantDocument">
+    <!- - Example to promote series and not promote records part of a series - ->
+    <Param name="fields" type="java.lang.String" value="type,parentUuid"/>
+    <Param name="values" type="java.lang.String" value="series,NOTNULL"/>
+    <Param name="boosts" type="java.lang.String" value=".1F,-.3F"/>
+    <!- - Example to promote series and service and records with keyword containing elevation
+    <Param name="fields" type="java.lang.String" value="type,type,keyword"/>
+    <Param name="values" type="java.lang.String" value="series,service,Elevation"/>
+    <Param name="boosts" type="java.lang.String" value=".1F,-.3F,.4F"/>- ->
+  </boostDocument>
+  -->
+
+  <!-- All Lucene fields that are tokenized must be kept here because it
+       is impossible unfortunately from Lucene API to work out which fields are
+        tokenized and which aren't unless we read documents and we may not have
+        an index to do this on so since most fields are not tokenized we
+        keep a list of tokenized fields here
+   -->
+  <tokenized>
+    <Field name="any"/>
+    <Field name="anylight"/>
+    <Field name="abstract"/>
+    <Field name="title"/>
+    <Field name="altTitle"/>
+    <Field name="keywordType"/>
+    <!--<Field name="orgName"/>-->
+    <Field name="specificationTitle"/>
+    <Field name="levelName"/>
+    <Field name="subject"/>
+  </tokenized>
+
+  <!-- All Lucene numeric fields.
+    Use of numeric field will increase index size.
+    It could give better search results for numeric values.
+
+    Type attribute : int (default), double, long, float
+    Precision attribute : see NumericUtils.PRECISION_STEP_DEFAULT
+  -->
+  <numeric>
+    <Field name="denominator"/>
+    <Field name="northBL" type="double"/>
+    <Field name="eastBL" type="double"/>
+    <Field name="southBL" type="double"/>
+    <Field name="westBL" type="double"/>
+  </numeric>
+
+  <!-- List all of the lucene field names which will have similarity applied to them
+       To disable set enabled to false.
+
+       If enabled is false or not present then similarity will be applied to all fields (except some special case instances)
+  -->
+  <fuzzyMatching enabled="true">
+    <Field name="any"/>
+    <Field name="anylight"/>
+    <Field name="title"/>
+    <Field name="altTitle"/>
+    <Field name="abstract"/>
+    <Field name="specificationTitle"/>
+  </fuzzyMatching>
+</config>
diff --git a/src/main/webapp/WEB-INF/config-node/srv.xml b/src/main/webapp/WEB-INF/config-node/srv.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9b7b82ed64f1dc8d45a27dad1119580b8261390a
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-node/srv.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       default-lazy-init="true"
+       xmlns="http://www.springframework.org/schema/beans"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+  <import resource="classpath*:/config-spring-geonetwork.xml"/>
+  <import resource="../config-db/database_migration.xml"/>
+
+  <bean id="nodeInfo" class="org.fao.geonet.NodeInfo">
+    <property name="id" value="srv"/>
+    <property name="defaultNode" value="true"/>
+  </bean>
+
+  <!-- Uncomment the database configuration you need to use -->
+  <!-- <import resource="../config-db/h2.xml"/>-->
+  <!--<import resource="../config-db/jndi-postgres-postgis.xml"/> -->
+  <!--<import resource="../config-db/oracle.xml"/>-->
+  <!--<import resource="../config-db/mysql.xml"/> -->
+  <!--<import resource="../config-db/db2.xml"/> -->
+  <import resource="../config-db/postgres.xml"/>
+  <!--<import resource="../config-db/sqlserver.xml"/> -->
+  <!--<import resource="../config-db/postgres-postgis.xml"/> -->
+</beans>
diff --git a/src/main/webapp/WEB-INF/config-overrides-prod.xml b/src/main/webapp/WEB-INF/config-overrides-prod.xml
new file mode 100644
index 0000000000000000000000000000000000000000..31aaf72c512881749da1ef7d3a018646606e7aa5
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-overrides-prod.xml
@@ -0,0 +1,43 @@
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<overrides>
+  <spring>
+    <setInterceptUrl pattern="/[a-zA-Z0-9_\-]+/[a-z]{2,3}/catalog.signin!?.*" access="hasRole('RegisteredUser')"/>
+  </spring>
+  <file name=".*/WEB-INF/config-gui.xml">
+    <addXML xpath="">
+      <prodige>
+    	<catalogue>
+          <url>https://${prodige_catalogue_prefix}${prodige_domain}${prodige_catalogue_suffix}</url>
+        </catalogue>
+        <broadcast-connect>
+          <url>https://${prodige_admincarto_prefix}${prodige_domain}${prodige_admincarto_suffix}</url>
+          <url>https://${prodige_frontcarto_prefix}${prodige_domain}${prodige_frontcarto_suffix}</url>
+          <url>https://${prodige_telecarto_prefix}${prodige_domain}${prodige_telecarto_suffix}</url>
+        </broadcast-connect>
+      </prodige>
+    </addXML>
+  </file>
+
+</overrides>
diff --git a/src/main/webapp/WEB-INF/config-overrides.properties b/src/main/webapp/WEB-INF/config-overrides.properties
new file mode 100644
index 0000000000000000000000000000000000000000..4ff0aec2c4a2dc35cd46bdf6fbfa5635aff406ca
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-overrides.properties
@@ -0,0 +1,15 @@
+# @usage NOTE : The last value of a key is the final value
+
+# @destination WEB-INF/config-security/config-security.properties
+overrides.ldap.security.credentials=${overrides_ldap_security_credentials}
+overrides.cas.baseURL=https://${prodige_cas_prefix}${prodige_domain}${prodige_cas_suffix}/cas
+overrides.geonetwork.https.url=https://${prodige_geonetwork_prefix}${prodige_domain}${prodige_geonetwork_suffix}/geonetwork
+
+# @destination WEB-INF/config-db/jdbc.properties
+overrides.jdbc.database=${overrides_jdbc_database}
+overrides.jdbc.username=${overrides_jdbc_username}
+overrides.jdbc.password=${overrides_jdbc_password}
+
+# @override WEB-INF/config.properties
+language.default=fre
+language.forceDefault=true
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/config-security/config-security-cas-database.xml b/src/main/webapp/WEB-INF/config-security/config-security-cas-database.xml
new file mode 100644
index 0000000000000000000000000000000000000000..43b33351b4f9dbf9b3e10d0a3023954f0dca4106
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-security/config-security-cas-database.xml
@@ -0,0 +1,31 @@
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<beans
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans
+          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
+  xmlns="http://www.springframework.org/schema/beans">
+
+  <alias name="geonetworkAuthenticationProvider" alias="casUserService"/>
+</beans>
diff --git a/src/main/webapp/WEB-INF/config-security/config-security-cas-ldap.xml b/src/main/webapp/WEB-INF/config-security/config-security-cas-ldap.xml
new file mode 100644
index 0000000000000000000000000000000000000000..758e3354bf7a1e97932ae73776cc69a4e4b26309
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-security/config-security-cas-ldap.xml
@@ -0,0 +1,45 @@
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<beans
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans
+          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
+  xmlns="http://www.springframework.org/schema/beans">
+
+  <!-- Depends on config-security-ldap.xml also being imported -->
+
+  <bean id="casUserService"
+        class="org.springframework.security.ldap.userdetails.LdapUserDetailsService">
+    <constructor-arg index="0" ref="ldapUserSearch"/>
+    <property name="userDetailsMapper" ref="ldapUserContextMapper"/>
+  </bean>
+
+  <bean id="ldapUserSearch"
+        class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
+    <constructor-arg index="0" value="${ldap.sync.user.search.base}"/>
+    <constructor-arg index="1" value="${ldap.sync.user.search.filter}"/>
+    <constructor-arg index="2" ref="contextSource"/>
+  </bean>
+
+</beans>
diff --git a/src/main/webapp/WEB-INF/config-security/config-security-cas.xml b/src/main/webapp/WEB-INF/config-security/config-security-cas.xml
new file mode 100644
index 0000000000000000000000000000000000000000..da799b8e14c8cf3a357825d742e915adbb00afb5
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-security/config-security-cas.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<beans
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans
+          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
+  xmlns="http://www.springframework.org/schema/beans">
+
+  <!-- requires that config-security imports a config file that has the casUserService
+        bean -->
+  <!-- override beans in config-security-core with the changes required for
+        cas -->
+  <alias name="casEntryPoint" alias="authenticationEntryPoint"/>
+  <bean id="filterChainFilters" class="java.util.ArrayList">
+    <constructor-arg>
+      <list>
+        <ref bean="securityContextPersistenceFilter"/>
+        <ref bean="requestSingleLogoutFilter"/>
+        <ref bean="logoutFilter"/>
+        <ref bean="singleLogoutFilter"/>
+        <ref bean="casFilter"/>
+        <ref bean="basicAuthenticationFilter"/>
+        <ref bean="requestCacheFilter"/>
+        <ref bean="anonymousFilter"/>
+        <ref bean="sessionMgmtFilter"/>
+        <ref bean="exceptionTranslationFilter"/>
+        <ref bean="filterSecurityInterceptor"/>
+      </list>
+    </constructor-arg>
+  </bean>
+  <!-- Adds the CasAuthenticationProvider to the AuthenticationManager -->
+  <bean id="casAuthenticationProviderPostProcessor"
+        class="jeeves.config.springutil.AddAuthenticationProviderPostProcessor">
+    <constructor-arg value="0"/>
+    <constructor-arg ref="casAuthenticationProvider"></constructor-arg>
+  </bean>
+  <!-- End overrides -->
+
+  <bean id="casServerPropertyUpdater" class="jeeves.config.springutil.ServerBeanPropertyUpdater">
+    <constructor-arg value="${geonetwork.https.url}"/>
+    <constructor-arg>
+      <map>
+        <entry key-ref="serviceProperties" value="service"/>
+        <entry key-ref="casTicketValidator" value="proxyCallbackUrl"/>
+        <entry key-ref="casFilter" value="proxyReceptorUrl"/>
+        <entry key-ref="logoutSuccessHandler" value="defaultTargetUrl"/>
+      </map>
+    </constructor-arg>
+  </bean>
+  <bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties">
+    <property name="service" value="${geonetwork.https.url}/j_spring_cas_security_check"/>
+    <property name="sendRenew" value="false"/>
+    <property name="artifactParameter" value="ticket"/>
+    <property name="authenticateAllArtifacts" value="true"/>
+  </bean>
+
+  <bean id="casFilter"
+        class="org.springframework.security.cas.web.CasAuthenticationFilter">
+    <property name="authenticationManager" ref="authenticationManager"/>
+    <property name="proxyGrantingTicketStorage" ref="pgtStorage"/>
+    <property name="proxyReceptorUrl"
+              value="/j_spring_cas_security_proxyreceptor"/>
+    <property name="serviceProperties" ref="serviceProperties"/>
+    <property name="authenticationDetailsSource">
+      <bean
+        class="org.springframework.security.cas.web.authentication.ServiceAuthenticationDetailsSource"/>
+    </property>
+    <!-- @vlc start redirect to home page after login -->
+    <property name="authenticationSuccessHandler">
+	<bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler">
+            <property name="defaultTargetUrl" value="/"/>
+            <property name="alwaysUseDefaultTargetUrl" value="true"/>
+        </bean>
+    </property>
+    <!-- @vlc end -->
+  </bean>
+
+  <bean id="casEntryPoint"
+        class="org.springframework.security.cas.web.CasAuthenticationEntryPoint">
+    <property name="loginUrl" value="${cas.login.url}"/>
+    <property name="serviceProperties" ref="serviceProperties"/>
+  </bean>
+
+  <bean id="casAuthenticationProvider"
+        class="org.springframework.security.cas.authentication.CasAuthenticationProvider">
+    <property name="authenticationUserDetailsService">
+      <bean
+        class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
+        <constructor-arg ref="casUserService"/>
+      </bean>
+    </property>
+    <property name="serviceProperties" ref="serviceProperties"/>
+    <property name="ticketValidator" ref="casTicketValidator"/>
+    <property name="key" value="GeonetworkCasAuthenticatorProviderKey"/>
+    <property name="statelessTicketCache" ref="casStatelessTicketCache"/>
+  </bean>
+
+  <bean id="casTicketValidator" class="org.jasig.cas.client.validation.Cas20ProxyTicketValidator">
+    <!-- Geonetwork class in start method will update the baseurl with the one in the settings table -->
+    <!-- If baseurlTag is not set then the proxyCallbackURL will not be updated -->
+    <constructor-arg index="0" value="${cas.ticket.validator.url}"/>
+    <property name="proxyCallbackUrl" value="${geonetwork.https.url}/j_spring_cas_security_proxyreceptor"/>
+    <property name="proxyGrantingTicketStorage" ref="pgtStorage"/>
+    <property name="acceptAnyProxy" value="true"/>
+  </bean>
+  <!-- TODO implement custom storage, maybe that stores in database -->
+  <bean id="pgtStorage" class="org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl"/>
+
+  <!-- This filter handles a Single Logout Request from the CAS Server -->
+  <bean id="singleLogoutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter"/>
+  <!-- This filter redirects to the CAS Server to signal Single Logout should be performed -->
+  <bean id="requestSingleLogoutFilter"
+        class="org.springframework.security.web.authentication.logout.LogoutFilter">
+    <constructor-arg ref="logoutSuccessHandler"/>
+    <constructor-arg>
+      <array>
+        <bean class="jeeves.config.springutil.LogoutUserSessionHandler"/>
+        <bean
+          class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler"/>
+      </array>
+    </constructor-arg>
+    <property name="filterProcessesUrl" value="/signout"/>
+  </bean>
+  <bean id="logoutSuccessHandler"
+        class="org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler">
+    <property name="defaultTargetUrl" value="${cas.logout.url}"></property>
+  </bean>
+  <bean id="casStatelessTicketCache"
+        class="org.springframework.security.cas.authentication.EhCacheBasedTicketCache">
+    <property name="cache">
+      <bean class="net.sf.ehcache.Cache" init-method="initialise"
+            destroy-method="dispose">
+        <constructor-arg value="casTickets"/>
+        <constructor-arg value="50"/>
+        <constructor-arg value="true"/>
+        <constructor-arg value="false"/>
+        <constructor-arg value="3600"/>
+        <constructor-arg value="900"/>
+        <property name="diskStorePath" value="${java.io.tmpdir}"></property>
+      </bean>
+    </property>
+  </bean>
+</beans>
diff --git a/src/main/webapp/WEB-INF/config-security/config-security-core.xml b/src/main/webapp/WEB-INF/config-security/config-security-core.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e862d59e278ac28a2d0f09446962e543a193c6e4
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-security/config-security-core.xml
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<beans
+  xmlns:sec="http://www.springframework.org/schema/security"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans
+          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+
+
+          http://www.springframework.org/schema/security
+          http://www.springframework.org/schema/security/spring-security-3.2.xsd"
+  xmlns="http://www.springframework.org/schema/beans">
+
+  <alias name="filterChainProxy" alias="springSecurityFilterChain"/>
+
+  <bean id="filterChainProxy" class="org.springframework.security.web.FilterChainProxy">
+    <constructor-arg>
+      <list>
+        <!-- @vlc start pas present dans geonetwork, utile ? -->
+        <sec:filter-chain pattern="/apps/**" filters="" />
+        <sec:filter-chain pattern="/apps_extend/**" filters="" />
+        <sec:filter-chain pattern="/maps/**" filters="" />
+        <sec:filter-chain pattern="/scripts/**" filters="" />
+        <!-- @vlc end -->
+        <sec:filter-chain pattern="/srv/swagger-resources/**" filters=""/>
+        <sec:filter-chain pattern="/srv/v2/**" filters=""/>
+
+        <!-- TODO: This needs to be secured to not access private info -->
+        <sec:filter-chain pattern="/index/**" filters=""/>
+
+        <sec:filter-chain pattern="/dashboards/**" filters=""/>
+
+        <sec:filter-chain pattern="/doc/**" filters=""/>
+        <!-- wroAPI is protected for admin only
+        This is causing issue on node-change-warning page.
+        <sec:filter-chain pattern="/static/wroAPI" filters=""/>-->
+        <sec:filter-chain pattern="/static/**" filters=""/>
+        <sec:filter-chain pattern="/catalog/**" filters=""/>
+        <sec:filter-chain pattern="/test/**" filters=""/>
+        <sec:filter-chain pattern="/" filters=""/>
+        <sec:filter-chain pattern="/*.html" filters=""/>
+        <sec:filter-chain pattern="/*.jsp" filters=""/>
+        <sec:filter-chain pattern="/*.css" filters=""/>
+        <sec:filter-chain pattern="/images/**" filters=""/>
+        <sec:filter-chain pattern="/map/**" filters=""/>
+        <sec:filter-chain pattern="/htmlcache/**" filters=""/>
+        <sec:filter-chain pattern="/pdf/**" filters=""/>
+        <sec:filter-chain pattern="/loc/**" filters=""/>
+        <sec:filter-chain pattern="/xml/csw/test/*" filters=""/>
+        <sec:filter-chain pattern="/xml/schemas/**" filters=""/>
+        <sec:filter-chain pattern="/xsl/harvesting/**" filters=""/>
+        <sec:filter-chain pattern="/xsl/ownership/**" filters=""/>
+        <ref bean="coreFilterChain"/>
+        <!-- <sec:filter-chain pattern="/**" filters="securityContextPersistenceFilter,
+                logoutFilter,
+                formLoginFilter,
+               basicAuthenticationFilter,
+                requestCacheFilter,
+                anonymousFilter,
+                sessionMgmtFilter,
+               exceptionTranslationFilter,
+               filterSecurityInterceptor" /> -->
+      </list>
+    </constructor-arg>
+  </bean>
+
+
+  <bean id="coreFilterChain" class="org.springframework.security.web.DefaultSecurityFilterChain">
+    <constructor-arg>
+      <bean class="org.springframework.security.web.util.AntPathRequestMatcher">
+        <constructor-arg value="/**"/>
+      </bean>
+    </constructor-arg>
+    <constructor-arg>
+      <ref bean="filterChainFilters"/>
+    </constructor-arg>
+  </bean>
+  <bean id="filterChainFilters" class="java.util.ArrayList">
+    <constructor-arg>
+      <list>
+        <ref bean="securityContextPersistenceFilter"/>
+        <!-- To disable csrf security (not recommended) comment the following line -->
+        <ref bean="csrfFilter" />
+        <!-- To disable csrf security (not recommended) comment the upper line -->
+        <ref bean="logoutFilter"/>
+        <!-- A filter that check if an external service already authenticated user
+                     (default implementation does nothing but can be overridden) -->
+        <ref bean="multiNodeAuthenticationFilter"/>
+        <ref bean="preAuthenticationFilter"/>
+        <ref bean="basicAuthenticationFilter"/>
+        <ref bean="formLoginFilter"/>
+        <ref bean="requestCacheFilter"/>
+        <ref bean="anonymousFilter"/>
+        <ref bean="sessionMgmtFilter"/>
+        <ref bean="exceptionTranslationFilter"/>
+        <ref bean="filterSecurityInterceptor"/>
+      </list>
+    </constructor-arg>
+  </bean>
+  <!-- A filter that check if an external service already authenticated user
+                     (default implementation does nothing but can be overridden) -->
+  <bean id="multiNodeAuthenticationFilter"
+        class="jeeves.config.springutil.MultiNodeAuthenticationFilter">
+    <property name="location" value="${wrongNodeRedirectURL}"/>
+  </bean>
+  <bean id="preAuthenticationFilter" class="jeeves.config.springutil.PassthroughFilter"/>
+  <bean id="securityContextPersistenceFilter"
+        class="org.springframework.security.web.context.SecurityContextPersistenceFilter">
+    <property name="securityContextRepository" ref="securityContextRepository"/>
+  </bean>
+
+  <bean id="authenticationManager"
+        class="org.springframework.security.authentication.ProviderManager">
+    <property name="providers">
+      <list>
+        <!-- Check if the preAuthenticationFilter has already authenticated user -->
+        <ref bean="preFilterAuthenticationProvider"/>
+        <ref bean="geonetworkAuthenticationProvider"/>
+      </list>
+    </property>
+  </bean>
+
+  <bean id="securityContextRepository"
+        class='org.springframework.security.web.context.HttpSessionSecurityContextRepository'>
+    <property name="allowSessionCreation" value="true"/>
+  </bean>
+
+  <bean id="formLoginFilter"
+        class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter">
+    <property name="postOnly" value="true"/>
+    <property name="usernameParameter" value="username"/>
+    <property name="passwordParameter" value="password"/>
+    <property name="authenticationManager" ref="authenticationManager"/>
+    <!--<property name="filterProcessesUrl" value="/signin"/>-->
+    <property name="requiresAuthenticationRequestMatcher">
+      <bean class="org.springframework.security.web.util.matcher.AntPathRequestMatcher">
+        <constructor-arg name="pattern" value="/signin"/>
+      </bean>
+    </property>
+    <property name="authenticationDetailsSource" ref="authenticationDetailsSource"/>
+    <property name="authenticationFailureHandler">
+      <bean
+        class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler">
+        <constructor-arg value="${loginErrorForm}"></constructor-arg>
+        <property name="redirectStrategy">
+          <bean class="jeeves.config.springutil.JeevesNodeAwareRedirectStrategy"/>
+        </property>
+      </bean>
+    </property>
+    <property name="authenticationSuccessHandler">
+      <bean
+        class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler">
+        <property name="defaultTargetUrl" value="/"/>
+        <property name="targetUrlParameter" value="redirectUrl"/>
+      </bean>
+    </property>
+    <property name="sessionAuthenticationStrategy">
+      <bean
+        class="org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy"/>
+    </property>
+  </bean>
+
+  <bean id="basicAuthenticationFilter"
+        class="org.springframework.security.web.authentication.www.BasicAuthenticationFilter">
+    <constructor-arg index="0" ref="authenticationManager"/>
+    <constructor-arg index="1" ref="basicAuthenticationEntryPoint"/>
+    <property name="authenticationDetailsSource" ref="authenticationDetailsSource"/>
+  </bean>
+
+  <bean id="authenticationDetailsSource"
+        class="jeeves.config.springutil.JeevesAuthenticationDetailSource"/>
+
+  <bean id="basicAuthenticationEntryPoint"
+        class="org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint">
+    <property name="realmName" value="Geonetwork"/>
+  </bean>
+
+  <bean id="logoutFilter"
+        class="org.springframework.security.web.authentication.logout.LogoutFilter">
+    <constructor-arg ref="logoutSuccessHandler"/>
+    <constructor-arg>
+      <list>
+        <bean
+          class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler"/>
+        <bean
+          class="org.springframework.security.web.authentication.logout.CookieClearingLogoutHandler">
+          <constructor-arg>
+            <array>
+              <value>JSESSIONID</value>
+            </array>
+          </constructor-arg>
+        </bean>
+      </list>
+    </constructor-arg>
+    <property name="filterProcessesUrl" value="/signout"/>
+  </bean>
+
+  <bean id="logoutSuccessHandler"
+        class="jeeves.config.springutil.JeevesNodeAwareLogoutSuccessHandler">
+    <property name="defaultTargetUrl" value="${logout.success.url}"></property>
+  </bean>
+  <bean id="requestCacheFilter"
+        class="org.springframework.security.web.savedrequest.RequestCacheAwareFilter"/>
+
+  <bean id="exceptionTranslationFilter"
+        class="org.springframework.security.web.access.ExceptionTranslationFilter">
+    <constructor-arg index="0" ref="authenticationEntryPoint"/>
+    <property name="accessDeniedHandler" ref="accessDeniedHandler"/>
+  </bean>
+
+  <bean id="defaultAuthenticationEntryPoint"
+        class="jeeves.config.springutil.JeevesNodeAwareLoginUrlEntryPoint">
+    <constructor-arg name="loginFormUrl" value="${loginForm}"/>
+  </bean>
+
+  <bean id="ajaxEntryPoint" class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint" />
+
+  <bean id="authenticationEntryPoint"
+        class="org.springframework.security.web.authentication.DelegatingAuthenticationEntryPoint">
+    <constructor-arg>
+      <map>
+        <entry key-ref="apiRequestMatcher" value-ref="ajaxEntryPoint"/>
+      </map>
+    </constructor-arg>
+    <property name="defaultEntryPoint" ref="defaultAuthenticationEntryPoint" />
+  </bean>
+  <bean class="org.springframework.security.web.util.matcher.AntPathRequestMatcher" id="apiRequestMatcher">
+    <constructor-arg name="pattern" value="/*/api/**" />
+  </bean>
+
+  <bean id="accessDeniedHandler"
+        class="jeeves.config.springutil.JeevesAccessDeniedHandler">
+    <property name="errorPage" value="/accessDenied.jsp"/>
+    <property name="onlyStatusResponsePages" value="/*/api/**" />
+  </bean>
+
+  <!-- TODO remember me.
+      <bean id="rememberMeFilter"
+          class="org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter">
+          <property name="rememberMeServices" ref="rememberMeServices" />
+          <property name="authenticationManager" ref="authenticationManager" />
+      </bean>
+
+      <bean id="rememberMeServices" class="org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices">
+          <property name="userDetailsService" ref="myUserDetailsService" />
+          <property name="key" value="rememberGeonetwork" />
+      </bean>
+
+      <bean id="rememberMeAuthenticationProvider" class="org.springframework.security.authentication.rememberme.RememberMeAuthenticationProvider">
+          <property name="key" value="rememberGeonetwork" />
+      </bean>
+       -->
+  <!-- TODO session management -->
+
+  <!-- Note: the id is critical since other components of the system will look up the encoder by its id -->
+  <bean class="org.springframework.security.crypto.password.StandardPasswordEncoder"
+        id="geonetworkEncoder">
+    <constructor-arg value="${passwordSalt}"/>
+  </bean>
+
+  <bean class="org.fao.geonet.kernel.security.GeonetworkAuthenticationProvider"
+        id="geonetworkAuthenticationProvider">
+    <property name="checkUserNameOrEmail" value="true"/>
+  </bean>
+
+  <!-- Check if the preAuthenticationFilter has already authenticated user -->
+  <bean
+    class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider"
+    id="preFilterAuthenticationProvider">
+    <property name="preAuthenticatedUserDetailsService">
+      <bean id="preAuthenticatedUserDetailsService"
+            class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
+        <property name="userDetailsService" ref="geonetworkAuthenticationProvider"/>
+      </bean>
+    </property>
+  </bean>
+
+
+  <bean id="roleHierarchy"
+        class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl">
+    <property name="hierarchy">
+      <value>
+        Administrator > UserAdmin
+        UserAdmin > Reviewer
+        Reviewer > Editor
+        Editor > RegisteredUser
+        RegisteredUser > Guest
+      </value>
+    </property>
+  </bean>
+
+  <bean id="accessDecisionManager"
+        class="org.springframework.security.access.vote.AffirmativeBased">
+    <property name="decisionVoters">
+      <list>
+        <bean class="org.springframework.security.access.vote.RoleHierarchyVoter">
+          <constructor-arg ref="roleHierarchy"/>
+        </bean>
+        <bean class="org.springframework.security.access.vote.RoleVoter"/>
+        <bean class="org.springframework.security.web.access.expression.WebExpressionVoter"/>
+        <bean class="org.springframework.security.access.vote.AuthenticatedVoter"/>
+      </list>
+    </property>
+  </bean>
+
+  <bean id="anonymousFilter"
+        class="org.springframework.security.web.authentication.AnonymousAuthenticationFilter">
+    <property name="key" value="GeonetworkAnonymousUser"/>
+    <property name="userAttribute" value="anonymousUser,ROLE_ANONYMOUS"/>
+  </bean>
+
+  <bean id="anonymousProvider"
+        class="org.springframework.security.authentication.AnonymousAuthenticationProvider">
+    <property name="key" value="GeonetworkAnonymousUser"/>
+  </bean>
+
+  <bean id="sessionMgmtFilter"
+        class="org.springframework.security.web.session.SessionManagementFilter">
+    <constructor-arg ref="securityContextRepository"/>
+  </bean>
+
+  <!-- This bean is here to allow evaluation permissions of the current user by Geonetwork -->
+  <bean id="webPrivilegeEvaluatorCore"
+        class="org.springframework.security.web.access.DefaultWebInvocationPrivilegeEvaluator">
+    <constructor-arg ref="filterSecurityInterceptor"/>
+  </bean>
+
+  <!-- Listener to log the last login date in the database -->
+  <bean class="org.fao.geonet.kernel.security.listener.UpdateTimestampListener"
+        id="updateTimestampListener">
+  </bean>
+
+
+  <bean id="csrfFilter" class="org.springframework.security.web.csrf.CsrfFilter">
+    <constructor-arg>
+      <ref bean="csrfTokenRepository"/>
+    </constructor-arg>
+
+    <property name="requireCsrfProtectionMatcher" ref="geonetworkCsrfSecurityRequestMatcher" />
+  </bean>
+
+  <bean class="org.fao.geonet.security.web.csrf.CookieCsrfTokenRepository"
+        id="csrfTokenRepository">
+    <property name="cookieHttpOnly" value="false"/>
+  </bean>
+
+  <!-- RequestMatcher to exclude CSRF token from CSW requests -->
+  <bean id="geonetworkCsrfSecurityRequestMatcher"
+        class="org.fao.geonet.security.web.csrf.GeonetworkCsrfSecurityRequestMatcher">
+    <constructor-arg>
+      <set>
+        <!-- CSW requests -->
+        <value>/[a-zA-Z0-9_\-]+/[a-z]{2,3}/csw-publication!?.*</value>
+        <value>/[a-zA-Z0-9_\-]+/[a-z]{2,3}/csw-.*</value>
+        <value>/[a-zA-Z0-9_\-]+/[a-z]{2,3}/csw!?.*</value>
+        <value>/[a-zA-Z0-9_\-]+/[a-z]{2,3}/xml.search!?</value>
+      </set>
+    </constructor-arg>
+  </bean>
+</beans>
diff --git a/src/main/webapp/WEB-INF/config-security/config-security-ldap.xml b/src/main/webapp/WEB-INF/config-security/config-security-ldap.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5009cfcbfd742bb2a137ad0fbbeb2f3c3ddf8751
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-security/config-security-ldap.xml
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<beans
+  xmlns:ctx="http://www.springframework.org/schema/context"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans
+          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+          http://www.springframework.org/schema/context
+          http://www.springframework.org/schema/context/spring-context-3.0.xsd"
+  xmlns="http://www.springframework.org/schema/beans">
+
+  <ctx:property-override location="WEB-INF/config-security/config-security-overrides.properties"/>
+
+  <!-- Add ldap authentication to authentication manager -->
+  <bean id="ldapAuthenticationProviderPostProcessor"
+        class="jeeves.config.springutil.AddAuthenticationProviderPostProcessor">
+    <constructor-arg ref="ldapAuthProvider"/>
+  </bean>
+
+  <bean id="ldapUtils" class="org.fao.geonet.kernel.security.ldap.LDAPUtils"/>
+
+  <!-- LDAP configuration-->
+  <bean id="contextSource"
+        class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
+    <constructor-arg value="${ldap.base.provider.url}/${ldap.base.dn}"/>
+    <!-- For non anonymous binding -->
+    <property name="userDn" value="${ldap.security.principal}"/>
+    <property name="password" value="${ldap.security.credentials}"/>
+  </bean>
+
+  <bean id="ldapAuthProvider"
+        class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
+    <constructor-arg>
+      <!--
+          A PasswordComparisonAuthenticator
+      <bean class="org.springframework.security.ldap.authentication.PasswordComparisonAuthenticator">
+          <constructor-arg ref="contextSource"/>
+          <property name="userDnPatterns">
+              <list><value>${ldap.base.dn.pattern}</value></list>
+          </property>
+          <property name="passwordAttributeName" value="userPassword"/>
+          <property name="passwordEncoder">
+             <!- - <bean class="org.springframework.security.authentication.encoding.PlaintextPasswordEncoder"/>- ->
+              <bean class="org.springframework.security.authentication.encoding.LdapShaPasswordEncoder"/>
+          </property>
+      </bean>
+  -->
+      <bean class="org.springframework.security.ldap.authentication.BindAuthenticator">
+        <constructor-arg ref="contextSource"/>
+        <property name="userDnPatterns">
+          <list>
+            <value>${ldap.base.dn.pattern}</value>
+          </list>
+        </property>
+      </bean>
+    </constructor-arg>
+    <property name="userDetailsContextMapper" ref="ldapUserContextMapper"/>
+  </bean>
+
+
+  <!-- User information retrieval could be defined in 3 ways by configuration. Only one could be defined
+       for an LDAP provider.                                                                             -->
+
+  <!-- Get all user information from the LDAP user's attributes (including profile and groups)           -->
+  <!-- @vlc start -->
+  <!-- <bean id="ldapUserContextMapper"
+        class="org.fao.geonet.kernel.security.ldap.LDAPUserDetailsContextMapper">
+    <property name="mapping">
+      <map/>
+    </property>
+    <property name="profileMapping">
+      <map/>
+    </property>
+    <property name="ldapBaseDn" value="${ldap.base.dn}"/>
+    <property name="importPrivilegesFromLdap" value="${ldap.privilege.import}"/>
+    <property name="createNonExistingLdapGroup"
+              value="${ldap.privilege.create.nonexisting.groups}"/>
+    <property name="createNonExistingLdapUser" value="${ldap.privilege.create.nonexisting.users}"/>
+    <property name="ldapManager" ref="ldapUserDetailsService"/>
+    <property name="contextSource" ref="contextSource"/>
+  </bean> -->
+  <!-- @vlc end -->
+
+  <!-- Get all user information from the LDAP user's attributes (including profile and groups)
+  where profile and groups are stored in one attribute. A custom pattern is defined to extract
+  those information. -->
+  <!--<bean id="ldapUserContextMapper" class="org.fao.geonet.kernel.security.ldap.LDAPUserDetailsContextMapperWithPattern">
+      <property name="mapping">
+          <map/>
+      </property>
+      <property name="profileMapping">
+          <map/>
+      </property>
+      <property name="importPrivilegesFromLdap" value="${ldap.privilege.import}"/>
+      <property name="createNonExistingLdapGroup" value="${ldap.privilege.create.nonexisting.groups}" />
+      <property name="createNonExistingLdapUser" value="${ldap.privilege.create.nonexisting.users}" />
+
+      <property name="ldapManager" ref="ldapUserDetailsService" />
+
+      <property name="privilegePattern" value="${ldap.privilege.pattern}" />
+      <property name="groupIndexInPattern" value="${ldap.privilege.pattern.idx.group}"/>
+      <property name="profilIndexInPattern" value="${ldap.privilege.pattern.idx.profil}"/>
+
+      <property name="contextSource" ref="contextSource" />
+  </bean>-->
+
+  <!-- Get all user information from the LDAP user's attributes excluding profiles and groups
+      which are searched in another LDAP location. For profiles and groups, define the search
+      location and the extraction pattern. -->
+  <!-- @vlc start -->
+  <bean id="ldapUserContextMapper" class="org.fao.geonet.kernel.security.ldap.LDAPUserDetailsContextMapperWithProfileSearch">
+      <property name="mapping">
+          <map/>
+       </property>
+      <property name="profileMapping">
+          <map/>
+      </property>
+      <property name="importPrivilegesFromLdap" value="${ldap.privilege.import}"/>
+      <property name="createNonExistingLdapGroup" value="${ldap.privilege.create.nonexisting.groups}" />
+      <property name="createNonExistingLdapUser" value="${ldap.privilege.create.nonexisting.users}" />
+
+      <property name="ldapManager" ref="ldapUserDetailsService" />
+
+      <property name="groupAttribute" value="${ldap.privilege.search.group.attribute}"/>
+      <property name="groupObject" value="${ldap.privilege.search.group.object}"/>
+      <property name="groupQuery" value="${ldap.privilege.search.group.query}"/>
+      <property name="groupQueryPattern" value="${ldap.privilege.search.group.pattern}"/>
+
+      <property name="privilegeAttribute" value="${ldap.privilege.search.privilege.attribute}"/>
+      <property name="privilegeObject" value="${ldap.privilege.search.privilege.object}"/>
+      <property name="privilegeQuery" value="${ldap.privilege.search.privilege.query}"/>
+      <property name="privilegeQueryPattern" value="${ldap.privilege.search.privilege.pattern}"/>
+
+      <property name="contextSource" ref="contextSource" />
+  </bean>
+  <!-- @vlc end -->
+
+  <bean name="ldapSynchronizer" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
+    <property name="jobClass" value="org.fao.geonet.kernel.security.ldap.LDAPSynchronizerJob"/>
+    <property name="jobDataAsMap">
+      <map>
+        <entry key="contextSource" value-ref="contextSource"/>
+        <entry key="ldapUserSearchBase" value="${ldap.sync.user.search.base}"/>
+        <entry key="ldapUserSearchFilter" value="${ldap.sync.user.search.filter}"/>
+        <entry key="ldapUserSearchAttribute" value="${ldap.sync.user.search.attribute}"/>
+
+        <entry key="createNonExistingLdapGroup"
+               value="${ldap.privilege.create.nonexisting.groups}"/>
+        <entry key="ldapGroupSearchBase" value="${ldap.sync.group.search.base}"/>
+        <entry key="ldapGroupSearchFilter" value="${ldap.sync.group.search.filter}"/>
+        <entry key="ldapGroupSearchAttribute" value="${ldap.sync.group.search.attribute}"/>
+        <entry key="ldapGroupSearchPattern" value="${ldap.sync.group.search.pattern}"/>
+
+      </map>
+    </property>
+  </bean>
+
+  <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
+    <property name="jobDetail" ref="ldapSynchronizer"/>
+    <property name="cronExpression" value="${ldap.sync.cron}"/>
+    <property name="startDelay" value="${ldap.sync.startDelay}"/>
+  </bean>
+
+  <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
+    <property name="jobFactory">
+      <bean class="org.fao.geonet.util.spring.AutowiringSpringBeanJobFactory"/>
+    </property>
+    <property name="triggers">
+      <list>
+        <ref bean="cronTrigger"/>
+      </list>
+    </property>
+  </bean>
+
+  <bean id="ldapUserDetailsService"
+        class="org.fao.geonet.kernel.security.ldap.LdapUserDetailsManager">
+    <constructor-arg ref="contextSource"/>
+    <constructor-arg name="groupMemberAttributeName"
+                     value="${ldap.privilege.search.group.queryprop}"/>
+    <constructor-arg name="query"
+                     value="${ldap.privilege.search.group.query}"/>
+    <property name="groupSearchBase"
+              value="${ldap.privilege.search.group.object}"/>
+    <property name="usernameMapper" ref="usernameMapper"/>
+    <property name="userDetailsMapper" ref="ldapUserContextMapper"/>
+  </bean>
+
+  <bean id="usernameMapper"
+        class="org.springframework.security.ldap.DefaultLdapUsernameToDnMapper">
+    <constructor-arg index="0" type="java.lang.String"
+                     name="userDnBase" value="${ldap.base.search.base}"/>
+    <constructor-arg index="1" type="java.lang.String"
+                     name="usernameAttribute" value="${ldap.sync.user.search.attribute}"/>
+  </bean>
+
+
+  <!-- Uncomment if you want to automatically create groups in LDAP
+  when creating groups on geoNetwork. -->
+  <!-- <bean class="org.fao.geonet.kernel.security.ldap.AutoCreateGroups">
+      <property name="contextSource" ref="contextSource"/>
+      Where should groups be stored.
+      <property name="baseDn" value="${ldap.privilege.search.group.object}"/>
+      Identifier property for groups
+      <property name="groupAttribute" value="${ldap.privilege.search.group.attribute}"/>
+      Should we create a set of groups to define profiles on LDAP?
+      <property name="withProfiles" value="true"/>
+      Used only when withProfiles is true. 0 is the profile, 1 is the group name
+      <property name="profilePattern" value="{1}_{0}"/>
+      Map role names with role identifiers
+      <property name="profileMapping">
+          <map/>
+      </property>
+  </bean> -->
+
+  <!-- Uncomment if you want to sync additions in user group relations with LDAP -->
+  <!-- <bean class="org.fao.geonet.kernel.security.ldap.AutoUpdateUserGroups">
+      <property name="contextSource" ref="contextSource"/>
+      Where should groups be stored.
+      <property name="baseDn" value="${ldap.privilege.search.group.object}"/>
+      Identifier property for groups
+      <property name="groupAttribute" value="${ldap.privilege.search.group.attribute}"/>
+      Should we create a set of groups to define profiles on LDAP?
+      <property name="withProfiles" value="true"/>
+      Used only when withProfiles is true. 0 is the profile, 1 is the group name
+      <property name="profilePattern" value="{1}_{0}"/>
+      Map role names with role identifiers
+      <property name="profileMapping">
+          <map/>
+      </property>
+  </bean> -->
+
+  <!-- Uncomment if you want to sync removal in user group relations with LDAP -->
+  <!-- <bean class="org.fao.geonet.kernel.security.ldap.AutoUpdateUserGroupsOnRemove">
+  <property name="contextSource" ref="contextSource"/>
+  Where should groups be stored.
+  <property name="baseDn" value="${ldap.privilege.search.group.object}"/>
+  Identifier property for groups
+  <property name="groupAttribute" value="${ldap.privilege.search.group.attribute}"/>
+  Should we create a set of groups to define profiles on LDAP?
+  <property name="withProfiles" value="true"/>
+  Used only when withProfiles is true. 0 is the profile, 1 is the group name
+  <property name="profilePattern" value="{1}_{0}"/>
+  Map role names with role identifiers
+  <property name="profileMapping">
+      <map/>
+  </property>
+</bean> -->
+
+</beans>
diff --git a/src/main/webapp/WEB-INF/config-security/config-security-overrides.properties b/src/main/webapp/WEB-INF/config-security/config-security-overrides.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e3396bc7673d7860745e83138312c95d50c22c8a
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-security/config-security-overrides.properties
@@ -0,0 +1,46 @@
+#
+# Copyright (C) 2001-2016 Food and Agriculture Organization of the
+# United Nations (FAO-UN), United Nations World Food Programme (WFP)
+# and United Nations Environment Programme (UNEP)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or (at
+# your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+#
+# Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+# Rome - Italy. email: geonetwork@osgeo.org
+#
+
+# Map user information to LDAP attributes and default values
+# Ex : ldapUserContextMapper.mapping[name]=ldap_attribute,default_value
+ldapUserContextMapper.mapping[username]=uid,
+ldapUserContextMapper.mapping[name]=sn,
+ldapUserContextMapper.mapping[surname]=givenName,
+ldapUserContextMapper.mapping[mail]=mail,data@myorganization.org
+ldapUserContextMapper.mapping[organisation]=,
+ldapUserContextMapper.mapping[kind]=,
+ldapUserContextMapper.mapping[address]=,
+ldapUserContextMapper.mapping[zip]=,
+ldapUserContextMapper.mapping[state]=,
+ldapUserContextMapper.mapping[city]=,
+ldapUserContextMapper.mapping[country]=,
+#ldapUserContextMapper.mapping[privilege]=privileges,sample
+# If not set, the default profile is RegisteredUser
+# Valid profiles are http://geonetwork-opensource.org/manuals/trunk/eng/developer/apidocs/geonetwork/org/fao/geonet/constants/Geonet.Profile.html
+ldapUserContextMapper.mapping[profile]=alkProfileName,Administrator
+ldapUserContextMapper.mapping[privilege]=alkMemberOfGroup,
+
+# Map LDAP custom profiles to catalog profiles. Not used if ldap.privilege.pattern is defined.
+#ldapUserContextMapper.profileMapping[Admin]=Administrator
+#ldapUserContextMapper.profileMapping[Editeur]=Reviewer
+#ldapUserContextMapper.profileMapping[Public]=RegisteredUser
diff --git a/src/main/webapp/WEB-INF/config-security/config-security.properties b/src/main/webapp/WEB-INF/config-security/config-security.properties
new file mode 100644
index 0000000000000000000000000000000000000000..411da68eb9a31ce1ea0791665fc167208b6b5a1d
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-security/config-security.properties
@@ -0,0 +1,119 @@
+#
+# Copyright (C) 2001-2016 Food and Agriculture Organization of the
+# United Nations (FAO-UN), United Nations World Food Programme (WFP)
+# and United Nations Environment Programme (UNEP)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or (at
+# your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+#
+# Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+# Rome - Italy. email: geonetwork@osgeo.org
+#
+
+#Core security properties
+
+logout.success.url=/home?node=@@nodeId@@
+loginForm=/signin?node=@@nodeId@@
+loginErrorForm=/login.jsp?node=@@nodeId@@&failure=true
+passwordSalt=secret-hash-salt=
+
+# LDAP Connection Settings
+ldap.base.provider.url=ldap://localhost:389
+ldap.base.dn=dc=alkante,dc=domprodige
+ldap.security.principal=cn=admin,dc=alkante,dc=domprodige
+#ldap.security.credentials=ldap
+ldap.security.credentials=${overrides.ldap.security.credentials}
+
+
+ldap.base.search.base=ou=Users
+ldap.base.dn.pattern=uid={0},${ldap.base.search.base}
+#ldap.base.dn.pattern=mail={0},${ldap.base.search.base}
+
+
+# Define if groups and profile information are imported from LDAP. If not, local database is used.
+# When a new user connect first, the default profile is assigned. A user administrator can update
+# privilege information.
+ldap.privilege.import=true
+
+# Define if LDAP groups should be create in catalog
+# database if they do not exist.
+ldap.privilege.create.nonexisting.groups=true
+
+# Define if users should be saved in the LDAP
+ldap.privilege.create.nonexisting.users=true
+
+
+
+# Define the way to extract profiles and privileges from the LDAP
+# 1. Define one attribute for the profile and one for groups in config-security-overrides.properties
+
+# 2. Define one attribute for the privilege and define a custom pattern (use LDAPUserDetailsContextMapperWithPattern in config-security.xml).
+#ldap.privilege.pattern=
+#ldap.privilege.pattern=CAT_(.*)_(.*)
+#ldap.privilege.pattern.idx.group=1
+#ldap.privilege.pattern.idx.profil=2
+
+
+# 3. Define custom location for extracting group and role (no support for group/role combination) (use LDAPUserDetailsContextMapperWithProfileSearch in config-security.xml).
+ldap.privilege.search.group.attribute=ou
+ldap.privilege.search.group.object=ou=Groups
+ldap.privilege.search.group.queryprop=ou
+#ldap.privilege.search.group.query=(&(objectClass=*)(memberUid=uid={0},${ldap.base.search.base},${ldap.base.dn})(cn=EL_*))
+#ldap.privilege.search.group.query=(&(objectClass=*)(memberUid=uid={0},${ldap.base.search.base},${ldap.base.dn})(|(ou=SP_*)(ou=EL_*)))
+#ldap.privilege.search.group.query=(&(objectClass=alkPerson)(uid={0},${ldap.base.search.base},${ldap.base.dn}))
+ldap.privilege.search.group.query=(&(objectClass=alkOUGroup)(alkMember=${ldap.base.dn.pattern},${ldap.base.dn}))
+#ldap.privilege.search.group.pattern=EL_(.*)
+ldap.privilege.search.group.pattern=(.*)
+
+
+ldap.privilege.search.privilege.attribute=ou
+ldap.privilege.search.privilege.object=ou=Roles
+#ldap.privilege.search.privilege.query=(&(objectClass=*)(memberUid=uid={0},${ldap.base.search.base},${ldap.base.dn})(alkProfileName=SV_*))
+ldap.privilege.search.privilege.query=(&(objectClass=alkOUProfile)(alkMember=${ldap.base.dn.pattern},${ldap.base.dn}))
+#ldap.privilege.search.privilege.pattern=SV_(.*)
+ldap.privilege.search.privilege.pattern=(.*)
+
+
+# Run LDAP sync every day at 23:30
+ldap.sync.cron=0 30 23 * * ?
+#ldap.sync.cron=0 * * * * ?
+#ldap.sync.cron=0 0/1 * 1/1 * ? *
+ldap.sync.startDelay=60000
+ldap.sync.user.search.base=${ldap.base.search.base}
+ldap.sync.user.search.filter=(&(objectClass=alkPerson)(uid={0}))
+ldap.sync.user.search.attribute=uid
+
+ldap.sync.group.search.base=ou=Groups
+#ldap.sync.group.search.filter=(&(objectClass=posixGroup)(ou=EL_*))
+ldap.sync.group.search.filter=(&(objectClass=alkOUGroup)(ou={0}))
+ldap.sync.group.search.attribute=ou
+#ldap.sync.group.search.pattern=EL_(.*)
+ldap.sync.group.search.pattern=(.*)
+
+
+# CAS properties
+cas.baseURL=${overrides.cas.baseURL}
+cas.ticket.validator.url=${cas.baseURL}
+cas.login.url=${cas.baseURL}/login
+#cas.logout.url=${cas.baseURL}/logout?url=${geonetwork.https.url}
+cas.logout.url=${cas.baseURL}/logout?service=${geonetwork.https.url}
+
+# either the hardcoded url to the server
+# or if has the form @blah@ it will be replaced with
+# the server details from the server configuration
+#geonetwork.https.url=@to_be_replaced_at_runtime@
+geonetwork.https.url=${overrides.geonetwork.https.url}
+
+# The url to redirect to if a user logs in to one node then logs into another.
+wrongNodeRedirectURL=/@@nodeId@@/@@lang@@/node-change-warning?oldUserName=@@oldUserName@@&redirectedFrom=@@redirectedFrom@@&oldNodeId=@@oldNodeId@@
diff --git a/src/main/webapp/WEB-INF/config-security/config-security.xml b/src/main/webapp/WEB-INF/config-security/config-security.xml
new file mode 100644
index 0000000000000000000000000000000000000000..84c3bc0451096a234e84e5ab71ae66d9fe313c11
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-security/config-security.xml
@@ -0,0 +1,44 @@
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<beans
+  xmlns:ctx="http://www.springframework.org/schema/context"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans
+          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+          http://www.springframework.org/schema/context
+          http://www.springframework.org/schema/context/spring-context-3.0.xsd"
+  xmlns="http://www.springframework.org/schema/beans">
+  <!-- <sec:debug/> -->
+  <import resource="config-security-core.xml"/>
+  <import resource="config-security-mapping.xml"/>
+  <import resource="config-security-ldap.xml"/>
+  <!-- <import resource="config-security-ecas.xml"/> -->
+  <import resource="config-security-cas.xml"/>
+  <import resource="config-security-cas-ldap.xml"/>
+  <!-- <import resource="config-security-cas-database.xml"/> -->
+  <!-- <import resource="config-security-shibboleth.xml"/>  -->
+  <ctx:property-placeholder location="WEB-INF/config-security/config-security.properties"
+                            file-encoding="UTF-8" ignore-unresolvable="true" order="100"/>
+
+</beans>
diff --git a/src/main/webapp/WEB-INF/config-spring-geonetwork.xml b/src/main/webapp/WEB-INF/config-spring-geonetwork.xml
new file mode 100644
index 0000000000000000000000000000000000000000..992177db047ce47afa7ad28f9d6f61e158f0bed9
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-spring-geonetwork.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
+       xmlns:util="http://www.springframework.org/schema/util"
+       default-lazy-init="true"
+       xmlns="http://www.springframework.org/schema/beans"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
+        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+">
+  <context:annotation-config/>
+  
+  <context:property-placeholder location="WEB-INF/config.properties"
+                                file-encoding="UTF-8"
+                                ignore-unresolvable="true" />
+  
+  <context:property-placeholder location="WEB-INF/config-overrides.properties"
+                                file-encoding="UTF-8"
+                                ignore-unresolvable="true" />
+  
+  <import resource="config-spring-env.xml"/>
+  <import resource="config-security/config-security.xml"/>
+  <import resource="config-summary.xml"/>
+  <import resource="classpath:JZkitApplicationContext.xml"/>
+
+  <import resource="config-db/initial_data.xml"/>
+  <import resource="config-print/config-spring-print.xml"/>
+
+  <!-- For database configuration look in the config-node configuration files (config-node/srv.xml) -->
+
+  <!-- Import the versioning configuration (subversion etc...) -->
+  <import resource="config-versioning.xml"/>
+
+  <bean name="statusActionFactory"
+        class="org.fao.geonet.kernel.metadata.StatusActionsFactory">
+    <constructor-arg name="className" value="org.fao.geonet.kernel.metadata.DefaultStatusActions"/>
+  </bean>
+
+
+  <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
+    <property name="applicationContextSchedulerContextKey" value="applicationContext"/>
+  </bean>
+
+  <bean id="luceneDirectoryFactory" class="org.fao.geonet.kernel.search.index.FSDirectoryFactory"
+        lazy-init="true"/>
+
+  <bean id="httpRequestFactor" class="org.fao.geonet.utils.GeonetHttpRequestFactory">
+    <property name="numberOfConcurrentRequests" value="30"/>
+  </bean>
+
+  <bean id="language" class="org.fao.geonet.web.DefaultLanguage">
+    <property name="language" value="${language.default}"/>
+    <property name="forceDefault" value="${language.forceDefault}"/>
+  </bean>
+  
+  <!-- Define the languages in the UI. Seems like these should come from database
+    at some point but at the moment they are needed here. -->
+  <util:set id="languages" value-type="java.lang.String">
+    <value>ara</value>
+    <value>cat</value>
+    <value>chi</value>
+    <value>dut</value>
+    <value>eng</value>
+    <value>fin</value>
+    <value>fre</value>
+    <value>ger</value>
+    <value>ita</value>
+    <value>nor</value>
+    <value>pol</value>
+    <value>por</value>
+    <value>rus</value>
+    <value>spa</value>
+    <value>tur</value>
+  </util:set>
+
+  <util:map id="jpaPropertyMap">
+    <entry key="shared-cache-mode" value="ENABLE_SELECTIVE"/>
+    <entry key="javax.persistence.lock.timeout" value="30000"/>
+    <entry key="org.hibernate.flushMode" value="AUTO"/>
+    <entry key="access" value="PROPERTY"/>
+    <entry key="hibernate.id.new_generator_mappings" value="true"/>
+    <entry key="hibernate.cache.use_second_level_cache" value="true"/>
+    <!--<entry key="hibernate.cache.region.factory_class" value="org.hibernate.cache.internal.NoCachingRegionFactory"/> -->
+    <entry key="hibernate.cache.region.factory_class"
+           value="org.hibernate.cache.ehcache.EhCacheRegionFactory"/>
+    <entry key="hibernate.jdbc.batch_size" value="3"/>
+    <entry key="hibernate.jdbc.batch_versioned_data" value="true"/>
+    <entry key="hibernate.enable_lazy_load_no_trans" value="true"/>
+    <!-- If a specific schema has to be used
+    <entry key="hibernate.default_schema" value="catalog"/>
+
+    Note: If using more than one catalog in different schema
+    hibernate may failed to create sequence
+    (https://hibernate.atlassian.net/browse/HHH-5538).
+    In that case you may want to use a custom dialect
+    <entry key="hibernate.dialect" value="org.fao.geonet.dialect.CustomPostgreSQLDialect" />
+    -->
+  </util:map>
+
+  <util:list id="wro4jUrlsToInitialize" value-type="java.lang.String">
+    <value>lib.js</value>
+    <value>nv.d3.css</value>
+    <value>gn_search_default.css</value>
+    <value>gn_search_default.js</value>
+    <value>gn_editor_default.css</value>
+    <value>gn_editor.js</value>
+    <value>gn_admin_default.css</value>
+    <value>gn_admin.js</value>
+    <value>gn_login_default.css</value>
+    <value>srv_custom_style.css</value>
+    <value>gn_login.js</value>
+  </util:list>
+
+  <util:list id="formattersToInitialize" value-type="java.lang.String">
+    <value>full_view</value>
+    <value>xsl-view</value>
+    <value>xml_view</value>
+    <value>hierarchy_view</value>
+  </util:list>
+
+  <util:set id="formatterRemoteFormatAllowedHosts" value-type="java.lang.String"></util:set>
+  <bean id="threadResources" class="org.mapfish.print.ThreadResources">
+    <property name="connectionTimeout" value="30000"/>
+    <property name="socketTimeout" value="30000"/>
+    <property name="globalParallelFetches" value="50"/>
+    <property name="perHostParallelFetches" value="10"/>
+  </bean>
+
+  <util:set id="regionGetMapExpandFactors" set-class="java.util.TreeSet">
+    <bean class="org.fao.geonet.services.region.ExpandFactor"
+          p:proportion=".0005" p:factor="2"/>
+    <bean class="org.fao.geonet.services.region.ExpandFactor"
+          p:proportion=".01" p:factor=".5"/>
+    <bean class="org.fao.geonet.services.region.ExpandFactor"
+          p:proportion=".015" p:factor=".2"/>
+  </util:set>
+
+  <util:map id="regionGetMapBackgroundLayers">
+    <entry key="osm"
+           value="http://ows.terrestris.de/osm/service?SERVICE=WMS&amp;REQUEST=GetMap&amp;VERSION=1.1.0&amp;LAYERS=OSM-WMS&amp;STYLES=default&amp;SRS={srs}&amp;BBOX={minx},{miny},{maxx},{maxy}&amp;WIDTH={width}&amp;HEIGHT={height}&amp;FORMAT=image/png"/>
+  </util:map>
+
+
+  <bean id="slashSplitClassifier"
+        class="org.fao.geonet.kernel.search.classifier.Split" lazy-init="true">
+    <constructor-arg name="regex" value="\s*?/\s*?"/>
+  </bean>
+  <!--
+  Example configuration for hierarchical facet based on
+  the GeoNetwork region thesaurus or GEMET.
+
+  Do not forget to add facet configuration on config-summary.xml
+
+  <bean id="regionKeywordClassifier"
+        class="org.fao.geonet.kernel.search.classifier.TermLabel" lazy-init="true">
+    <constructor-arg name="finder" ref="ThesaurusManager"/>
+    <constructor-arg name="conceptScheme" value="http://geonetwork-opensource.org/thesaurus/naturalearth-and-seavox"/>
+    <constructor-arg name="langCode" value="eng"/>
+  </bean>
+  <bean id="gemetKeywordClassifier"
+        class="org.fao.geonet.kernel.search.classifier.TermLabel" lazy-init="true">
+    <constructor-arg name="finder" ref="ThesaurusManager"/>
+    <constructor-arg name="conceptScheme" value="http://geonetwork-opensource.org/gemet"/>
+    <constructor-arg name="langCode" value="eng"/>
+  </bean>
+  -->
+  <bean id="domainKeywordClassifier"
+        class="org.fao.geonet.kernel.search.classifier.TermLabel" lazy-init="true">
+    <constructor-arg name="finder" ref="ThesaurusManager"/>
+    <constructor-arg name="conceptScheme" value="http://geonetwork-opensource.org/domaines"/>
+    <constructor-arg name="langCode" value="eng"/>
+  </bean>
+</beans>
diff --git a/src/main/webapp/WEB-INF/config-summary.xml b/src/main/webapp/WEB-INF/config-summary.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ee9124f723108d272a362bf1159cbf532595993f
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config-summary.xml
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<bean:beans xmlns:bean="http://www.springframework.org/schema/beans"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            default-lazy-init="true"
+            xmlns="http://www.fao.org/geonetwork/spring"
+            xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.fao.org/geonetwork/spring http://www.fao.org/geonetwork/spring/gn-spring.xsd
+    "
+>
+  <!--
+      Configuration of the taxonomy index used for faceting and
+      formatting/building facet summaries
+
+      Each facet to be indexed is defined in the facets element. The facets element
+      lists the facets to index and how they should be indexed using attributes on facet elements as follows:
+
+      * name: the name of the facet
+      * indexKey: the name of the indexing field to be used for the facet
+      * label: the label to use for the facet in returned summaries
+      * classifier: (optional) a reference to a spring bean that should be used to
+          determine facet values for the indexing field.
+          The bean must implement the org.fao.kernel.search.classifier.Classifier interface
+          Defaults to a classifier which uses the value of the field to be indexed
+
+      When a facet definitionis modified or added, the index MUST be rebuilt.
+
+      How facet summaries should be built and formatted for each summary type is defined
+      in the summaryTypes element. The summaryTypes element contains a number of summary type elements each
+      of which define a facet summary that can be configured for a service. Each summary type
+      element contains a number of item elements defining facets to be returned and how they
+      should be formatted as follows:
+
+      * facet: the name of a facet defined above
+      * (optional) sortBy: the ordering for the facet. Defaults to by count.
+      * (optional) sortOrder: asc or desc. Defaults is descendant.
+      * (optional) max: the number of values to be returned for the facet. Defaults to 10.
+      * (optional) depth: the depth to which hierarchical facets should be summarised. Defaults to 1.
+      * (optional) format: the format to be used for generating facet summary elements. Defaults to
+          'FACET_NAME'. Can also be 'DIMENSION', which uses a top level
+          dimension tag and category tags for sub-categories which is more suitable for hierarchical facets.
+      * (optional) translator: Define a DB translator to retrieve label from description
+          tables (eg. categoriesdes) or codelist translator to retrieve label from schema
+          codelists files.
+
+    eg. for category
+
+          <item dimension="category" plural="categories" indexKey="_cat" max="45"
+              translator="db:org.fao.geonet.repository.MetadataCategoryRepository:findOneByName"/>
+
+    or for group
+
+          <item dimension="groupOwner" plural="groupOwners" indexKey="_groupOwner"
+          max="99" sortBy="value" translator="db:org.fao.geonet.repository.GroupRepository:findOne:int"/>
+
+  -->
+
+  <facets>
+    <facet name="keyword" indexKey="keyword" label="keywords" localized="true"/>
+    <facet name="topicCat" indexKey="topicCat" label="topicCats" localized="true"/>
+    <facet name="category" indexKey="_cat" label="categories" localized="true"/>
+    <facet name="inspireTheme" indexKey="inspiretheme" label="inspireThemes"/>
+    <facet name="inspireThemeWithAc" indexKey="inspirethemewithac" label="inspireThemesWithAc"/>
+    <facet name="inspireThemeURI" indexKey="inspirethemeuri" label="inspireThemesURI"/>
+    <facet name="denominator" indexKey="denominator" label="denominators"/>
+    <facet name="resolution" indexKey="resolution" label="resolutions"/>
+    <facet name="spatialRepresentationType" indexKey="cl_spatialRepresentationType"
+           label="spatialRepresentationTypes"/>
+    <facet name="orgName" indexKey="orgName" label="orgNames" localized="true"/>
+    <facet name="orgNameTree" indexKey="orgNameTree" label="orgNamesTree"
+           classifier="slashSplitClassifier"/>
+    <facet name="metadataPOC" indexKey="metadataPOC" label="metadataPOCs"/>
+    <facet name="serviceType" indexKey="serviceType" label="serviceTypes"/>
+    <facet name="type" indexKey="type" label="types"/>
+    <facet name="createDateYear" indexKey="createDateYear" label="createDateYears"/>
+    <facet name="format" indexKey="format" label="formats"/>
+    <facet name="title" indexKey="title" label="titles"/>
+    <facet name="metadataType" indexKey="_isTemplate" label="metadataTypes"/>
+    <facet name="isValid" indexKey="_valid" label="isValid" localized="true"/>
+    <facet name="isHarvested" indexKey="_isHarvested" label="isHarvested"/>
+    <facet name="mdStatus" indexKey="_status" label="mdStatus"/>
+    <facet name="status" indexKey="cl_status" label="status"/>
+    <facet name="sourceCatalog" indexKey="_source" label="sourceCatalog"/>
+    <facet name="standard" indexKey="_schema" label="standards"/>
+    <facet name="subTemplateType" indexKey="_root" label="subTemplateTypes"/>
+    <facet name="groupOwner" indexKey="_groupOwner" label="groupOwners"/>
+    <facet name="publishedForGroup" indexKey="_groupPublished" label="publishedForGroup"/>
+	  <facet name="isPublishedToAll" indexKey="_isPublishedToAll" label="isPublishedToAll" />
+    
+    <facet name="domainKeyword"
+       label="Domaines"
+       indexKey="keyword"
+       classifier="domainKeywordClassifier"/>
+       
+    <!--
+    Example configuration for hierarchical facet based on
+    the GeoNetwork region thesaurus or GEMET.
+
+    Do not forget to add classifier configuration on config-spring-geonetwork.xml
+
+    Then add facet in one summaryType having format="DIMENSION" attribute.
+    <facet name="region" label="regions"
+           indexKey="keyword"
+           classifier="regionKeywordClassifier"/>
+    <facet name="gemetKeyword" label="gemetKeywords"
+           indexKey="keyword"
+           classifier="gemetKeywordClassifier"/>
+         -->
+
+    <facet name="maintenanceAndUpdateFrequency" indexKey="cl_maintenanceAndUpdateFrequency"
+           label="maintenanceAndUpdateFrequencies"/>
+    <facet name="mdActions" indexKey="_mdActions" label="mdActions"/>
+  </facets>
+
+  <summaryTypes>
+    <summaryType name="details" format="DIMENSION">
+      <item facet="domainKeyword" depth="3"  max="1000"
+            translator="term:http://geonetwork-opensource.org/domaines"/>
+      
+      <item facet="isHarvested" max="2" sortBy="value" translator="apploc:"/>  
+      <item facet="sourceCatalog"
+            translator="db:org.fao.geonet.repository.SourceRepository:findOneByUuid" max="25"/>
+            
+      <item facet="type" translator="codelist:gmd:MD_ScopeCode"/>
+      <item facet="mdActions"/>
+      <item facet="topicCat" translator="codelist:gmd:MD_TopicCategoryCode" max="20"/>
+      <item facet="inspireThemeURI" sortBy="value" sortOrder="asc" max="35"
+            translator="term:http://geonetwork-opensource.org/inspire-theme"/>
+      <!--<item facet="inspireTheme" sortBy="value" sortOrder="asc" max="35"/>-->
+      <!--<item facet="inspireThemeWithAc" sortBy="value" sortOrder="asc" max="35"/>-->
+      <item facet="keyword" max="15"/>
+      <item facet="orgName" max="25"/>
+      <item facet="sourceCatalog"
+            translator="db:org.fao.geonet.repository.SourceRepository:findOneByUuid"/>
+      <item facet="createDateYear" sortBy="value" sortOrder="desc" max="40"/>
+      <item facet="format" max="15" sortBy="value" sortOrder="asc"/>
+      <item facet="spatialRepresentationType"
+            translator="codelist:gmd:MD_SpatialRepresentationTypeCode"/>
+      <item facet="maintenanceAndUpdateFrequency"
+            translator="codelist:gmd:MD_MaintenanceFrequencyCode"/>
+      <item facet="status" translator="codelist:gmd:MD_ProgressCode"/>
+      <item facet="serviceType"/>
+      <item facet="denominator" sortBy="numValue" sortOrder="desc"/>
+      <item facet="resolution" sortBy="numValue" sortOrder="desc"/>
+      <!--
+      <item facet="region"
+            translator="term:http://geonetwork-opensource.org/thesaurus/naturalearth-and-seavox"/>
+      <item facet="gemetKeyword"
+            translator="term:http://geonetwork-opensource.org/gemet"/>
+      -->
+    </summaryType>
+
+    <summaryType name="manager" format="DIMENSION">
+      <item facet="domainKeyword" depth="3"  max="1000"
+            translator="term:http://geonetwork-opensource.org/domaines"/>
+      <item facet="sourceCatalog"
+            translator="db:org.fao.geonet.repository.SourceRepository:findOneByUuid" max="25"/>
+      <item facet="type" translator="codelist:gmd:MD_ScopeCode"/>
+      <!-- ALK DELETE
+      <item facet="category" max="99" sortBy="value"
+            translator="db:org.fao.geonet.repository.MetadataCategoryRepository:findOneByName"/> -->
+      <item facet="mdStatus" max="10" sortBy="value"
+            translator="db:org.fao.geonet.repository.StatusValueRepository:findOne:int"/>
+            
+      <item facet="isValid" max="3" sortBy="value" translator="apploc:validStatus-"/>
+      <item facet="groupOwner" max="199" sortBy="value"
+            translator="db:org.fao.geonet.repository.GroupRepository:findOne:int"/>
+      <item facet="publishedForGroup" max="199" sortBy="value"
+            translator="db:org.fao.geonet.repository.GroupRepository:findOneByName"/>
+      <item facet="standard" max="15" sortBy="value"/>
+      <item facet="isHarvested" max="2" sortBy="value" translator="apploc:"/>
+      <item facet="metadataType" max="3" sortBy="value" translator="apploc:recordType-"/>
+      <item facet="spatialRepresentationType"
+            translator="codelist:gmd:MD_SpatialRepresentationTypeCode"/>
+	    <item facet="isPublishedToAll" max="2" sortBy="value" translator="apploc:"/>
+    </summaryType>
+
+    <!-- (deprecated) old-style configuration supporting only
+    flat facet. It's recommended to use format="DIMENSION" for facet.
+    See above. -->
+    <summaryType name="hits">
+      <item facet="type" translator="codelist:gmd:MD_ScopeCode"/>
+      <item facet="topicCat" translator="codelist:gmd:MD_TopicCategoryCode" max="20"/>
+      <item facet="inspireTheme" sortBy="value" sortOrder="asc" max="35"/>
+      <item facet="inspireThemeWithAc" sortBy="value" sortOrder="asc" max="35"/>
+      <item facet="inspireThemeURI" sortBy="value" sortOrder="asc" max="35"
+            translator="term:http://geonetwork-opensource.org/inspire-theme"/>
+      <item facet="keyword" max="15"/>
+      <item facet="orgName" max="25"/>
+      <item facet="createDateYear" sortBy="value" sortOrder="desc" max="40"/>
+      <item facet="format" max="15" sortBy="value" sortOrder="asc"/>
+      <item facet="spatialRepresentationType"
+            translator="codelist:gmd:MD_SpatialRepresentationTypeCode"/>
+      <item facet="maintenanceAndUpdateFrequency"
+            translator="codelist:gmd:MD_MaintenanceFrequencyCode"/>
+      <item facet="status" translator="codelist:gmd:MD_ProgressCode"/>
+      <item facet="serviceType"/>
+      <item facet="denominator" sortBy="numValue" sortOrder="desc"/>
+      <item facet="resolution" sortBy="numValue" sortOrder="desc"/>
+      <!--<item facet="metadataPOC" max="15"/>-->
+    </summaryType>
+    <summaryType name="subtemplates">
+      <item facet="subTemplateType"/>
+      <item facet="groupOwner" max="99" sortBy="value"
+            translator="db:org.fao.geonet.repository.GroupRepository:findOne:int"/>
+      <item facet="isValid" max="3" sortBy="value" translator="apploc:validStatus-"/>
+    </summaryType>
+    <summaryType name="contact" format="DIMENSION">
+      <item facet="orgNameTree" max="99"/>
+      <item facet="groupOwner" max="99" sortBy="value"
+            translator="db:org.fao.geonet.repository.GroupRepository:findOne:int"/>
+      <item facet="isValid" max="3" sortBy="value" translator="apploc:validStatus-"/>
+    </summaryType>
+    <summaryType name="titles">
+      <item facet="title" sortOrder="desc" max="100"/>
+    </summaryType>
+    <summaryType name="results">
+      <item facet="keyword" max="100"/>
+    </summaryType>
+    <summaryType name="results_with_summary">
+      <item facet="keyword" max="15"/>
+      <item facet="inspireTheme" sortBy="value" sortOrder="asc" max="35"/>
+      <item facet="denominator" sortBy="value" sortOrder="asc" max="20"/>
+      <item facet="spatialRepresentationType"
+            translator="codelist:gmd:MD_SpatialRepresentationTypeCode"/>
+      <item facet="orgName" max="15"/>
+      <item facet="metadataPOC" max="15"/>
+      <item facet="serviceType"/>
+      <item facet="type" translator="codelist:gmd:MD_ScopeCode"/>
+      <item facet="createDateYear" sortOrder="asc" max="40"/>
+    </summaryType>
+    <summaryType name="suggestions">
+      <item facet="keyword"/>
+      <item facet="title" sortOrder="desc" max="100"/>
+      <item facet="inspireTheme" sortBy="value" sortOrder="asc"/>
+      <item facet="denominator" sortBy="value" sortOrder="asc"/>
+      <item facet="spatialRepresentationType"
+            translator="codelist:gmd:MD_SpatialRepresentationTypeCode"/>
+      <item facet="orgName" max="100"/>
+      <item facet="metadataPOC"/>
+      <item facet="serviceType"/>
+      <item facet="type" translator="codelist:gmd:MD_ScopeCode"/>
+      <item facet="createDateYear" sortOrder="asc"/>
+    </summaryType>
+  </summaryTypes>
+
+</bean:beans>
diff --git a/src/main/webapp/WEB-INF/config.xml b/src/main/webapp/WEB-INF/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..998427c22cb56aed47243920175100962b0d0150
--- /dev/null
+++ b/src/main/webapp/WEB-INF/config.xml
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<geonet>
+  <!-- ====================================================================== -->
+
+  <general>
+    <!-- Size must be in megabyte (integer), 100MB by default -->
+    <maxUploadSize>100</maxUploadSize>
+    <uploadDir>./data/tmp</uploadDir>
+    <debug>false</debug>
+  </general>
+
+  <!-- ====================================================================== -->
+
+  <default>
+    <service>home</service>
+    <!-- the following service is called if there is an exception raised
+            during the initialization of resources or
+            the appHandler org.fao.geonet.Geonetwork
+        -->
+    <startupErrorService>error</startupErrorService>
+    <language>fre</language>
+    <localized>true</localized>
+    <contentType>text/html; charset=UTF-8</contentType>
+
+    <gui>
+      <xml name="strings" file="xml/strings.xml"/>
+
+      <call name="isolanguages" class="org.fao.geonet.guiservices.isolanguages.Get"/>
+
+      <call name="session" class="jeeves.guiservices.session.Get"/>
+      <call name="env" class="org.fao.geonet.guiservices.util.Env"/>
+      <call name="systemConfig" class="org.fao.geonet.services.config.Get"/>
+      <call name="results" class="org.fao.geonet.guiservices.search.GetResultsInfo"/>
+      <call name="schemalist" class="org.fao.geonet.guiservices.schemas.Get"/>
+      <call name="svnmanager" class="org.fao.geonet.guiservices.util.GetSvnDetails"/>
+
+      <!-- this service adds labels and codelists from all schemas -->
+      <call name="schemas" class="org.fao.geonet.guiservices.schemas.GetSchemaInfo"/>
+      <!-- @vlc start utile ? -->
+      <xml name="config" file="WEB-INF/config-gui.xml" localized="false" />
+      <!-- @vlc end -->
+    </gui>
+
+    <!-- no privileges to access the service -->
+
+    <error id="service-not-allowed" sheet="../xslt/common/error.xsl" statusCode="403">
+      <xml name="error" file="xml/privileges-error.xml"/>
+    </error>
+
+    <!-- data in upload too big -->
+
+    <error id="file-upload-too-big" sheet="../xslt/common/error.xsl">
+      <xml name="error" file="xml/file-too-big-error.xml"/>
+    </error>
+
+    <!-- general error -->
+
+    <error sheet="../xslt/common/error.xsl">
+      <xml name="error" file="xml/error.xml"/>
+    </error>
+
+  </default>
+
+  <!-- ====================================================================== -->
+
+  <appHandler class="org.fao.geonet.Geonetwork">
+    <!-- language profiles for automatic language detection -->
+    <param name="languageProfilesDir" value="resources/language-profiles"/>
+
+    <param name="licenseDir" value="WEB-INF/licenses"/>
+    <param name="summaryConfig" value="WEB-INF/config-summary.xml"/>
+    <!-- @vlc start utile ? -->
+    <param name="guiConfig" value="WEB-INF/config-gui.xml" />
+    <!-- @vlc end -->
+    <param name="luceneConfig" value="WEB-INF/config-lucene.xml"/>
+
+    <!-- Preferred schema parameter is used on import
+            when a ZIP or MEF file is imported with more than one
+            xml files. For example, export produce one file for
+            iso19139 and on file for the ISO profil (eg. fra, che).
+
+            Recommanded value is iso19139 if user is not
+            interested for having metadata in a specific
+            ISO profil.
+        -->
+    <param name="preferredSchema" value="iso19139"/>
+    <param name="jzkitConfig" value="JZkitApplicationContext.xml"/>
+    <param name="metadataNotifierConfig" value="WEB-INF/config-notifier.xml"/>
+<!-- ALK@4.1: comment params -->
+    <!-- search statistics stuff -->
+    <!-- true to log into DB WKT of spatial objects involved in a search operation
+        CAUTION ! this can lead to HUGE database and CSV export if detailed geo objects are used:
+        several Gb for instance...-->
+<!--     <param name="statLogSpatialObjects" value="false"/> -->
+<!--     <param name="statLogAsynch" value="true"/> -->
+    <!-- The list of Lucene term fields to exlucde from log, to avoid storing unecessary information -->
+<!--     <param name="statLuceneTermsExclude"
+           value="_op0,_op1,_op2,_op3,_op4,_op5,_op6,_isTemplate,_locale,_owner,_groupOwner,_dummy,type"/> -->
+<!-- /ALK@4.1 -->
+
+    <!-- The maximum number of writes in a transaction on the spatial index
+
+            Set to 1 forces the spatialIndexWriter to commit after each spatial
+            feature is written. Set to a large number and commits are delayed until
+            that number of spatial features is written (this should be faster than
+            committing after each write). Be aware that setting this
+            number to anything other than 1 can cause problems with indexing
+            if the connection to the database is closed whilst GeoNetwork is running
+            (eg. if the db admin shuts the database for maintenance reasons).
+        -->
+    <param name="maxWritesInTransaction" value="1"/>
+
+    <param name="DBHeartBeatEnabled" value="false"/>
+    <param name="DBHeartBeatInitialDelaySeconds" value="20"/>
+    <param name="DBHeartBeatFixedDelaySeconds" value="20"/>
+
+    <!-- Define if the schema catalog should be updated on startup.
+        Default is true. -->
+    <param name="createOrUpdateSchemaCatalog" value="true"/>
+  </appHandler>
+
+  <!-- ====================================================================== -->
+
+  <services package="org.fao.geonet">
+
+    <!-- Ext GUIs -->
+    <service name="feedback.send">
+      <class name=".services.feedback.Receptor"/>
+      <output sheet="extjs-feedback-response.xsl" contentType="application/json; charset=UTF-8"/>
+    </service>
+
+    <service name="util.ping">
+      <class name="jeeves.services.Ping"/>
+    </service>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- Resources management services                                 -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <service name="file.disclaimer">
+      <class name=".services.feedback.AddLimitations"/>
+      <output sheet="file-download-disclaimer.xsl"/>
+    </service>
+
+
+    <service name="file.download">
+      <class name=".services.feedback.Insert"/>
+
+      <output sheet="file-download.xsl"/>
+    </service>
+
+    <service name="prepare.file.download">
+      <class name=".services.metadata.PrepareFileDownload"/>
+      <output sheet="file-download-list.xsl"/>
+    </service>
+
+    <service name="resources.get.archive">
+      <class name=".services.resources.DownloadArchive"/>
+
+      <error id="file-not-found" sheet="error-embedded.xsl" statusCode="404">
+        <xml name="error" file="xml/file-not-found-error.xml"/>
+      </error>
+
+      <output file="true"/>
+    </service>
+
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- KML services -->
+    <!-- Show WMS service in GE -->
+    <service name="google.kml">
+      <class name=".services.metadata.Show"/>
+      <output sheet="kml.xsl" contentType="application/kml; charset=UTF-8">
+      </output>
+      <error id="operation-not-allowed" sheet="../xslt/common/error.xsl" statusCode="403">
+        <xml name="error" file="xml/privileges-error.xml"/>
+      </error>
+    </service>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- MEF services -->
+
+    <service name="mef.import">
+      <class name=".services.mef.Import"/>
+      <error sheet="xml-error.xsl" contentType="application/xml; charset=UTF-8"/>
+    </service>
+
+    <service name="xml.mef.import.ui">
+      <!-- TODO rename Catalogue.js -->
+      <class name=".services.mef.Import"/>
+      <output sheet="metadata/md-insert-results.xsl"/>
+
+      <error sheet="error-xml.xsl"/>
+    </service>
+
+    <service name="map.import">
+      <class name=".services.mef.ImportWebMap"/>
+      <error sheet="xml-error.xsl" contentType="application/xml; charset=UTF-8"/>
+    </service>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <service name="mef.export">
+      <class name=".services.mef.Export"/>
+      <output file="true"/>
+      <error sheet="xml-error.xsl" contentType="application/xml; charset=UTF-8"/>
+    </service>
+
+
+    <service name="crs.types" deprecated="true">
+      <!-- Still used by ExtJS editor -->
+      <class name=".services.crs.GetCRSTypes"/>
+    </service>
+    <service name="crs.get" deprecated="true">
+      <!-- Still used by ExtJS editor -->
+      <class name=".services.crs.GetCRS"/>
+      <output sheet="crs.xsl" contentType="text/xml; charset=UTF-8"/>
+    </service>
+
+
+    <service name="isolanguages" deprecated="true">
+      <!-- Still used by ExtJS search form criteria on language -->
+      <class name="org.fao.geonet.guiservices.isolanguages.Get"/>
+    </service>
+  </services>
+
+  <!-- ====================================================================== -->
+
+  <include>config-metadata.xml</include>
+  <include>config-metadata-experimental.xml</include>
+  <include>config-portal.xml</include>
+  <include>config-export.xml</include>
+
+  <!-- ====================================================================== -->
+
+  <!-- New section of services based on refactoring
+    guideline https://github.com/geonetwork/core-geonetwork/wiki/RefactoringXSLTAndUserInterface -->
+
+  <include>config/config-service-xml-api.xml</include>
+
+  <include>config/config-service-search.xml</include>
+  <include>config/config-service-sru.xml</include>
+  <include>config/config-service-oai.xml</include>
+  <include>config/config-service-rss.xml</include>
+  <include>config/config-service-csv.xml</include>
+  <include>config/config-service-dcat-rdf.xml</include>
+  <include>config/config-service-pdf.xml</include>
+
+  <include>config/config-service-thesaurus.xml</include>
+  <include>config/config-service-region.xml</include>
+
+  <include>config/config-service-admin.xml</include>
+  <include>config/config-service-admin-harvesting.xml</include>
+
+  <include>config/config-service-admin-schema.xml</include>
+  <include>config/config-service-admin-schematron.xml</include>
+  <include>config/config-service-batch.xml</include>
+
+  <include>config/config-service-admin-notification.xml</include>
+  <include>config/config-service-admin-index.xml</include>
+  <include>config/config-service-admin-io.xml</include>
+  <include>config/config-service-admin-logo.xml</include>
+  <include>config/config-service-admin-user-and-group.xml</include>
+  <include>config/config-service-admin-geoserver-publication.xml</include>
+  <include>config/config-service-admin-transfert-privileges.xml</include>
+  <include>config/config-service-admin-formatter.xml</include>
+
+  <!-- ALK@4.1:comment <include>config/config-service-statistics.xml</include> --> 
+
+  <include>config/config-service-csw.xml</include>
+  <include>config/config-service-csw-virtual.xml</include>
+
+  <include>config/config-service-sitemap.xml</include>
+
+  <include>config/config-service-crs.xml</include>
+
+  <include>config/config-service-subtemplate.xml</include>
+
+  <include>config/config-ui-search.xml</include>
+  <include>config/config-ui-metadata.xml</include>
+  <include>config/config-ui-admin.xml</include>
+
+  <include>config/config-service-monitoring.xml</include>
+
+  <include>config/config-service-reports.xml</include>
+
+  <include>config/config-service-inspireatom.xml</include>
+</geonet>
diff --git a/src/main/webapp/WEB-INF/data/config/codelist/external/thesauri/theme/inspire-service-taxonomy.rdf b/src/main/webapp/WEB-INF/data/config/codelist/external/thesauri/theme/inspire-service-taxonomy.rdf
new file mode 100644
index 0000000000000000000000000000000000000000..08edcd23fc0c38a16e02adee380081f4859f97f3
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/codelist/external/thesauri/theme/inspire-service-taxonomy.rdf
@@ -0,0 +1,1912 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:exslt="http://exslt.org/common" xmlns:gemet="http://www.eionet.europa.eu/gemet/2004/06/gemet-schema.rdf#">
+  <skos:ConceptScheme rdf:about="http://geonetwork-opensource.org/inspire-service-taxonomy">
+    <dc:title>INSPIRE Service taxonomy</dc:title>
+    <dc:description>INSPIRE service taxonomy for GeoNetwork opensource.
+	Codelist is used for now and should be stored in gmd:keywords elements.
+	Another option could be to add "Translation (codelistValue)" in gmd:keywords.
+	INSPIRE schematron rules could then use contains instead of equal operator.</dc:description>
+    <dc:creator>
+      <foaf:Organization>
+        <foaf:name />
+      </foaf:Organization>
+    </dc:creator>
+    <dcterms:modified>2010-04-22 07:57:15</dcterms:modified>
+  </skos:ConceptScheme>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanInteractionService">
+    <skos:prefLabel xml:lang="fr">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanInteractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanInteractionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanCatalogueViewer">
+    <skos:prefLabel xml:lang="fr">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanCatalogueViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanCatalogueViewer</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanGeographicViewer">
+    <skos:prefLabel xml:lang="fr">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanGeographicViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanGeographicViewer</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanGeographicSpreadsheetViewer">
+    <skos:prefLabel xml:lang="fr">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanGeographicSpreadsheetViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanGeographicSpreadsheetViewer</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanServiceEditor">
+    <skos:prefLabel xml:lang="fr">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanServiceEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanServiceEditor</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanChainDefinitionEditor">
+    <skos:prefLabel xml:lang="fr">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanChainDefinitionEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanChainDefinitionEditor</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanWorkflowEnactmentManager">
+    <skos:prefLabel xml:lang="fr">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanWorkflowEnactmentManager</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanWorkflowEnactmentManager</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanGeographicFeatureEditor">
+    <skos:prefLabel xml:lang="fr">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanGeographicFeatureEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanGeographicFeatureEditor</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanGeographicSymbolEditor">
+    <skos:prefLabel xml:lang="fr">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanGeographicSymbolEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanGeographicSymbolEditor</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanFeatureGeneralizationEditor">
+    <skos:prefLabel xml:lang="fr">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanFeatureGeneralizationEditor</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanFeatureGeneralizationEditor</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:humanGeographicDataStructureViewer">
+    <skos:prefLabel xml:lang="fr">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">humanGeographicDataStructureViewer</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">humanGeographicDataStructureViewer</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoManagementService">
+    <skos:prefLabel xml:lang="fr">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoManagementService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoFeatureAccessService">
+    <skos:prefLabel xml:lang="fr">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoFeatureAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoFeatureAccessService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoMapAccessService">
+    <skos:prefLabel xml:lang="fr">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoMapAccessService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoMapAccessService">
+    <skos:prefLabel xml:lang="fr">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoMapAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoMapAccessService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoChartAccessService">
+    <skos:prefLabel xml:lang="fr">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoChartAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoChartAccessService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoSensorDescriptionService">
+    <skos:prefLabel xml:lang="fr">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoSensorDescriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoSensorDescriptionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoProductAccessService">
+    <skos:prefLabel xml:lang="fr">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoProductAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoProductAccessService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoFeatureTypeService">
+    <skos:prefLabel xml:lang="fr">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoFeatureTypeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoFeatureTypeService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoCatalogueService">
+    <skos:prefLabel xml:lang="fr">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoCatalogueService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoCatalogueService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoRegistryService">
+    <skos:prefLabel xml:lang="fr">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoRegistryService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoRegistryService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoGazetteerService">
+    <skos:prefLabel xml:lang="fr">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoGazetteerService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoGazetteerService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoOrderHandlingService">
+    <skos:prefLabel xml:lang="fr">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoOrderHandlingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoOrderHandlingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:infoStandingOrderService">
+    <skos:prefLabel xml:lang="fr">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoStandingOrderService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoStandingOrderService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:taskManagementService">
+    <skos:prefLabel xml:lang="fr">taskManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">taskManagementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoCoverageAccessService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:chainDefinitionService">
+    <skos:prefLabel xml:lang="fr">chainDefinitionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">chainDefinitionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">infoCoverageAccessService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">infoCoverageAccessService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:workflowEnactmentService">
+    <skos:prefLabel xml:lang="fr">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">workflowEnactmentService</skos:prefLabel>
+	<skos:prefLabel xml:lang="nl">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">workflowEnactmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">workflowEnactmentService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:subscriptionService">
+    <skos:prefLabel xml:lang="fr">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">subscriptionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">subscriptionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialProcessingService">
+    <skos:prefLabel xml:lang="fr">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialProcessingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialCoordinateConversionService">
+    <skos:prefLabel xml:lang="fr">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialCoordinateConversionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialCoordinateTransformationService">
+    <skos:prefLabel xml:lang="fr">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialCoordinateTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialCoordinateTransformationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialCoverageVectorConversionService">
+    <skos:prefLabel xml:lang="fr">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialCoverageVectorConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialCoverageVectorConversionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialImageCoordinateConversionService">
+    <skos:prefLabel xml:lang="fr">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialImageCoordinateConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialImageCoordinateConversionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialRectificationService">
+    <skos:prefLabel xml:lang="fr">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialRectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialRectificationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialOrthorectificationService">
+    <skos:prefLabel xml:lang="fr">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialOrthorectificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialOrthorectificationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialSensorGeometryModelAdjustmentService">
+    <skos:prefLabel xml:lang="fr">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialSensorGeometryModelAdjustmentService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialImageGeometryModelConversionService">
+    <skos:prefLabel xml:lang="fr">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialImageGeometryModelConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialImageGeometryModelConversionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialSubsettingService">
+    <skos:prefLabel xml:lang="fr">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialSubsettingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialSamplingService">
+    <skos:prefLabel xml:lang="fr">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialSamplingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialTilingChangeService">
+    <skos:prefLabel xml:lang="fr">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialTilingChangeService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialTilingChangeService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialDimensionMeasurementService">
+    <skos:prefLabel xml:lang="fr">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialDimensionMeasurementService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialDimensionMeasurementService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialFeatureManipulationService">
+    <skos:prefLabel xml:lang="fr">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialFeatureManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialFeatureManipulationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialFeatureMatchingService">
+    <skos:prefLabel xml:lang="fr">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialFeatureMatchingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialFeatureMatchingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialFeatureGeneralizationService">
+    <skos:prefLabel xml:lang="fr">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialFeatureGeneralizationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialRouteDeterminationService">
+    <skos:prefLabel xml:lang="fr">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialRouteDeterminationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialRouteDeterminationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialPositioningService">
+    <skos:prefLabel xml:lang="fr">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialPositioningService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialPositioningService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:spatialProximityAnalysisService">
+    <skos:prefLabel xml:lang="fr">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">spatialProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">spatialProximityAnalysisService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicProcessingService">
+    <skos:prefLabel xml:lang="fr">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicProcessingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicGoparameterCalculationService">
+    <skos:prefLabel xml:lang="fr">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicGoparameterCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicGoparameterCalculationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicClassificationService">
+    <skos:prefLabel xml:lang="fr">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicClassificationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicClassificationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicFeatureGeneralizationService">
+    <skos:prefLabel xml:lang="fr">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicFeatureGeneralizationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicFeatureGeneralizationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicSubsettingService">
+    <skos:prefLabel xml:lang="fr">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicSubsettingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicSpatialCountingService">
+    <skos:prefLabel xml:lang="fr">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicSpatialCountingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicSpatialCountingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicChangeDetectionService">
+    <skos:prefLabel xml:lang="fr">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicChangeDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicChangeDetectionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicGeographicInformationExtractionService">
+    <skos:prefLabel xml:lang="fr">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicGeographicInformationExtractionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicGeographicInformationExtractionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicImageProcessingService">
+    <skos:prefLabel xml:lang="fr">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicImageProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicImageProcessingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicReducedResolutionGenerationService">
+    <skos:prefLabel xml:lang="fr">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicReducedResolutionGenerationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicReducedResolutionGenerationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicImageManipulationService">
+    <skos:prefLabel xml:lang="fr">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicImageManipulationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicImageUnderstandingService">
+    <skos:prefLabel xml:lang="fr">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicImageUnderstandingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicImageUnderstandingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicImageSynthesisService">
+    <skos:prefLabel xml:lang="fr">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicImageSynthesisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicImageSynthesisService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicMultibandImageManipulationService">
+    <skos:prefLabel xml:lang="fr">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicMultibandImageManipulationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicMultibandImageManipulationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicObjectDetectionService">
+    <skos:prefLabel xml:lang="fr">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicObjectDetectionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicObjectDetectionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicGeoparsingService">
+    <skos:prefLabel xml:lang="fr">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicGeoparsingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicGeoparsingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:thematicGeocodingService">
+    <skos:prefLabel xml:lang="fr">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">thematicGeocodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">thematicGeocodingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:temporalProcessingService">
+    <skos:prefLabel xml:lang="fr">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">temporalProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">temporalProcessingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:temporalReferenceSystemTransformationService">
+    <skos:prefLabel xml:lang="fr">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">temporalReferenceSystemTransformationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">temporalReferenceSystemTransformationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:temporalSubsettingService">
+    <skos:prefLabel xml:lang="fr">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">temporalSubsettingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">temporalSubsettingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:temporalSamplingService">
+    <skos:prefLabel xml:lang="fr">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">temporalSamplingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">temporalSamplingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:temporalProximityAnalysisService">
+    <skos:prefLabel xml:lang="fr">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">temporalProximityAnalysisService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">temporalProximityAnalysisService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:metadataProcessingService">
+    <skos:prefLabel xml:lang="fr">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">metadataProcessingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">metadataProcessingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:metadataStatisticalCalculationService">
+    <skos:prefLabel xml:lang="fr">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">metadataStatisticalCalculationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">metadataStatisticalCalculationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:metadataGeographicAnnotationService">
+    <skos:prefLabel xml:lang="fr">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">metadataGeographicAnnotationService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">metadataGeographicAnnotationService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:comService">
+    <skos:prefLabel xml:lang="fr">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">comService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">comService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:comEncodingService">
+    <skos:prefLabel xml:lang="fr">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">comEncodingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">comEncodingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:comTransferService">
+    <skos:prefLabel xml:lang="fr">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">comTransferService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">comTransferService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:comGeographicCompressionService">
+    <skos:prefLabel xml:lang="fr">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">comGeographicCompressionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">comGeographicCompressionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:comGeographicFormatConversionService">
+    <skos:prefLabel xml:lang="fr">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">comGeographicFormatConversionService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">comGeographicFormatConversionService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:comMessagingService">
+    <skos:prefLabel xml:lang="fr">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">comMessagingService</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">comMessagingService</skos:prefLabel>
+  </skos:Concept>
+  <skos:Concept rdf:about="urn:inspire:service:taxonomy:comRemoteFileAndExecutableManagement">
+    <skos:prefLabel xml:lang="fr">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="en">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="nl">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="sv">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="sl">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="sk">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="ro">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="pl">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="pt">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="mt">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="lv">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="lt">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="it">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="hu">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="fi">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="es">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="et">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="el">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="de">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="bg">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="da">comRemoteFileAndExecutableManagement</skos:prefLabel>
+    <skos:prefLabel xml:lang="cs">comRemoteFileAndExecutableManagement</skos:prefLabel>
+  </skos:Concept>
+</rdf:RDF>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/config/codelist/external/thesauri/theme/inspire-theme.rdf b/src/main/webapp/WEB-INF/data/config/codelist/external/thesauri/theme/inspire-theme.rdf
new file mode 100644
index 0000000000000000000000000000000000000000..0188d68da8aabe3183a5623c153f33c2157feecd
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/codelist/external/thesauri/theme/inspire-theme.rdf
@@ -0,0 +1,1614 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:exslt="http://exslt.org/common" xmlns:gemet="http://www.eionet.europa.eu/gemet/2004/06/gemet-schema.rdf#">
+<skos:ConceptScheme rdf:about="http://geonetwork-opensource.org/inspire-theme">
+<dc:title>GEMET - INSPIRE themes, version 1.0</dc:title>
+<dc:description>INSPIRE themes thesaurus for GeoNetwork opensource.</dc:description>
+<dc:creator>
+<foaf:Organization>
+<foaf:name>EEA</foaf:name>
+</foaf:Organization>
+</dc:creator>
+<dc:uri>http://www.eionet.europa.eu/gemet/about?langcode=en</dc:uri>
+<dc:rights>http://www.eionet.europa.eu/gemet/about?langcode=en</dc:rights>
+<dcterms:issued>2008-06-01</dcterms:issued>
+<dcterms:modified>2008-06-01</dcterms:modified>
+</skos:ConceptScheme>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/1">
+<skos:altLabel>rs</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Referenskoordinatsystem</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">System för att entydigt lägesbestämma rumslig information i rummet som en uppsättning koordinater (x, y, z) och/ eller som latitud, longitud och höjd, på grundval av ett geodetiskt horisontellt och vertikalt datum.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Referenčni koordinatni sistemi</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Súradnicové referenčné systémy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Sistemi za izključno navajanje prostorskih informacij v prostoru v obliki niza koordinat (x, y, z) in/ali širine in dolžine ter višine, ki temeljijo na horizontalnem in vertikalnem geodetskem podatku.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Systémy pre jednotne referenčné priestorové informácie v priestore v podobe množiny súradníc (x, y, z) a/alebo zemepisnej šírky, dĺžky a výšky založených na geodetickom horizontálnom a vertikálnom východzom bode.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Sisteme de coordonate de referinţă</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Sisteme de referinţă unică în spaţiu a informaţiilor spaţiale, alcătuite dintr-un set de coordonate (x, y, z) şi/sau latitudine şi longitudine şi altitudine, bazate pe un datum orizontal şi pe unul vertical.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Systemy odniesienia za pomocą współrzędnych</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Sistemas para referenciar de forma única a informação geográfica no espaço sob a forma de um conjunto de coordenadas (x, y, z) e/ou latitude e longitude e altitude, com base num datum geodésico horizontal e vertical.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Sistemas de referencia</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Systemen voor verwijzing door middel van coördinaten</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Systemy dla jednoznacznego przestrzennego odnoszenia informacji przestrzennej za pomocą współrzędnych x, y, z lub za pomocą szerokości, długości lub wysokości na podstawie geodezyjnego poziomego i pionowego układu odniesienia.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Sistemi ta' referenza ta' koordinati</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Systemen om aan ruimtelijke informatie een unieke reeks coördinaten (x, y,z) en/of breedte, lengte en hoogte toe te kennen, gebaseerd op een horizontaal en verticaal geodetische datum.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Koordinātu atskaites sistēmas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Sistemi biex issir referenza unika ta' informazzjoni ġeografika fl-ispazju bħala sett ta' koordinati (x,y,z) u/jew latitudni u lonġitudni u altitudni, ibbażati fuq datum ġeodetiku orizzontali u vertikali.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Sistēmas viennozīmīgai telpiskās informācijas atskaišu norādīšanai telpā ar koordinātu kopu (x, y, z) un/vai platumu, garumu un augstumu, izmantojot ģeodēziskos horizontālos un vertikālos datus.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Koordinačių atskaitos sistemos</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Sistemi di coordinate</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Vienareikšmio erdvinės informacijos nurodymo erdvėje naudojant koordinačių (x, y, z) derinį ir (arba) platumą, ilgumą bei aukštį sistemos, pagrįstos geodezinės horizontaliosios ir vertikaliosios atskaitos duomenimis.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Koordinátarendszerek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Sistemi per referenziare in maniera univoca le informazioni territoriali nello spazio mediante un sistema di coordinate (x, y, z) e/o latitudine e longitudine e quota, sulla base di un dato geodetico orizzontale e verticale.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Olyan rendszerek, amelyek a térinformáció térbeli helyzetét koordinátákkal (x, y, z) és/vagy vízszintes és függőleges geodéziai adatokon alapuló földrajzi szélességgel, hosszúsággal és magassággal adják meg.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Systèmes de référencement unique des informations géographiques dans l'espace sous forme d'une série de coordonnées (x, y, z) et/ou la latitude et la longitude et l'altitude, en se fondant sur un point géodésique horizontal et vertical.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Référentiels de coordonnées</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Koordinaattijärjestelmät</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Sistemas de coordenadas de referencia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Süsteemid, milles ruumiandmete asukoht ruumis määratakse üheselt koordinaatide hulgaga (x, y, z) ja/või geodeetilisel referents- ja kõrgussüsteemil põhineva laiuse, pikkuse ja kõrgusega.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Koordinaatsüsteemid</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Järjestelmät, joissa paikkatietoihin liittyvä sijainti esitetään yksikäsitteisesti koordinaattien (x, y, z) ja/tai maantieteellisten pituus- ja leveysasteiden sekä korkeuden avulla ja jotka perustuvat horisontaalisiin ja vertikaalisiin geodeettisiin vertausjärjestelmiin.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Systems for uniquely referencing spatial information in space as a set of coordinates (x, y, z) and/or latitude and longitude and height, based on a geodetic horizontal and vertical datum.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Coordinate reference systems</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Sistemas para referenciar de forma unívoca la información espacial en el espacio como una serie de coordenadas (x, y, z) y/o latitud y longitud y altura, basándose en un punto de referencia geodésico horizontal y vertical.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Συστήματα για μονοσήμαντη αναφορά χωρικών πληροφοριών στον χώρο, ως σύνολο συντεταγμένων (x,y,z) ή/και γεωγραφικό πλάτος και μήκος και ύψος, με βάση γεωδαιτικό οριζόντιο και κατακόρυφο σύστημα αναφοράς (datum).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Συστήματα συντεταγμένων</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Koordinatenreferenzsysteme</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Координатни справочни системи</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Systeme zur eindeutigen räumlichen Referenzierung von Geodaten anhand eines Koordinatensatzes (x, y, z) und/oder Angaben zu Breite, Länge und Höhe auf der Grundlage eines geodätischen horizontalen und vertikalen Datums.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Koordinatsystemer</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Souřadnicové referenční systémy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Systemer for entydig rumlig stedfæstelse af geografiske informationer ved hjælp af et sæt koordinater (x, y, z) og/eller længde, bredde og højde, baseret på et horisontalt og vertikalt geodætisk datum.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Systémy umožňující jednoznačné přiřazení polohy prostorovým informacím pomocí souboru souřadnic (x, y, z) nebo zeměpisné šířky, zeměpisné délky a výšky, vycházející z údajů polohových a výškových geodetických systémů.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Системи за пространствена информация, предназначена изключително за справочни цели, представена в пространството с координати (x, y, z) и/или ширина, дължина и височина, на базата на геодезични хоризонтални и вертикални данни.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Sistemes de coordenades de referència</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Sistemes per referenciar de manera unívoca la informació espacial en l’espai com una sèrie de coordenades (x, y, z) i/o latitud i longitud i altura, basant-se en un punt de referència geodèsic horitzontal i vertical.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/10">
+<skos:altLabel>el</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Höjd</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Altitude</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Modele digitale de elevaţii ale suprafeţelor terestre, de gheaţă sau oceanice. Include altimetria, batimetria şi linia de coastă.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Elevaţie</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Digitalni model višin</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Digitala höjdmodeller för mark-, is- och havsyta. Inbegriper höjdförhållanden på land, batymetri samt kustlinje.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Digitalni model višin za kopensko, zaledenelo in oceansko površino. Vključuje nadmorske višine, batimetrijo in obalne mreže.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Výška</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Digitálne výškové modely zemského povrchu, ľadovcov a hladín oceánov. Patria sem pevninové vyvýšeniny, batymetria a pobrežná čiara.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Modelos digitais de terreno aplicáveis às superfícies terrestre, gelada e oceânica. Inclui a elevação terrestre, a batimetria e a linha costeira.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Digitale hoogtemodellen voor land-, ijs- en oceaanoppervlakken, inclusief landhoogte, bathymetrie en kustlijn.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Ukształtowanie terenu</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Hoogte</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Cyfrowe modele wysokościowe powierzchni lądu, lodu i oceanu. Obejmuje również wysokość topograficzną terenu, batymetrię oraz linię brzegową.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Mudelli ta' elevazzjoni diġitali għall-art, is-silġ u l-wiċċ ta' l-oċean. Tinkludi l-elevazzjoni ta' l-art, il-batimetrija u l-linja tal-kosta.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Elevazzjoni</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Digitāli augstuma modeļi zemes, ledus un jūras virsmai. Tie ietver arī sauszemes reljefu, dziļumu un krasta līniju.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Augstums</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Aukštis</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Modelli digitali di elevazione per superfici emerse, ghiacci e superfici oceaniche. La voce comprende l’altitudine terrestre, la batimetria e la linea di costa.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Elevazione</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Sausumos, ledo ir vandenyno paviršių skaitmeniniai aukščio modeliai. Tai apima sausumos aukštį, batimetriją ir pakrantės liniją.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Digitaaliset maan-, jään- ja merenpintaa kuvaavat korkeusmallit. Sisältää maanpinnan korkeussuhteet, syvyystiedot ja rantaviivan.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Korkeus</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Modèles numériques pour l'altitude des surfaces terrestres, glaciaires et océaniques. Comprend l'altitude terrestre, la bathymétrie et la ligne de rivage.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Domborzat</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Altitude</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Digitális domborzati modellek a szárazföldi, jéggel borított és óceáni felszínre. Ide tartozik a felszíni és víz alatti domborzat és a partvonal.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Υψομετρία</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Digital elevation models for land, ice and ocean surface. Includes terrestrial elevation, bathymetry and shoreline.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Elevation</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Modelos digitales de elevaciones para las superficies de tierra, hielo y mar. Se incluirán la altimetría, la batimetría y la línea de costa.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Elevaciones</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maa- ja jääpinna ning ookeani põhja digitaalsed reljeefimudelid. Hõlmab maapinna ja veekogude põhja reljeefi ning kaldajooni.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Kõrgused</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Höhe</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ψηφιακά υψομετρικά μοντέλα για χερσαίες εκτάσεις, εκτάσεις καλυπτόμενες από πάγους και ωκεανούς. Περιλαμβάνονται, εν προκειμένω, η χερσαία υψομετρία, η βαθυμετρία και οι ακτογραμμές.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Digitale højdemodeller for land, is og havoverflade. Omfatter landhøjder, havdybder og kystlinje.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Højde</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Digitale Höhenmodelle für Land-, Eis- und Meeresflächen. Dazu gehören Geländemodell, Tiefenmessung und Küstenlinie.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Цифрови релефни модели за земната, ледената и океанската повърхност. Включва земен релеф, батиметрия и брегова линия.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Nadmořská výška</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Релеф</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Digitální výškový model pevniny, povrchu ledovců a oceánů. Zahrnuje nadmořské výšky pevnin, vodní hloubky a pobřežní čáru.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Elevacions</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Models digitals d’elevacions per a les superfícies de terra, gel i mar. S’inclourà l’altimetria, la batimetria i la línia de costa.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/11">
+<skos:altLabel>lc</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Landtäcke</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Fysiskt och biologiskt landtäcke på jordytan, inbegripet artificiella ytor, jordbruksmark, skogar, (delvis) naturliga områden, våtmarker, vattenförekomster.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Pokrovnost tal</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Ocupação do solo</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Acoperirea fizică şi biologică a suprafeţei terestre, inclusiv suprafeţele artificiale, zonele agricole, pădurile, zonele (semi)naturale, zonele umede şi corpurile de apă.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Krajinná pokrývka (land cover)</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Fizični in biološki pojavi na zemeljski površini, vključno z umetnimi površinami, kmetijskimi območji, gozdovi, (pol-) naravnimi območji, mokrišči, vodnimi telesi.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Fyzikálna a biologická pokrývka zemského povrchu vrátane umelých povrchov, poľnohospodárskych oblastí, lesov, (polo)prírodných oblastí, mokradí, vodných útvarov.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Acoperire terestră</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Bodemgebruik</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Fizyczne i biologiczne użytkowanie powierzchni Ziemi, włączając w to powierzchnie sztuczne, obszary rolnicze, lasy, obszary (pół-)naturalne, tereny podmokłe, akweny.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Użytkowanie terenu</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Cobertura física e biológica da superfície terrestre, incluindo superfícies artificiais, zonas agrícolas, florestas, zonas naturais ou semi-naturais, zonas húmidas, massas de água.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Zemes virsma</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Kopertura fiżika u bijoloġika tal-wiċċ tad-dinja inklużi superfiċji artifiċjali, żoni agrikoli, foresti, żoni (semi-)naturali, artijiet mistagħdra, u korpi ta' ilma.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Kopertura ta' l-art</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Fysieke en biologische bedekking van het aardoppervlak, met inbegrip van kunstmatige oppervlakken, landbouwgebieden, bossen, halfnatuurlijke gebieden, moeraslanden en wateroppervlakken.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Žemės danga</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Zemes virsmas fiziskais un bioloģiskais segums, tostarp mākslīgu virsmu, lauksaimniecības teritoriju, mežu, (daļēji) dabisku platību, mitrzemju, ūdenstilpņu fiziskais un bioloģiskais segums.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Fizinė ir biologinė žemės paviršiaus danga, įskaitant dirbtinius paviršius, žemės ūkio plotus, miškus, (pusiau) natūralius plotus, šlapžemes, vandens telkinius.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A felszín borítása</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Occupation des terres</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A Föld felszínének fizikai és biológiai borítása, beleértve a mesterséges felszínt, a mezőgazdasági területeket, erdőket, a (félig) természetes területeket, a vizes élőhelyeket és a víztesteket.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Copertura fisica e biologica della superficie terrestre comprese le superfici artificiali, le zone agricole, i boschi e le foreste, le aree (semi)naturali, le zone umide, i corpi idrici.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Copertura del suolo</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Cubierta terrestre</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maapinna elutust või elusainest kate, sealhulgas tehislikud pinnakatted, põllumajandusalad, metsad, (pool-)looduslikud alad, märgalad ning veekogud.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maakate</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maapallon pinnan fysikaalinen ja biologinen peite, mukaan luettuina keinotekoiset peitteet, maatalousalueet, metsät, (osaksi) luonnontilassa olevat alueet, kosteikot ja vesistöt.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maanpeite</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Couverture physique et biologique de la surface terrestre, y compris les surfaces artificielles, les zones agricoles, les forêts, les zones (semi-)naturelles, les zones humides et les masses d'eau.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Κάλυψη γης</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Physical and biological cover of the earth's surface including artificial surfaces, agricultural areas, forests, (semi-)natural areas, wetlands, water bodies.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Physische und biologische Bedeckung der Erdoberfläche, einschließlich künstlicher Flächen, landwirtschaftlicher Flächen, Wäldern, natürlicher (naturnaher) Gebiete, Feuchtgebieten und Wasserkörpern.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Land cover</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Cubierta física y biológica de la superficie de la tierra, incluidas las superficies artificiales, las zonas agrarias, los bosques, las zonas naturales o seminaturales, los humedales, las láminas de agua.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Bodenbedeckung</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Φυσική και βιολογική κάλυψη της γήινης επιφάνειας, όπου συμπεριλαμβάνονται τεχνητές εκτάσεις, γεωργικές εκτάσεις, δάση, (ημι-)φυσικές εκτάσεις, υγρότοποι, υδατικά συστήματα.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Krajinný pokryv</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Jordens fysiske og biologiske overflade, herunder kunstige overflader, landbrugsarealer, skove, (halv-)naturlige områder, vådområder, vandområder.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Arealdække</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Физическа или биологична покривка на земната повърхност, включително изкуствени повърхности, селскостопански райони, гори, (полу-) естествени райони, влажни зони, водни маси.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Земна покривка</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Fyzický a biologický pokryv zemského povrchu, včetně uměle vytvořených ploch, zemědělských oblastí, lesů, přirozených a částečně přirozených oblastí, mokřadů, vodních těles.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Coberta terrestre</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Coberta física i biològica de la superfície de la terra, incloses les superfícies artificials, les zones agràries, els boscos, les zones naturals o seminaturals, les àrees humides i les làmines d’aigua.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/12">
+<skos:altLabel>oi</skos:altLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Geolocirani slikovni podatki zemeljske površine iz satelita ali senzorjev v zraku.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Ortofoto</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Imagini georeferenţiate ale suprafeţei terestre, înregistrate cu senzori plasaţi pe sateliţi sau aeropurtaţi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Ortoimagini</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Ortofoto</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Georefererade bilddata över jordytan, antingen från satelliter eller från flygburna sensorer.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Georeferencované obrazové údaje o zemskom povrchu buď zo satelitu alebo z leteckých snímačov.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Ortometria</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Sporządzanie ortoobrazów</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Imagens georeferenciadas da superfície terrestre recolhidas por satélite ou sensores aéreos.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Ortoimagens</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Orthobeeldvorming</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Dane obrazowe powierzchni Ziemi posiadające odniesienie geograficzne, pochodzące z rejestracji z pokładu satelity lub samolotu.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Orthoimagery</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geogerefereerde beeldgegevens van het aardoppervlak, afkomstig van sensoren op satellieten of vliegtuigen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Ortofotogrāfija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Data fil-forma ta' stampa ġeo-referenzjata tal-wiċċ tad-dinja, minn satellita jew minn sensuri fl-ajru.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Ortofotografinis vaizdavimas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Zemes virsmas attēli ar piekārtotu norādi par ģeogrāfisko novietojumu telpā, kas saņemti no satelīta vai gaisā esošiem sensoriem.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Orto immagini</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Georeferencinis žemės paviršiaus atvaizdas, gaunamas iš palydove arba orlaivyje esančių jutiklių.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Ortofotók</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Immagini georeferenziate della superficie terrestre prese da satellite o da telesensori.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Images géoréférencées de la surface terrestre, provenant de satellites ou de capteurs aéroportés.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Ortho-imagerie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A Föld felszínének földrajzi hivatkozással ellátott, műhold vagy légi adatgyűjtők által készített képi adatai.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Imágenes georreferenciadas de la superficie de la tierra, obtenidas por satélite o por sensores aerotransportados.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Ortoimágenes</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maapinna georefereeritud kujutised, mis on talletatud satelliitidel või lennuvahenditel asuvate sensorite abil.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Ortoilmakuvat</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Ortokujutised</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Joko satelliittien tai lentokäyttöisten sensorien toimittamia maantieteelliseen koordinaatistoon sidottuja kuvatietoja maapallon pinnasta.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ορθοφωτογραφία</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geo-referenced image data of the Earth's surface, from either satellite or airborne sensors.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωαναφερόμενα δεδομένα από εικόνες της επιφάνειας της γης, από δορυφόρους ή αερομεταφερόμενους αισθητήρες.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Orthoimagery</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Ortofoto</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Georeferenzierte Bilddaten der Erdoberfläche von satelliten- oder luftfahrzeuggestützten Sensoren.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Orthofotografie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Данни от геоизображение на земната повърхност, направено от сателит или въздушни сензори.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Ortofotosnímky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Georefererede billeddata om Jordens overflade optaget fra enten satellit- eller flybaserede sensorer.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Obrazová data pořízená satelitními nebo leteckými čidly vztažená k zemskému povrchu pomocí zeměpisné soustavy souřadnic.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Ортоизображение</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Ortoimatges</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Imatges georeferenciades de la superfície de la terra, obtingudes per satèl·lit o per sensors aerotransportats.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/13">
+<skos:altLabel>ge</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Geologia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Geologia caracterizada de acordo com a composição e a estrutura. Inclui a base rochosa, os aquíferos e a geomorfologia.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Geologia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Geologie caracterizată în funcţie de compoziţie şi structură. Include roca de bază, straturile acvifere şi geomorfologia.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Geologie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Geológia charakterizovaná na základe zloženia a štruktúry. Zahŕňa skalné podložie, zvodnené vrstvy a geomorfológiu.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Geológia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Geologija je določena v skladu s sestavo in strukturo. Vključuje živo skalo, vodonosnike in geomorfologijo.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Geologija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geologiska förhållanden indelade efter sammansättning och struktur. Innefattar berggrund, akviferer och geomorfologi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geologi</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geologie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Geologia charakteryzowana na podstawie składu i struktury. Obejmuje podłoże skalne, warstwy wodonośne i geomorfologię.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Ä eologija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geologie, gekenmerkt volgens samenstelling en structuur, inclusief vast gesteente, waterhoudende grondlagen en geomorfologie.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Ģeoloģija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Ġeoloġija kkaratterizzata skond il-kompożizzjoni u l-istruttura. Tinkludi s-sodda tal-blat, l-akwiferi u lġeomorfoloġija.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Ģeoloģiskais stāvoklis, ko raksturo uzbūve un struktūra. Tostarp informācija par pamatiežiem, ūdens nesējslāņiem un ģeomorfoloģiju.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Geologija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Geologija apibūdinama pagal sudėtį ir struktūrą. Tai apima pamatinę uolieną, vandeninguosius sluoksnius ir geomorfologiją.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Geologia</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Földtan</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Classificazione geologica in base alla composizione e alla struttura. Questa voce comprende il basamento roccioso, gli acquiferi e la geomorfologia.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Géologie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Az összetétel és szerkezet alapján jellemzett földtan. Ide tartozik az alapkőzet, a víztartó rétegek és a geomorfológia is.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geology characterised according to composition and structure. Includes bedrock, aquifers and geomorphology.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geology</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Características geológicas según la composición y la estructura. Se incluirán la plataforma de roca firme, los acuíferos y la geomorfología.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Geología</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maapinna geoloogiline iseloom vastavalt koostisele ja struktuurile. Hõlmab aluskivimeid, põhjaveekihte ja geomorfoloogiat.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Geoloogia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Geologia kuvattuna koostumuksen ja rakenteen mukaan. Sisältää kallioperän, akviferit ja pinnanmuodot.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Geologia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Géologie caractérisée en fonction de la composition et de la structure. Englobe le substratum rocheux, les aquifères et la géomorphologie.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωλογία</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geologie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωλογικός χαρακτηρισμός με βάση τη σύσταση και τη δομή. Περιλαμβάνονται το μητρικό πέτρωμα, οι υδροφόροι ορίζοντες και η γεωμορφολογία.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Geologi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geologische Beschreibung anhand von Zusammensetzung und Struktur. Dies umfasst auch Grundgestein, Grundwasserleiter und Geomorphologie.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Геология, определена според състава и структурата. Включва земен слой, воден слой и геоморфология.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Геология</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Geologie charakterizovaná podle složení a struktury. Zahrnuje skalní podloží, zvodně a geomorfologii.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Geologie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Geologi karakteriseret ved sammensætning og struktur. Omfatter grundfjeld, grundvandsmagasiner og geomorfologi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Geologia</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Característiques geològiques segons la composició i l’estructura. S’inclourà la plataforma de roca ferma, els aqüífers i la geomorfologia.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/14">
+<skos:altLabel>su</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Unidades estatísticas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Unităţi de difuzare sau de utilizare a informaţiilor statistice.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Unităţi statistice</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Jednotky pre šírenie alebo využívanie štatistických informácií.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Štatistické jednotky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Enote za širjenje ali uporabo statističnih podatkov.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Statistični okoliši</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Enheter för spridning och användning av statistisk information.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Statistiska enheter</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Statistische eenheden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Jednostki służące do rozpowszechniania lub wykorzystywania informacji statystycznych.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Jednostki statystyczne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Unidades para fins de divulgação ou utilização da informação estatística.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Vienetai, skirti statistinÄ—s informacijos platinimui ar panaudojimui.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Statistiniai vienetai</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Vienības, kuras izmanto statistikas informācijas izplatīšanā vai izmantošanā.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Unitajiet statistiċi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Eenheden voor verspreiding en gebruik van statistische informatie.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Unitajiet biex issir disseminazzjoni jew użu ta' informazzjoni ta' l-istatistika.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Statistikas vienības</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Unità statistiche</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Tilastotietojen levittämis- tai käyttöyksiköt.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Tilastoyksiköt</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Unités de diffusion ou d'utilisation d'autres informations statistiques.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Unités statistiques</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Statisztikai információk terjesztésére vagy felhasználására szolgáló egységek.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Statisztikai egységek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Unità per la divulgazione o l'utilizzo di dati statistici.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Unidades estadísticas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Statistilise teabe levitamise või kasutamise üksused.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Statistilised üksused</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Statistical units</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Unidades para la difusión o el uso de información estadística.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Statistische Einheiten</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Μονάδες διάδοσης ή χρήσης στατιστικών πληροφοριών.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Στατιστικές μονάδες</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Units for dissemination or use of statistical information.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Jednotky pro šíření nebo používání statistických informací.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Statistické jednotky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Enheder for formidling eller anvendelse af statistiske oplysninger.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Statistiske enheder</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Einheiten für die Verbreitung oder Verwendung statistischer Daten.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Единици, разпространяващи или ползващи статистическа информация.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Статистически единици</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Unitats estadístiques</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Unitats per a la difusió o l’ús d’informació estadística.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/15">
+<skos:altLabel>bu</skos:altLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Prostorska lega stavb.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Stavbe</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografiskt läge för byggnader.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Byggnader</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Clădiri</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Zemepisná poloha stavieb.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Stavby</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Edifícios</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Localizarea geografică a clădirilor.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Localização geográfica dos edifícios.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Położenie geograficzne budynków.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Budynki</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Ä’kas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Posizzjoni ġeografika ta' bini.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Bini</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geografische locatie van gebouwen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Gebouwen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Ēku ģeogrāfiskā atrašanās vieta.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωγραφική θέση κτιρίων.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Κτίρια</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geographical location of buildings.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Buildings</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Localización geográfica de los edificios.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Edificios</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Ehitiste geograafiline asukoht.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Ehitised</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Rakennusten maantieteellinen sijainti.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Rakennukset</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Situation géographique des bâtiments.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Pastatai</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Geografinė pastatų buvimo vieta.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Edifici</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Localizzazione geografica degli edifici.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Épületek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Az épületek földrajzi helye.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Bâtiments</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Географско разположение на сградите.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Сгради</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisná poloha budov.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Budovy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Geografisk stedfæstelse af bygninger.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Bygninger</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geografischer Standort von Gebäuden.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Gebäude</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Edificis</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Localització geogràfica dels edificis.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/16">
+<skos:altLabel>so</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Tla</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Jordmåner och jordarter klassificerade efter djup, textur, struktur och innehåll av partiklar och organiskt material, stenighet, erosion, vid behov genomsnittlig lutning och beräknad vattenhållande förmåga.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Mark</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Tla in sloji prsti pod površjem, določeni po debelini, teksturi, zgradbi in vsebnosti delcev in organskih snovi, kamnitosti, eroziji, po potrebi povprečni nagib in predvidene zmogljivosti vodnih zalog.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Soluri şi subsoluri, caracterizate în funcţie de adâncime, textură, structură şi conţinut al particulelor şi materialului organic, schelet, eroziune, înclinaţie medie şi capacitate anticipată de stocare a apei, după caz.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Soluri</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Pôdy a podložia charakterizované podľa hĺbky, textúry, štruktúry a obsahu častíc a organického materiálu, kamenitosti, erózie, prípadne priemerným sklonom a predpokladanou schopnosťou zadržiavať vodu.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Gleby i podglebie charakteryzowane na podstawie głębokości, tekstury, struktury i zawartości cząstek oraz materiału organicznego, kamienistości, erozji, a w odpowiednich przypadkach na podstawie przeciętnego nachylenia oraz przewidywanej zdolności zatrzymywania wody.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Gleba</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Pôda</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Solo e subsolo caracterizado de acordo com a profundidade, textura, estrutura e conteúdo das partículas e material orgânico, carácter pedregoso, erosão, eventualmente declive médio e capacidade estimada de armazenamento de água.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Solo</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Augsne</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Bodem</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Bodem en ondergrond, gekenmerkt volgens diepte, textuur, structuur en inhoud van deeltjes en organisch materiaal, steenachtigheid, erosie en, waar passend, gemiddelde hellingsgraad en verwachte wateropslagcapaciteit.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Ħamrija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Tipi ta' ħamrija u sub-ħamrija kkaratterizzati skond il-fond, it-tessut, l-istruttura u l-kontenut ta' partiċelli u materjal organiku, il-kontenut ta' ġebel, it-tgħawwir, fejn xieraq il-medja tax-xaqlib ta' l-art u l-kapaċità antiċipata għall-ħażna ta' l-ilma.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Suolo</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Dirvožemio ir podirvio charakteristikos: gylis, granuliometrinė sudėtis, dalelių ir organinių medžiagų struktūra ir sudėtis, akmeningumas, erozija ir tam tikrais atvejais vidutinis nuolydis bei numatomas vandens sulaikymo pajėgumas.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Augsnes un tās apakškārtas stāvoklis, ko raksturo dziļums, faktūra, struktūra un daļiņu un organisko vielu saturs, akmeņainība, erozija un, attiecīgā gadījumā, vidējais slīpums un prognozējamā ūdens uzkrāšanas spēja.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Dirvožemis</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Caratterizzazione del suolo e del sottosuolo in base a profondità, tessitura (texture), struttura e contenuto delle particelle e della materia organica, pietrosità, erosione, eventualmente pendenza media e capacità prevista di ritenzione dell’acqua.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Talaj</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A mélység, állag, szerkezet, a részecskék és szerves anyagok jelenléte, a köves jelleg, az erózió, valamint adott esetben az átlagos lejtés és a becsült víztartó képesség alapján jellemzett talajok és altalaj.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Sols et sous-sol caractérisés selon leur profondeur, texture, structure et teneur en particules et en matières organiques, pierrosité, érosion, le cas échéant pente moyenne et capacité anticipée de stockage de l'eau.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Sols</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maannoksen ja muuttumattoman pohjamaalajin kuvaaminen syvyyden, raekoostumuksen, rakenteen sekä hiukkasten ja orgaanisen aineksen sisällön, kivisyyden, eroosion ja tarvittaessa keskimääräisen kaltevuuden ja arvioidun veden varastointikapasiteetin mukaan.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maaperä</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Pinnas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Pinnas ja aluspinnas, mida iseloomustatakse sügavuse, tekstuuri, struktuuri, osakeste ja orgaanilise materjali sisalduse, kivimisisalduse, erosiooni, vajadusel keskmise kalde ja eeldatava veemahutavuse järgi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Suelo</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Suelo y subsuelo, caracterizados según su profundidad, textura, estructura y contenido de partículas y material orgánico, pedregosidad, erosión y, cuando proceda, pendiente media y capacidad estimada de almacenamiento de agua.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Χαρακτηρισμός εδάφους και υπεδάφους ανάλογα με το βάθος, την υφή, τη δομή και την περιεκτικότητα σε σωματίδια και οργανικά υλικά, το πετρώδες, τη διάβρωση και, κατά περίπτωση, τη μέση κλίση και την προβλεπόμενη χωρητικότητα αποθήκευσης νερού.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Soil</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Έδαφος</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Soils and subsoil characterised according to depth, texture, structure and content of particles and organic material, stoniness, erosion, where appropriate mean slope and anticipated water storage capacity.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Boden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Jordbund og underjord karakteriseret efter dybde, tekstur, struktur og indhold af partikler og organisk materiale, stenindhold, erosion, i givet fald gennemsnitlig hældning og forventet vandlagringskapacitet.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Beschreibung von Boden und Unterboden anhand von Tiefe, Textur, Struktur und Gehalt an Teilchen sowie organischem Material, Steinigkeit, Erosion, gegebenenfalls durchschnittliches Gefälle und erwartete Wasserspeicherkapazität.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Jord</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Почви и подпочви, определени според дълбочина, строеж, структура, механичен състав и съдържание на органични материали, каменливост, ерозия и, по целесъобразност, среден наклон и предполагаема водопопиваемост.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Půda a její podloží popsané podle hloubky, zrnitosti, struktury a obsahu částic a organického materiálu, podílu skeletu, erozí, případně průměrného sklonu svahu a očekávané kapacity jímavosti vody.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Půda</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Почва</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Sòl</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Sòl i subsòl, caracteritzats segons la seva profunditat, textura, estructura i contingut de partícules i material orgànic, pedregositat, erosió i, quan sigui procedent, pendent mitjà i capacitat estimada d’emmagatzematge d’aigua.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/17">
+<skos:altLabel>lu</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Markanvändning</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Namenska raba tal</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Territorium indelat efter nuvarande och framtida planerade funktion eller socioekonomisk användning (t.ex. bostadsmark, industrimark, handel, jordbruk, skogsbruk, friluftsliv).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Zagospodarowanie przestrzenne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Caracterização do território de acordo com a dimensão funcional ou finalidade socioeconómica planeada, presente e futura (por exemplo, residencial, industrial, comercial, agrícola, silvícola, recreativa).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Uso do solo</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Teritoriu caracterizat în funcţie de dimensiunea funcţională actuală sau viitoare planificată sau de scopul socioeconomic (de exemplu rezidenţial, industrial, comercial, agricol, forestier, de recreaţie).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Utilizarea terenului</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Územie charakterizované podľa jeho súčasného a budúceho plánovaného funkčného rozmeru alebo socioekonomického účelu (napr. obytný, priemyselný, obchodný, poľnohospodársky, lesnícky, rekreačný).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Využitie územia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Ozemlje, opredeljeno glede na svojo sedanjo in v prihodnje načrtovano funkcionalno razsežnost ali socialnoekonomski namen (npr. stanovanjski, industrijski, trgovinski, kmetijski, gozdni, rekreacijski).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Zemes izmantošana</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Territorju kkaratterizzat skond id-dimensjoni funzjonali tiegħu ppjanata attwali u futura jew l-iskop soċjo-ekonomiku tiegħu (eż. residenzjali, industrijali, kummerċjali, agrikolu, forestali, rikreazzjonali).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Użu ta' l-art</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Het grondgebied, gekenmerkt volgens zijn huidige en geplande toekomstige functionele dimensie of sociaaleconomische bestemming (bv. wonen, industrieel, commercieel, landbouw, bosbouw, recreatie).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Landgebruik</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Terytorium charakteryzowane ze względu na jego obecny lub przyszły wymiar funkcjonalny lub przeznaczenie społeczno-gospodarcze (np. mieszkaniowe, przemysłowe, handlowe, rolnicze, leśne, wypoczynkowe).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Földhasználat</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Classificazione del territorio in base alla dimensione funzionale o alla destinazione socioeconomica presenti e programmate per il futuro (ad esempio ad uso residenziale, industriale, commerciale, agricolo, silvicolo, ricreativo).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A jelenlegi és a jövőbeli tervezett funkcionális szempontok vagy a társadalmigazdasági rendeltetés (például lakó-, ipari, kereskedelmi, mezőgazdasági, erdő- vagy pihenőövezet) szerint jellemzett területek.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Teritorijas stāvoklis, ko raksturo tās pašreizējās un nākotnē plānotās funkcionālās izmantošanas dimensija vai sociāli ekonomiskais izmantošanas nolūks (piemēram, zeme dzīvojamiem namiem, rūpnieciskiem, komerciāliem, lauksaimniecības, mežniecības, atpūtas mērķiem).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Žemės naudojimas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Teritorija apibūdinama pagal jos esamą ir būsimą planuojamą funkcinę arba socialinę ir ekonominę paskirtį (pvz., gyvenamoji, pramoninė, komercinė, žemės ūkio, miškų, rekreacinė).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Utilizzo del territorio</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maakasutus</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Alueen kuvaaminen sen nykyisen ja tulevan suunnitellun käyttötarkoituksen tai sosioekonomisen tarkoituksen (esimerkiksi asuin- tai teollisuusalue, liikekeskus, maa- tai metsätalousalue tai virkistysalue) mukaan.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maankäyttö</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Territoire caractérisé selon sa dimension fonctionnelle prévue ou son objet socioéconomique actuel et futur (par exemple, résidentiel, industriel, commercial, agricole, forestier, récréatif).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Usage des sols</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maa-ala iseloomustus olemasolevate ja tulevaste kavandatud kasutusaspektide või sotsiaalmajandusliku sihtotstarbe järgi (nt elamu- tööstus-, äri-, põllumajandus-, metsa- või puhkemaa).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Χρήσεις γης</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Territory characterised according to its current and future planned functional dimension or socio-economic purpose (e.g. residential, industrial, commercial, agricultural, forestry, recreational).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Land use</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Caracterización del territorio, de acuerdo con su dimensión funcional o su dedicación socioeconómica actual o futura planificadas (por ejemplo, residencial, industrial, comercial, agrario, forestal, recreativo).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Uso del suelo</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Територия, определена според настоящите и бъдещите ѝ планирани функционални параметри или социално- икономическо предназначение (например жилищна, промишлена, търговска, селскостопанска, горска, почивна).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Ползване на земята</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Území popsané podle své současné a plánované funkce nebo společensko-hospodářských účelů (např. obytné, průmyslové, obchodní, zemědělské, lesnické, rekreační).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Využití území</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Området karakteriseret ved dets nuværende og fremtidige planlagte funktion eller samfundsøkonomiske formål (f.eks. beboelse, industri, handel, landbrug, skovbrug, rekreation).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Arealanvendelse</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Beschreibung von Gebieten anhand ihrer derzeitigen und geplanten künftigen Funktion oder ihres sozioökonomischen Zwecks (z. B. Wohn-, Industrie- oder Gewerbegebiete, land- oder forstwirtschaftliche Flächen, Freizeitgebiete).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Bodennutzung</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Χαρακτηρισμός περιοχών ανάλογα με τη σημερινή και τη μελλοντική σχεδιαζόμενη λειτουργία τους ή τον κοινωνικοοικονομικό σκοπό τους (π.χ. αμιγώς οικιστική, βιομηχανική, εμπορική, γεωργική, δασική, αναψυχής).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Ús del sòl</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Caracterització del territori, d’acord amb la seva dimensió funcional o la seva dedicació socioeconòmica actual o futura planificades (per exemple, residencial, industrial, comercial, agrari, forestal, recreatiu).</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/18">
+<skos:altLabel>hh</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Människors hälsa och säkerhet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Geografická distribúcia najčastejších ochorení (alergie, nádorové ochorenia, ochorenia dýchacích ciest atď.), informácie o vplyve na zdravie (biologické ukazovatele, pokles plodnosti, epidémie) alebo telesný či duševný stav ľudí (únava, stres atď.), ktoré priamo (znečistenie ovzdušia, chemikálie, oslabenie ozónovej vrstvy, hluk atď.) alebo nepriamo (strava, geneticky upravené organizmy atď.) súvisia s kvalitou životného prostredia.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Zdravje in varnost prebivalstva</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografisk fördelning av dominansen av patologier (allergier, cancer, sjukdomar i andningsorganen osv.), all information om de effekter på människors hälsa (biomarkörer, minskad fertilitet, epidemier osv.) eller välbefinnande (trötthet, stress osv.) som har ett direkt (luftföroreningar, kemikalier, uttunning av ozonskiktet, buller osv.) eller ett indirekt (livsmedel, genetiskt modifierade organismer osv.) samband med miljöns kvalitet.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Ľudské zdravie a bezpečnosť</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Geografska razporeditev pogostih patoloških pojavov (alergije, rakasta obolenja, obolenja dihalnih poti itd.), podatki o učinkih na zdravje (biološki označevalci, zmanjšana rodnost, epidemije) ali počutje ljudi (utrujenost, stres itd.), povezanih neposredno (onesnaženost zraka, kemikalije, tanjšanje ozonskega plašča, hrup itd.) ali posredno (hrana, genetsko spremenjeni organizmi itd.) s kakovostjo okolja.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Rozmieszczenie geograficzne występowania patologii chorobowych (alergii, nowotworów, chorób układu oddechowego itd.), informacje dotyczące wpływu na zdrowie (biomarkery, spadek płodności, epidemie) lub dobre samopoczucie ludzi (zmęczenie, stres itd.) związane bezpośrednio (zanieczyszczenie powietrza, chemikalia, zubożenie warstwy ozonowej, hałas itd.) lub pośrednio (pożywienie, organizmy zmodyfikowane genetycznie itd.) z jakością środowiska.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Zdrowie i bezpieczeństwo ludzi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Distribuição geográfica da dominância de patologias (alergias, cancros, doenças respiratórias, etc.), informações que indiquem o efeito da qualidade do ambiente sobre a saúde (biomarcadores, declínio da fertilidade, epidemias) ou sobre o bem-estar dos seres humanos (fadiga, tensão, stress, etc.) de forma directa (poluição do ar, produtos químicos, empobrecimento da camada de ozono, ruído, etc.) ou indirecta (alimentação, organismos geneticamente modificados, etc.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Sănătate şi siguranţă umană</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Saúde humana e segurança</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Distribuţia geografică a patologiilor dominante (alergii, tipuri de cancer, boli respiratorii etc.), precum şi informaţiile care indică efectul asupra sănătăţii (indicatorii biologici, scăderea fertilităţii, epidemiile) sau asupra bunăstării oamenilor (oboseala, stresul etc.), legat în mod direct (poluarea aerului, substanţele chimice, subţierea stratului de ozon, zgomotul etc.) sau indirect (mâncarea, organismele modificate genetic etc.) de calitatea mediului.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Žmonių sveikata ir sauga</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Dominējošo patoloģiju (alerģiju, vēža, elpošanas ceļu slimību, utt.) ģeogrāfiskā izplatība, informācija, kas norāda uz ietekmi uz veselību (biomarkeri, auglības mazināšana, epidēmijas) vai cilvēku labklājību (nogurumu, stresu, utt.), kas tieši (gaisa piesārņojums, ķīmiskās vielas, ozona slāņa noplicināšanās, trokšņi, utt.) vai netieši (pārtika, ģenētiski modificēti organismi, utt.) saistīta ar vides kvalitāti.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Cilvēku veselība un drošība</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Distribuzzjoni ġeografika tad-dominanza ta' patoloġiji (allerġiji, kankri, mard respiratorju, eċċ.), informazzjoni li tindika l-effett fuq is-saħħa (bijomarkaturi, tnaqqis fil-fertilità, epidemiji) jew il-benesseri tal-bnedmin (għejja, stress, eċċ.) b'konnessjoni diretta (tniġġis ta' l-arja, kimiki, tnaqqis tas-saff ta' l-ożonu, storbju, eċċ.) jew indiretta (ikel, organiżmi ġenetikament modifikati, eċċ.) mal-kwalità ta' l-ambjent.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Is-saħħa u s-siġurtà tal-bniedem</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">De geografische spreiding van ziekten (allergieën, kankers, ademhalingsziekten, enz.), informatie over de gevolgen voor de gezondheid (biomarkers, vruchtbaarheidsdaling, epidemieën) of het welzijn van de mens (vermoeidheid, stress, enz.) die direct (luchtvervuiling, chemicaliën, aantasting van de ozonlaag, lawaai, enz.) of indirect (voedsel, genetisch gemodificeerde organismen, enz.) samenhangen met de kwaliteit van het milieu.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Menselijke gezondheid en veiligheid</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Salute umana e sicurezza</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Patologijų dominavimo geografinis pasiskirstymas (alergijos, vėžys, kvėpavimo takų ligos ir t. t.), informacija apie poveikį žmonių sveikatai (biomarkeriai, vaisingumo sumažėjimas, epidemijos) ar gerovei (nuovargis, stresas ir t. t.), tiesiogiai (oro tarša, cheminės medžiagos, ozono sluoksnio retėjimas, triukšmas ir t. t.) arba netiesiogiai (maistas, genetiškai modifikuoti organizmai ir t. t.) susijusi su aplinkos kokybe.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Distribuzione geografica della prevalenza di patologie (allergie, tumori, malattie respiratorie, ecc.), le informazioni contenenti indicazioni sugli effetti relativi alla salute (indicatori biologici, riduzione della fertilità e epidemie) o al benessere degli esseri umani (affaticamento, stress, ecc.) in relazione alla qualità dell’ambiente, sia in via diretta (inquinamento atmosferico, sostanze chimiche, riduzione dello strato di ozono, rumore, ecc.) che indiretta (alimentazione, organismi geneticamente modificati, ecc.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Emberi egészség és biztonság</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A környezet minőségéhez közvetlenül (légszennyezés, vegyszerek, az ózonréteg elvékonyodása, zaj stb.) vagy közvetve (élelmiszer, genetikailag módosított szervezetek stb.) kapcsolódó patológiák (allergiás, daganatos és légúti megbetegedések stb.) dominanciájának földrajzi eloszlása, illetve ezen tényezőknek az emberi egészségre (biomarkerek, termékenységcsökkenés, járványok) vagy jólétre (fáradtság, stressz stb.) gyakorolt hatását jellemző információ.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Répartition géographique des pathologies dominantes (allergies, cancers, maladies respiratoires, etc.) liées directement (pollution de l'air, produits chimiques, appauvrissement de la couche d'ozone, bruit, etc.) ou indirectement (alimentation, organismes génétiquement modifiés, etc.) à la qualité de l'environnement, et ensemble des informations relatif à l'effet de celle-ci sur la santé des hommes (marqueurs biologiques, déclin de la fertilité, épidémies) ou leur bienêtre (fatigue, stress, etc.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Santé et sécurité des personnes</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Väestön terveys ja turvallisuus</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Salud y seguridad humanas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Haiguste (allergiad, vähk, hingamisteede haigused jne) domineerimise geograafiline jaotumine, keskkonna kvaliteediga otseselt (õhusaaste, kemikaalid, osoonikihi kahanemine, müra jne) või kaudselt (toit, geneetiliselt muundatud organismid jne) seotud mõjusid inimeste tervisele (biomarkerid, viljatushaiguste sagenemine, epideemiad) või heaolule (väsimus, stress jne) puudutav teave.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Inimeste tervis ja ohutus</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Ympäristön laatuun välittömästi (esimerkiksi ilman pilaantuminen, kemikaalit, otsonikerroksen oheneminen, melu) tai välillisesti (esimerkiksi elintarvikkeet, muuntogeeniset organismit) yhteydessä olevien sairauksien (esimerkiksi allergiat, syövät, hengityselinsairaudet) maantieteellinen esiintyminen, tiedot, jotka osoittavat vaikutuksen terveyteen (esimerkiksi biologiset merkkiaineet, hedelmällisyyden väheneminen, epidemiat) tai ihmisten hyvinvointiin (esimerkiksi väsymys, stressi).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Sikkerhed</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geografische Verteilung verstärkt auftretender pathologischer Befunde (Allergien, Krebserkrankungen, Erkrankungen der Atemwege usw.), Informationen über Auswirkungen auf die Gesundheit (Biomarker, Rückgang der Fruchtbarkeit, Epidemien) oder auf das Wohlbefinden (Ermüdung, Stress usw.) der Menschen in unmittelbarem Zusammenhang mit der Umweltqualität (Luftverschmutzung, Chemikalien, Abbau der Ozonschicht, Lärm usw.) oder in mittelbarem Zusammenhang mit der Umweltqualität (Nahrung, genetisch veränderte Organismen usw.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Gesundheit und Sicherheit</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωγραφική κατανομή της κυριαρχίας παθολογιών (αλλεργίες, καρκίνοι, αναπνευστικές ασθένειες, κ.λπ.), πληροφορίες που καταδεικνύουν τις επιπτώσεις στην υγεία (βιοδείκτες, πτώση της γονιμότητας, επιδημίες) ή την ευεξία των ανθρώπων (κούραση, υπερένταση, κ.λπ.) που συνδέονται άμεσα (ατμοσφαιρική ρύπανση, χημικές ουσίες, καταστροφή της στιβάδας του όζοντος, θόρυβος, κ.λπ.) ή έμμεσα (τρόφιμα, γενετικώς τροποποιημένοι οργανισμοί, κ.λπ.) με την ποιότητα του περιβάλλοντος.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ανθρώπινη υγεία και ασφάλεια</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geographical distribution of dominance of pathologies (allergies, cancers, respiratory diseases, etc.), information indicating the effect on health (biomarkers, decline of fertility, epidemics) or well-being of humans (fatigue, stress, etc.) linked directly (air pollution, chemicals, depletion of the ozone layer, noise, etc.) or indirectly (food, genetically modified organisms, etc.) to the quality of the environment.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Здраве и безопасност на човека</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisné rozložení převládajícího výskytu patologických stavů (alergií, rakovin, nemocí dýchacího ústrojí atd.), informace o dopadu na zdraví (biomarkery, pokles plodnosti, epidemie) nebo životní podmínky (únava, stres atd.) související přímo (znečištění ovzduší, chemikálie, ztenčování ozonové vrstvy, hluk atd.) nebo nepřímo (potraviny, geneticky modifikované organismy atd.) s kvalitou životního prostředí.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Lidské zdraví a bezpečnost</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">og sundhed Geografisk fordeling af dominansen af patologier (allergier, kræft, luftvejssygdomme, osv.), oplysninger om indvirkningen på menneskers sundhed (biologiske markører, nedsat frugtbarhed, epidemier) eller trivsel (træthed, stress, osv.), der er direkte (luftforurening, kemikalier, udtynding af ozonlaget, støj, osv.) eller indirekte (fødevarer, genmodificerede organismer, osv.) knyttet til miljøkvaliteten.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Human health and safety</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Distribución geográfica de la dominancia de patologías (alergias, cáncer, enfermedades respiratorias, etc.), la información que indique el efecto sobre la salud (marcadores biológicos, declive de la fertilidad, epidemias) o el bienestar humanos (cansancio, estrés, etc.) directamente vinculada con la calidad del medio ambiente (contaminación del aire, productos químicos, enrarecimiento de la capa de ozono, ruido, etc.) o indirectamente vinculada con dicha calidad (alimentos, organismos modificados genéticamente, etc.).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Географско разпределение на преобладаващите патологии (алергии, рак, болести на дихателните пътища и др.), информация за въздействието върху човешкото здраве (биомаркери, намаляване на раждаемостта, епидемии) или за физическото състояние на човека (умора, стрес и други), пряко свързани (замърсяване на въздуха, химикали, изтъняване на озоновия слой, шум и др.) или непряко свързани (храна, генетично модифицирани организми и други) с качеството на околната среда.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Salut i seguretat humanes</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Distribució geogràfica de la dominància de patologies (al·lèrgies, càncer, malalties respiratòries, etc.), de la informació que indiqui l’efecte sobre la salut (marcadors biològics, davallada de la fertilitat, epidèmies) o el benestar humans (cansament, estrès, etc.), directament vinculada amb la qualitat del medi ambient (contaminació de l’aire, productes químics, enrariment de la capa d’ozó, soroll, etc.) o indirectament vinculada amb aquesta qualitat (aliments, organismes modificats genèticament, etc.).</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/19">
+<skos:altLabel>us</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Allmännyttiga och offentliga tjänster</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Komunalne in javne storitve</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Inbegriper anläggningar för allmännyttiga tjänster, exempelvis för hantering av avloppsvatten, avfallshantering, energiförsörjning och vattenförsörjning, administrativa och sociala offentliga tjänster såsom offentliga förvaltningar, räddningstjänstens anläggningar, skolor och sjukhus.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Includ instalaţiile de utilitate publică, precum sistemele de canalizare, de gestionare a deşeurilor, de aprovizionare cu energie electrică şi apă, şi serviciile administrative şi sociale publice, precum adăposturile de protecţie civilă, şcolile şi spitalele.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Servicii de utilitate publică şi servicii publice</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Patria sem verejné zariadenia, ako napríklad kanalizácia, nakladanie s odpadom, dodávka energie a dodávka vody, administratívne a sociálne štátne služby, ako napríklad verejná správa, miesta civilnej ochrany, školy a nemocnice.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Verejné a štátne služby</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Vključuje komunalne naprave kot so kanalizacija, ravnanje z odpadki, oskrba z energijo in preskrba z vodo, upravne in socialne vladne službe kot so javne uprave, sedeži civilne zaščite, šole in bolnišnice.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Usługi użyteczności publicznej i służby państwowe</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Inclui instalações e serviços de utilidade pública, como redes de esgotos, gestão de resíduos, fornecimento de energia, abastecimento de água, serviços administrativos e sociais do Estado tais como administrações públicas, instalações da protecção civil, escolas e hospitais.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Serviços de utilidade pública e do Estado</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Nutsdiensten en overheidsdiensten</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obejmuje instalacje użyteczności publicznej takie jak: kanalizacja, zarządzanie odpadami, dostawa energii i dostawa wody, administracyjne i społeczne służby państwowe lub samorządowe, takie jak: administracja publiczna, obiekty ochrony cywilnej, szkoły i szpitale.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Komunalinės įmonės ir valstybės tarnybos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Tas ietver tādu komunālo dienestu iekārtas kā kanalizācija, atkritumu apsaimniekošana, energoapgāde un ūdens apgāde, administratīvos un sociālos valsts dienestus, piemēram, valsts administrāciju, civilās aizsardzības novietnes, skolas un slimnīcas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Servizzi ta' utilità u tal-gvern</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Nutsvoorzieningen zoals riolering, afvalbeheer, energievoorziening, watervoorziening, bestuurlijke en maatschappelijke instanties van de overheid, zoals bestuurlijke overheden, civiele bescherming, scholen en ziekenhuizen.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Jinkludu faċilitajiet ta' utilità bħad-drenaġġ, l-immaniġġar ta' l-iskart, il-provvista ta' l-enerġija, il-provvista ta' l-ilma, isservizzi amministrattivi u soċjali tal-gvern bħal amministrazzjonijiet pubbliċi, siti għall-protezzjoni ċivili, skejjel u sptarijiet.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Komunālie un valsts dienesti</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Servizi di pubblica utilità e servizi amministrativi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Tai apima komunalinių įmonių infrastruktūrą, pavyzdžiui, kanalizaciją, atliekų tvarkymą, elektros energijos tiekimą ir vandens tiekimą, administracines ir socialines valstybės tarnybas, pavyzdžiui, viešojo administravimo įstaigas, civilinės saugos tarnybas, mokyklas ir ligonines.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Services d'utilité publique et services publics</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Magában foglalja az olyan közüzemi létesítményeket, mint például a szennyvíz- és hulladékgazdálkodás, az energiaellátás és a vízellátás, valamint az igazgatási és szociális közszolgáltatásokat, például a közigazgatási szerveket, a polgári védelmi létesítményeket, iskolákat és kórházakat.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Közüzemi és közszolgáltatások</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Sono compresi sia impianti quali gli impianti fognari, di gestione dei rifiuti, di fornitura energetica, e di distribuzione idrica, sia servizi pubblici amministrativi e sociali quali le amministrazioni pubbliche, i siti della protezione civile, le scuole e gli ospedali.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Yleishyödylliset ja muut julkiset palvelut</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Comprend les installations d'utilité publique, tels que les égouts ou les réseaux et installations liés à la gestion des déchets, à l'approvisionnement énergétique, à l'approvisionnement en eau, ainsi que les services administratifs et sociaux publics, tels que les administrations publiques, les sites de la protection civile, les écoles et les hôpitaux.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Utility and governmental services</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Incluye instalaciones de utilidad pública de alcantarillado, gestión de residuos, suministro de energía y suministro de agua, así como servicios estatales administrativos y sociales tales como administraciones públicas, sitios de protección civil, escuelas y hospitales.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Servicios de utilidad pública y estatales</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Includes utility facilities such as sewage, waste management, energy supply and water supply, administrative and social governmental services such as public administrations, civil protection sites, schools and hospitals.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Kommunaal- ja riiklikud teenused</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Tämä käsittää yleishyödyllisten palvelujen laitokset, kuten viemäröinnin, jätehuollon, energiahuollon ja vesihuollon, sekä hallinnolliset ja sosiaaliset julkiset palvelut, kuten viranomaiset, väestönsuojat, koulut ja sairaalat.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Hõlmab tehnorajatisi nagu näiteks reovee ja jäätmete käitluse, energia- ja veevarustuse võrgud ja rajatised ning riiklikke haldus- ja sotsiaalteenuseid nagu riiklikud haldusorganid, kodanikukaitse alad, koolid ja haiglad.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Omfatter forsyningsvirksomhed så som kloakering, affaldshåndtering, energiforsyning og vandforsyning, administrative og sociale offentlige tjenester som f.eks. offentlige administrationer, civilbeskyttelsesanlæg, skoler og hospitaler.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Offentlig forsyningsvirksomhed og offentlige tjenesteydelser</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Versorgungseinrichtungen wie Abwasser- und Abfallentsorgung, Energieversorgung und Wasserversorgung; staatliche Verwaltungs- und Sozialdienste wie öffentliche Verwaltung, Katastrophenschutz, Schulen und Krankenhäuser.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Versorgungswirtschaft und staatliche Dienste</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Περιλαμβάνονται εγκαταστάσεις υπηρεσιών κοινής ωφελείας, όπως η αποχέτευση, η διαχείριση αποβλήτων, ο ενεργειακός εφοδιασμός και η υδροδότηση, οι διοικητικές και κοινωνικές κρατικές υπηρεσίες, όπως οι δημόσιες διοικήσεις, οι χώροι πολιτικής προστασίας, τα σχολεία και τα νοσοκομεία.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Включват инфраструктура за комунално-битови услуги, например напоителни системи, управление на отпадъците, електроснабдяване и водоснабдяване, административни и социални обществени услуги, например публични администрации, обекти на гражданската защита, училища и болници.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Комунално-битови и обществени услуги</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Επιχειρήσεις κοινής ωφελείας και κρατικές υπηρεσίες</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Veřejné služby a služby veřejné správy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zahrnují zařízení, jako například kanalizace, nakládání s odpady, zásobování energií a zásobování vodou, správní a sociální státní služby, jako například veřejnou správu, zařízení civilní ochrany, školy a nemocnice.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Serveis d'utilitat pública i estatals</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Inclou instal·lacions d’utilitat pública de clavegueram, gestió de residus, subministrament d’energia i subministrament d’aigua, així com serveis estatals administratius i socials tals com administracions públiques, llocs de protecció civil, escoles i hospitals.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/2">
+<skos:altLabel>gg</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Geografska koordinatna mreža</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Harmoniserade rutnät med flera upplösningar, gemensam utgångspunkt och standardiserad placering och storlek på rutorna.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografiska rutnätssystem</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Sisteme de caroiaj geografic</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Harmonizovaná sieť s viacúrovňovým rozlíšením so spoločným počiatočným bodom a štandardizovanou polohou a veľkosťou buniek siete.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Geografické systémy sietí</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Usklajena večločljivostna mreža s skupno točko izvora in standardizirano lokacijo ter velikostjo mrežnih celic.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Systemy siatek geograficznych</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Quadrícula harmonizada multi-resolução com um ponto de origem comum e localização e dimensão normalizadas das células.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Sistemas de quadrículas geográficas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Caroiaj multirezoluţie armonizat, având un punct de origine comun, precum şi localizare şi mărime standardizate ale celulelor.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Sistemi ta' grilji ġeografiċi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geharmoniseerde multiresolutieraster met een gemeenschappelijk beginpunt en gestandaardiseerde plaats en grootte van de gridcellen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geografisch rastersysteem</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Zharmonizowana wielorozdzielcza siatka o wspólnym punkcie początkowym i znormalizowanym położeniu oraz wielkości pól siatki.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Ģeogrāfisko koordinātu tīklu sistēmas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Grilja multi-risoluzzjoni armonizzata b'punt ta' oriġini komuni u pożizzjoni u daqs taċ-ċelluli tal-grilja standardizzati.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Geografinio tinklelio sistemos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Saskaņots daudzpakāpju izšķiršanas koordinātu tīkls ar kopēju sākumpunktu un standartizētu tīkla šūnu atrašanās vietu un izmēru.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Suderintas kintamos skiriamosios gebos tinklelis su bendru atskaitos tašku ir standartizuota tinklelio langelių lokacija bei dydžiu.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Griglia multi-risoluzione armonizzata con un punto di origine comune e un posizionamento e una dimensione standard delle celle.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Sistemi di griglie geografiche</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Systèmes de maillage géographique</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Harmonizált több felbontású rács közös kiindulóponttal és egységesített rácscella-helymeghatározással és -mérettel.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Földrajzi rácsrendszerek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Yhdenmukaistettu monitasoinen ruudukko, jossa on yhteinen lähtöpiste ja standardoitu yksittäisen ruudun sijainti ja koko.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Paikannusruudustot</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Grille multi-résolution harmonisée avec un point d'origine commun et une localisation ainsi qu'une taille des cellules harmonisées.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geographical grid systems</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Cuadrículas armonizadas multirresolución con un punto de origen común y con ubicación y tamaños de cuadrícula normalizados.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Sistema de cuadrículas geográficas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Ühtlustatud, ühise lähtepunktiga ning võrguruutude standardse paigutuse ja suurusega mitmetasandiline ruutvõrk.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Geograafilised ruutvõrgud</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Συστήματα γεωγραφικού καννάβου</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Harmonised multi-resolution grid with a common point of origin and standardised location and size of grid cells.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Et harmoniseret kvadratnet med flere cellestørrelser samt fælles nulpunkt og standardiseret cellelokalisering og -størrelse.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Geografiske kvadratnetsystemer</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Harmonisiertes Gittersystem mit Mehrfachauflösung, gemeinsamem Ursprungspunkt und standardisierter Lokalisierung und Größe der Gitterzellen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geografische Gittersysteme</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Εναρμονισμένος κάνναβος πολλαπλής ανάλυσης με ενιαίο σημείο αφετηρίας και τυποποιημένη θέση και μέγεθος των φατνίων του καννάβου.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Географски координатни системи</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisné soustavy souřadnicových sítí</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Harmonizovaná souřadnicová síť s víceúrovňovým rozlišením, normalizovanou polohou a velikostí buněk souřadnicové sítě, a společným vztažným bodem.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Хармонизирана сложна координатна система с обща начална точка и стандартизирано разположение и размер на квадрантите на координатната система.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Sistema de quadrícules geogràfiques</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Quadrícules harmonitzades multiresolució amb un punt d’origen comú i amb ubicació i grandària de quadrícula normalitzats.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/20">
+<skos:altLabel>ef</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Anläggningar för miljöövervakning</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Naprave in objekti za monitoring okolja</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Placering och användning av anläggningar för miljöövervakning inbegriper iakttagelse och mätning av utsläpp, av situationen när det gäller miljömedier och av andra parametrar för ekosystemet (biologisk mångfald, ekologiska villkor för växtligheten etc.) som genomförs av offentliga myndigheter eller för deras räkning.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Nahajanje in delovanje naprav in objektov za spremljanje okolja vključuje opazovanje in merjenje emisij, stanja okolja in drugih parametrov ekosistema (biološka raznolikost, ekološki pogoji vegetacije itd.) s strani javnih organov ali v njihovem imenu.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Poloha a prevádzka zariadení na monitorovanie životného prostredia zahŕňa pozorovanie a meranie emisií, stavu zložiek životného prostredia a iných parametrov ekosystému (biodiverzity, ekologických podmienok vegetácie, atď.) vykonávané orgánmi verejnej moci alebo v ich mene.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Zariadenia na monitorovanie životného prostredia</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Instalações de monitorização do ambiente</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Amplasarea şi exploatarea instalaţiilor de supraveghere a mediului implică observarea şi măsurarea emisiilor, a stării mediului înconjurător şi a altor parametri ai ecosistemului (biodiversitate, condiţii ecologice ale vegetaţiei etc.) de către sau în numele autorităţilor publice.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Milieubewakingsvoorzieningen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Lokalizacja i funkcjonowanie urządzeń do monitorowania środowiska obejmują obserwację i pomiary emisji, stanu zasobów środowiska i innych parametrów ekosystemu (różnorodności biologicznej, warunków ekologicznych wegetacji itd.) przez organy publiczne lub w ich imieniu.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Urządzenia do monitorowania środowiska</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">A localização e funcionamento de instalações de monitorização do ambiente inclui a observação e medição de emissões, do estado das diferentes componentes ambientais e de outros parâmetros dos ecossistemas (biodiversidade, condições ecológicas da vegetação, etc.) pelas autoridades públicas ou por conta destas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Instalaţii de supraveghere a mediului</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Faċilitajiet ta' monitoraġġ ambjentali</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Locatie en werking van milieubewakingsvoorzieningen, met inbegrip van waarneming en meting van emissies, de staat van de milieucompartimenten en van andere ecosysteemparameters (biodiversiteit, ecologische omstandigheden van vegetatie, enz.) door of namens de overheidsinstanties.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Posizzjoni u operazzjoni ta' faċilitajiet ta' monitoraġġ ambjentali jinkludi l-osservazzjoni u l-kejl ta' emissjonijiet, ta' listat tal-medji ambjentali u ta' parametri oħra ta' l-ekosistema (biodiversità, kondizzjonijiet ekoloġiċi ta' veġetazzjoni, eċċ.) permezz jew f'isem l-awtoritajiet pubbliċi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Aplinkos stebÄ—senos priemonÄ—s</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Vides monitoringa iekārtu atrašanās vietas un pārvaldība, kas ietver emisiju, apkārtējās vides stāvokļa un citu ekosistēmas parametru (bioloģiskās daudzveidības, veģetācijas ekoloģisko apstākļu, utt.) novērošanu un mērīšanu, ko veic publiskās iestādes vai publisko iestāžu vārdā.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Vides monitoringa iekārtas</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Környezetvédelmi monitoringlétesítmények</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">L'ubicazione e il funzionamento degli impianti di monitoraggio ambientale comprendono l'osservazione e la misurazione delle emissioni, dello stato dei comparti ambientali e di altri parametri dell'ecosistema (biodiversità, condizioni ecologiche della vegetazione, ecc.) da parte o per conto delle autorità pubbliche.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Impianti di monitoraggio ambientale</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Aplinkos stebėsenos priemonių vieta ir veikla, įskaitant valdžios institucijų arba jų vardu atliekamą išmetamų teršalų, aplinkos terpių būklės ir kitų ekosistemos parametrų (biologinės įvairovės, ekologinių augalijos sąlygų ir t. t.) stebėjimą ir matavimą.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A környezetvédelmi monitoringlétesítmények elhelyezkedése és működése magában foglalja a kibocsátásnak, a környezeti elemek állapotának, valamint az ökoszisztéma egyéb paramétereinek (biodiverzitás, a növényzet ökológiai állapota stb.) a hatóságok általi vagy a nevükben történő megfigyelését és mérését.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Installations de suivi environnemental</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Keskkonnaseirerajatiste asukoht ja kasutamine hõlmab heidete, keskkonnaelementide seisundi ja muude ökosüsteemi parameetrite (bioloogilise mitmekesisuse, taimkatte ökoloogiliste tingimuste jne) vaatlust ja mõõtmist avaliku võimu kandjate poolt või nende nimel.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Keskkonnaseirerajatised</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Ympäristön tilan seurantalaitteiden sijaintiin ja käyttöön kuuluu päästöjen, ilman, maaperän ja veden tilan ja muiden ekosysteemin muuttujien (luonnon monimuotoisuus, kasviston ekologiset olot jne.) seuranta ja mittaukset, joista vastaavat viranomaiset tai muut toimijat viranomaisten puolesta.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Ympäristön tilan seurantalaitteet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">La situation et le fonctionnement des installations de suivi environnemental comprennent l'observation et la mesure des émissions, de l'état du milieu environnemental et d'autres paramètres de l'écosystème (biodiversité, conditions écologiques de la végétation, etc.) par les autorités publiques ou pour leur compte.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Location and operation of environmental monitoring facilities includes observation and measurement of emissions, of the state of environmental media and of other ecosystem parameters (biodiversity, ecological conditions of vegetation, etc.) by or on behalf of public authorities.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Instalaciones de observación del medio ambiente</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">La ubicación y funcionamiento de instalaciones de observación del medio ambiente, encargadas de observar y medir emisiones, el estado del medio ambiente y otros parámetros del ecosistema (biodiversidad, condiciones ecológicas de la vegetación, etc.), por parte de las autoridades públicas o en nombre de ellas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Environmental monitoring facilities</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Εγκαταστάσεις παρακολούθησης του περιβάλλοντος</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Miljøovervågningsfaciliteter</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Standort und Betrieb von Umweltüberwachungseinrichtungen einschließlich Beobachtung und Messung von Schadstoffen, des Zustands von Umweltmedien und anderen Parametern des Ökosystems (Artenvielfalt, ökologischer Zustand der Vegetation usw.) durch oder im Auftrag von öffentlichen Behörden.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Umweltüberwachung</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Η τοποθεσία και η λειτουργία των εγκαταστάσεων παρακολούθησης του περιβάλλοντος περιλαμβάνει την παρατήρηση και τη μέτρηση των εκπομπών, της κατάστασης των στοιχείων του περιβάλλοντος και άλλων παραμέτρων του οικοσυστήματος (βιοποικιλότητα, οικολογική κατάσταση της βλάστησης, κ.λπ.) από τις δημόσιες αρχές ή για λογαριασμό τους.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Lokalisering og drift af miljøovervågningsfaciliteter omfatter observation og måling af emissioner, af miljøelementernes tilstand og af andre økosystemparametre (biodiversitet, plantevækstens økologiske betingelser, osv.) foretaget af eller på vegne af offentlige myndigheder.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zařízení pro sledování životního prostředí</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Местонахождението и действието на съоръжения за мониторинг на околната среда включват наблюдение и измерване на емисиите, на състоянието на факторите на околната среда и на други параметри на екосистемата (биологично разнообразие, екологични условия на флората и други), извършвани от публичните власти или от тяхно име.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Съоръжения за управление на околната среда</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Rozmístění a provoz zařízení pro sledování životního prostředí zahrnuje pozorování a měření emisí, stavu složek životního prostředí a dalších ukazatelů ekosystému (druhové rozmanitosti, ekologických podmínek rostlinstva atd.) orgány veřejné správy nebo jejich jménem.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Instal·lacions d'observació del medi ambient</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Ubicació i funcionament d’instal·lacions d’observació del medi ambient, encarregades d’observar i mesurar emissions, l’estat del medi ambient i altres paràmetres de l’ecosistema (biodiversitat, condicions ecològiques de la vegetació, etc.) per part de les autoritats públiques o en nom d’aquestes.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/21">
+<skos:altLabel>pf</skos:altLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Industriella produktionsställen, inbegripet anläggningar som omfattas av rådets direktiv 96/61/EG av den 24 september 1996 om samordnande åtgärder för att förebygga och begränsa föroreningar (1) samt vattenverk, gruvor och upplagsplatser.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Produktions- och industrianläggningar</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Instalaţii de producţie şi industriale</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Priemyselné výrobné podniky vrátane zariadení, na ktoré sa vzťahuje smernica Rady 96/61/ES z 24. septembra 1996 o integrovanej prevencii a kontrole znečisťovania životného prostredia (1), a zariadenia na čerpanie vody, bane, sklady.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Parcuri de producţie industrială, inclusiv instalaţiile reglementate de Directiva 96/61/CE a Consiliului din 24 septembrie 1996 privind prevenirea şi controlul integrat al poluării (1), precum şi instalaţiile de captare a apei, de extracţie minieră şi locurile de depozitare.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Proizvodni in industrijski objekti in naprave</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Območja za industrijsko proizvodnjo, vključno z obrati, ki jih zajema Direktiva Sveta 96/61/ES z dne 24. septembra 1996 o celovitem preprečevanju in nadzorovanju onesnaževanja (1) ter objekti in napravami za odvzem vode, rudniki, skladišči.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Výrobné a priemyselné zariadenia</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Faciliteiten voor productie en industrie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Zakłady przemysłowe, w tym obiekty objęte dyrektywą 96/61/WE z dnia 24 września 1996 r. dotycząca zintegrowanego zapobiegania zanieczyszczeniom i ich kontroli (1) oraz urządzenia poboru wody, miejsca wydobycia i składowiska.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Instalações industriais e de produção</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Locais de produção industrial, incluindo instalações abrangidas pela Directiva 96/61/CE do Conselho, de 24 de Setembro de 1996, relativa à prevenção e controlo integrados da poluição (1), e instalações de captação de água, minas, locais de armazenagem.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obiekty produkcyjne i przemysłowe</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Ražošanas un rūpniecības iekārtas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Siti ta' produzzjoni industrijali, inklużi installazzjonijiet koperti mid-Direttiva tal-Kunsill 96/61/KE ta' l- 24 ta' Settembru 1996 dwar il-prevenzjoni u l-kontroll integrat tat-tniġġis (1) u faċilitajiet ta' astrazzjoni ta' l-ilma, tħaffir ta' minjieri, siti ta' ħażna.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Faċilitajiet ta' produzzjoni u industrijali</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Rūpniecības ražošanas novietnes, tostarp iekārtas, kas iekļautas Padomes Direktīvā 96/61/EK (1996. gada 24. septembris) par piesārņojuma integrētu novēršanu un kontroli (1), un iekārtas, ko izmanto ūdens ņemšanai, kalnrūpniecībā vai uzglabāšanai.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Industriële productievestigingen, met inbegrip van installaties die onder Richtlijn 96/61/EG van de Raad van 24 september 1996 inzake geïntegreerde preventie en bestrijding van verontreiniging (1) vallen en waterontrekkingsfaciliteiten, mijnbouw, opslagplaatsen.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Siti di produzione industriale; compresi gli impianti di cui alla direttiva 96/61/CE del Consiglio, del 24 settembre 1996, sulla prevenzione e la riduzione integrate dell'inquinamento (1) e gli impianti di estrazione dell’acqua, le attività estrattive e i siti di stoccaggio.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Produzione e impianti industriali</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Pramoninės gamybos įmonės, įskaitant įrenginius, kuriems taikoma 1996 m. rugsėjo 24 d. Tarybos direktyva 96/61/EB dėl taršos integruotos prevencijos ir kontrolės (1), ir vandens ėmimo įmones, kasybos, sandėliavimo vietas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Gamybos ir pramonės įrenginiai</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Tuotanto- ja teollisuuslaitokset</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Sites de production industrielle, y compris les installations couvertes par la directive 96/61/CE du Conseil du 24 septembre 1996 relative à la prévention et à la réduction intégrées de la pollution (1) et les installations de captage d'eau, d'extraction minière et de stockage.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Lieux de production et sites industriels</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Ipari termelőhelyek, beleértve a környezetszennyezés integrált megelőzéséről és csökkentéséről szóló, 1996. szeptember 24-i 96/61/EK tanácsi irányelv (1) által szabályozott berendezéseket, valamint a vízkivételt, a bányászati és a tárolólétesítményeket.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Termelő és ipari létesítmények</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Teollisuusalueet, mukaan luettuina ympäristön pilaantumisen ehkäisemisen ja vähentämisen yhtenäistämiseksi 24 päivänä syyskuuta 1996 annetun neuvoston direktiivin 96/61/EY (1) soveltamisalaan kuuluvat laitokset sekä vedenottamot, kaivokset ja varastoalueet.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Tootmis- ja tööstusrajatised</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Instalaciones de producción e industriales</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Tööstusliku tootmise asukohad, sealhulgas nõukogu 24. septembri 1996. aasta direktiiviga 96/61/EÜ saastuse kompleksse vältimise ja kontrolli kohta (1) hõlmatud rajatised ning veevõtukohad, kaevandused ja ladustamiskohad.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Εγκαταστάσεις παραγωγής και βιομηχανικές εγκαταστάσεις</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Industrial production sites, including installations covered by Council Directive 96/61/EC of 24 September 1996 concerning integrated pollution prevention and control (1) and water abstraction facilities, mining, storage sites.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Production and industrial facilities</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Centros de producción industrial, incluidas las instalaciones contempladas en la Directiva 96/61/CE del Consejo, de 24 de septiembre de 1996, sobre la prevención y el control integrado de la contaminación (1), e instalaciones de extracción de agua, instalaciones mineras, centros de almacenamiento.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Produktions- und Industrieanlagen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Τοποθεσίες βιομηχανικής παραγωγής, συμπεριλαμβανομένων των εγκαταστάσεων που καλύπτονται από την οδηγία 96/61/ΕΚ του Συμβουλίου, της 24ης Σεπτεμβρίου 1996, σχετικά με την ολοκληρωμένη πρόληψη και έλεγχο της ρύπανσης (1), και εγκαταστάσεις υδροληψίας, εξόρυξης, χώροι αποθήκευσης.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Místa s průmyslovou výrobou, včetně zařízení, na která se vztahuje směrnice Rady 96/61/ES ze dne 24. září 1996 o integrované prevenci a omezování znečištění (1), a zařízení na jímání vody, těžbu, skladiště a úložiště.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Výrobní a průmyslová zařízení</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Industrielle produktionsanlæg, herunder de anlæg, der er omfattet af Rådets direktiv 96/61/EF af 24. september 1996 om forebyggelse og bekæmpelse af forurening (1), og vandudvindingsanlæg, miner, oplagspladser.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Produktions- og industrifaciliteter</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Standorte für industrielle Produktion, einschließlich durch die Richtlinie 96/61/EG des Rates vom 24. September 1996 über die integrierte Vermeidung und Verminderung der Umweltverschmutzung (1) erfasste Anlagen und Einrichtungen zur Wasserentnahme sowie Bergbau- und Lagerstandorte.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Производствени и промишлени съоръжения</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Промишлени обекти, включително инсталации, обхванати от Директива 96/61/ЕО на Съвета от 24 септември 1996 г. за комплексно предотвратяване и контрол на замърсяването (1), и съоръжения за водочерпене, минни съоръжения, складови обекти.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Instal·lacions de producció i industrials</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Centres de producció industrial, incloses les instal·lacions que preveu la Directiva 96/61/CE del Consell, de 24 de setembre de 1996, sobre la prevenció i el control integrat de la contaminació, i instal·lacions d’extracció d’aigua, instal·lacions mineres i centres d’emmagatzematge.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/22">
+<skos:altLabel>af</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Jordbruks- och vattenbruksanläggningar</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Objekti in naprave za kmetijstvo in ribogojstvo</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Jordbruksutrustning och produktionsanläggningar (inbegripet bevattningssystem, växthus och djurstallar).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Poľnohospodárske zariadenia a zariadenia akvakultúry</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Kmetijska oprema ter proizvodni objekti in naprave (vključno z namakalnimi sistemi, rastlinjaki in hlevi).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Instalações agrícolas e aquícolas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Echipament şi instalaţii de producţie agricolă (inclusiv sisteme de irigaţie, sere şi grajduri).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Instalaţii agricole şi pentru acvacultură</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Poľnohospodárske vybavenie a výrobné zariadenia (vrátane zavlažovacích systémov, skleníkov a stajní).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Equipamento e instalações de explorações agrícolas e aquícolas (incluindo sistemas de irrigação, estufas e viveiros, e estábulos).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Urządzenia rolnicze oraz urządzenia produkcyjne (łącznie z systemami nawadniania, szklarniami i stajniami).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obiekty rolnicze oraz akwakultury</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Tagħmir tal-biedja u faċilitajiet ta' produzzjoni (inklużi sistemi ta' irrigazzjoni, serer u stalel).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Faċilitajiet agrikoli u ta' l-akwakultura</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Landbouwuitrusting en productiefaciliteiten (met inbegrip van irrigatiesystemen, broeikassen en stallen).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Faciliteiten voor landbouw en aquacultuur</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Lauksaimniecības ierīces un ražošanas iekārtas (tostarp apūdeņošanas sistēmas, siltumnīcas un staļļi).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Lauksaimniecības un akvakultūras iekārtas</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Žemės ūkio ir akvakultūros infrastruktūra</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Apparecchiature e impianti di produzione agricola (compresi i sistemi di irrigazione, le serre e le stalle).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Žemės ūkio įrenginiai ir gamybos infrastruktūra (įskaitant drėkinimo sistemas, šiltnamius ir tvartus).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Impianti agricoli e di acquacoltura</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωργικές εγκαταστάσεις και εγκαταστάσεις υδατοκαλλιέργειας</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Mezőgazdasági és akvakultúra-ágazati létesítmények</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Mezőgazdasági eszközök és termelőlétesítmények (beleértve az öntözőrendszereket, üvegházakat és istállókat).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Installations agricoles et aquacoles</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Équipement et installations de production agricoles (y compris les systèmes d'irrigation, les serres et les étables).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maatalouden tuotantolaitteet ja -laitteistot (mukaan luettuina kastelujärjestelmät, kasvihuoneet ja eläinsuojat).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maatalous- ja vesiviljelylaitokset</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Põllumajandus- ja vesiviljelusrajatised</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Põllumajandusseadmed ja tootmisrajatised (sealhulgas niisutussüsteemid, kasvuhooned ja laudad).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Instalaciones agrícolas y de acuicultura</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Farming equipment and production facilities (including irrigation systems, greenhouses and stables).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Agricultural and aquaculture facilities</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Equipamiento e instalaciones de producción agraria (incluidos sistemas de regadío, invernaderos y establos).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Селскостопански и водностопански съоръжения</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Vybavení a zařízení zemědělské výroby (včetně zavlažovacích systémů, skleníků a stájí).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zemědělská a akvakulturní zařízení</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Оборудване за селски стопанства и производствени мощности (включително поливни системи, парници и обори).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Landwirtschaftliche Anlagen und Aquakulturanlagen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωργικός εξοπλισμός και εγκαταστάσεις παραγωγής (συμπεριλαμβανομένων των συστημάτων άρδευσης, των θερμοκηπίων και των στάβλων).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Landbrugsudstyr og -produktionsanlæg (herunder vandingssystemer, drivhuse og stalde).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Landbrugs- og akvakulturanlæg</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Landwirtschaftliche Anlagen und Produktionsstätten (einschließlich Bewässerungssystemen, Gewächshäusern und Ställen).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Instal·lacions agrícoles i d'aqüicultura</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Equipaments i instal·lacions de producció agrària (inclosos sistemes de regadiu, hivernacles i estables).</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/23">
+<skos:altLabel>pd</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Befolkningsfördelning – demografi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Geografska porazdelitev ljudi, vključno z značilnostmi populacije in ravnmi aktivnosti, razvrščenih po koordinatah, regiji, upravni enoti ali drugi analitični enoti.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Porazdelitev prebivalstva – demografski podatki</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografisk fördelning av människor, inbegripet befolkningskarakteristiska och sysselsättningsgrader, i rutnät, regioner, administrativa enheter eller andra analysenheter.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Repartizarea populaţiei – demografie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Geografické rozmiestnenie obyvateľstva vrátane charakteristík obyvateľstva a úrovní činností zoskupené podľa siete, regiónu, administratívnej jednotky alebo inej analytickej jednotky.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Repartizare geografică a populaţiei, inclusiv caracteristicile populaţiei şi nivelurile de activitate, regrupate pe grilă, regiune, unitate administrativă sau altă unitate analitică.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Rozmiestnenie obyvateľstva – demografia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Distribuição geográfica da população, incluindo características demográficas e níveis de actividade, agregada por quadrícula, região, unidade administrativa ou outra unidade analítica.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Distribuição da população — demografia</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Spreiding van de bevolking — demografie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Geograficzne rozmieszczenie ludności, łącznie z poziomami aktywności i charakterystyką ludności, pogrupowanej według siatki geograficznej, regionu, jednostki administracyjnej lub innej jednostki analitycznej.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Rozmieszczenie ludności – demografia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Iedzīvotāju ģeogrāfiskais sadalījums, tostarp iedzīvotāju raksturojumi un darbības līmeņi, grupējot pēc koordinātu tīkla, reģiona, administratīvām vai citām analītiskām vienībām.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Iedzīvotāju sadalījums – demogrāfija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Distribuzzjoni ġeografika ta' nies, inkluż karatteristiċi ta' popolazzjoni u livelli ta' attivitajiet, miġbura flimkien skond il-grilja, ir-reġjun, l-unità amministrattiva jew unità analitika oħra.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Distribuzzjoni tal-popolazzjoni – demografija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geografische spreiding van de bevolking, met inbegrip van bevolkingskenmerken en activiteitsniveaus, verzameld per raster, regio, administratieve eenheid of andere analytische eenheid.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Distribuzione della popolazione — demografia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Geografinis žmonių pasiskirstymas, įskaitant gyventojų savybes ir aktyvumo lygius, pagal tinklelį, regioną, administracinį ar kitą analitinį vienetą.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Gyventojų pasiskirstymas – demografija</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Répartition de la population — démographie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A népesség földrajzi eloszlása – beleértve a népességi jellemzőket és a tevékenységi szinteket is – térképrács, régió, közigazgatási egység vagy más elemzési egység alapján összesítve.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A népesség eloszlása – demográfia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Distribuzione geografica della popolazione, comprese le relative caratteristiche ed i livelli di attività, aggregata per griglia, regione, unità amministrativa o altra unità analitica.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Elanikkonna jaotumine – demograafia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Väestön maantieteellinen jakautuminen, mukaan lukien väestöä koskevat tunnusluvut ja taloudellisen toimeliaisuuden tasot, yhdisteltynä ruudukoittain, alueittain, hallintoyksiköittäin tai muiden analyyttisten yksiköitten mukaisesti jaoteltuna.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Väestöjakauma – demografia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Répartition géographique des personnes, avec les caractéristiques de population et les niveaux d'activité, regroupées par grille, région, unité administrative ou autre unité analytique.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Distribución de la población — demografía</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Elanike, sealhulgas rahvastiku näitajate ja tegevuste geograafiline jaotumine ruutvõrgu, piirkondade, haldusüksuste või muude analüütiliste üksuste alusel.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geographical distribution of people, including population characteristics and activity levels, aggregated by grid, region, administrative unit or other analytical unit.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωγραφική κατανομή του πληθυσμού, συμπεριλαμβανομένων των χαρακτηριστικών του πληθυσμού και των επιπέδων δραστηριοτήτων, ανά κάνναβο, περιοχή, διοικητική ενότητα ή άλλη ενότητα ανάλυσης.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Population distribution — demography</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Distribución geográfica de la población referidas a una cuadrícula, región, unidad administrativa u otro tipo de unidad analítica, incluyendo las características de la población y sus niveles de actividad.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Κατανομή πληθυσμού — δημογραφία</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Rozložení obyvatelstva – demografie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Den geografiske fordeling af befolkningen, herunder befolkningskarakteristika og aktivitetsniveauer, i kvadratnetceller, forvaltningsenheder eller andre analytiske enheder.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Географско разпределение на населението, включително характеристики на населението и нива на дейност, представено обобщено по координати, регион, административна единица или друга аналитична единица.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Verteilung der Bevölkerung — Demografie</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Befolkningsfordeling — demografi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geografische Verteilung der Bevölkerung, einschließlich Bevölkerungsmerkmalen und Tätigkeitsebenen, zusammengefasst nach Gitter, Region, Verwaltungseinheit oder sonstigen analytischen Einheiten.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Разпределение на населението — демография</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisné rozložení osob, včetně charakteristik obyvatelstva a druhů činnosti, seskupených podle souřadnicové sítě, regionu, správní jednotky nebo jiné analytické jednotky.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Distribució de la població - demografia</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Distribució geogràfica de la població referida a una quadrícula, regió, unitat administrativa o un altre tipus d’unitat analítica, incloent-hi característiques de la població i nivells d’activitat.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/24">
+<skos:altLabel>am</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Spravované/obmedzené/regulované zóny a jednotky podávajúce správy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Območja, ki se upravljajo, urejajo ali uporabljajo za poročanje na mednarodni, evropski, nacionalni, regionalni in lokalni ravni. Vključujejo odlagališča odpadkov, zaprta območja okrog virov pitne vode, cone, občutljive na nitrate, urejene plovne poti po morju ali velikih celinskih vodah, območja za odlaganje odpadkov, cone z omejitvijo hrupa, območja, kjer je potrebno dovoljenje za iskanje rud in rudarjenje, predele povodij, ustrezne poročevalske enote in območja upravljanja obalnih con.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Områden med särskild förvaltning/begränsningar/reglering samt enheter för rapportering</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Območja upravljanja/zaprta območja/regulirana območja in poročevalske enote</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Områden som förvaltas, regleras eller används för rapportering på internationell, europeisk, nationell, regional och lokal nivå. Innefattar avfallsdeponier, skyddsområden runt dricksvattentäkter, områden som är känsliga för nitratbelastning, reglerade farleder till havs och i större inlandsvatten, områden för dumpning av avfall, områden med bullerrestriktioner, områden med tillstånd för prospektering och gruvbrytning, avrinningsdistrikt, relevanta enheter för rapportering och områden med kustförvaltning.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone de administrare/restricţie/reglementare şi unităţi de raportare</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Oblasti, ktoré sú spravované, regulované alebo využívané na podávanie správ na medzinárodnej, európskej, celoštátnej, regionálnej a miestnej úrovni. Patria sem skládky, ochranné pásma v okolí zdrojov pitnej vody, oblasti citlivé na dusík, regulované plavebné cesty na mori alebo na rozsiahlych vnútrozemských vodných plochách a tokoch, oblasti určené na skladovanie odpadu, oblasti s obmedzením hluku, oblasti, v ktorých je povolený prieskum a ťažba, oblasti povodí, príslušné jednotky na podávanie správ a oblasti správy pobrežných zón.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone administrate, reglementate sau folosite pentru raportarea la nivel internaţional, european, naţional, regional şi local. Sunt incluse gropile de gunoi, zonele restricţionate din apropierea surselor de apă potabilă, zonele vulnerabile la nitraţi, şenalele navigabile reglementate de pe mare sau din apele interne importante, zonele destinate descărcării deşeurilor, zonele în care au fost introduse limite de zgomot, zonele care fac obiectul unui permis de prospectare şi de exploatare minieră, districtele hidrografice, unităţile de raportare corespunzătoare şi zonele de administrare a litoralului.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Gebiedsbeheer, gebieden waar beperkingen gelden, gereguleerde gebieden en rapportage-eenheden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obszary zarządzane, regulowane lub wykorzystywane do celów sprawozdawczych na poziomie międzynarodowym, europejskim, krajowym, regionalnym i lokalnym. Obejmują również wysypiska śmieci, obszary o ograniczonym dostępie wokół ujęć wody pitnej, strefy zagrożone przez azotany, uregulowane drogi wodne na morzach lub wodach śródlądowych o dużej powierzchni, obszary przeznaczone pod wysypiska śmieci, strefy ograniczeń hałasu, obszary wymagające zezwolenia na poszukiwania i wydobycie, obszary dorzeczy, odpowiednie jednostki sprawozdawcze i obszary zarządzania strefą brzegową.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Zonas de gestão/restrição/regulamentação e unidades de referência</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Gospodarowanie obszarem/strefy ograniczone/regulacyjne oraz jednostki sprawozdawcze</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Zonas geridas, regulamentadas ou utilizadas para a comunicação de dados a nível internacional, europeu, nacional, regional e local. Compreende aterros, zonas de acesso restrito em torno de nascentes de água potável, zonas sensíveis aos nitratos, vias navegáveis regulamentadas no mar ou em águas interiores de grandes dimensões, zonas de descarga de resíduos, zonas de ruído condicionado, zonas autorizadas para efeitos de prospecção e extracção mineira, bacias hidrográficas, unidades de referência pertinentes e zonas abrangidas pela gestão das zonas costeiras.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Apgabala pārvaldības/ierobežojumu/reglamentētas zonas un ziņošanas vienības</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Żoni amministrati, regolati jew użati għar-rappurtar fuq il-livell internazzjonali, Ewropew, nazzjonali, reġjonali u lokali. Huma inklużi siti użati għar-radam, żoni ristretti madwar għejjun ta' l-ilma għax-xorb, żoni vulnerabbli għannitrati, kanali regolati fil-baħar jew f'ilmijiet interni kbar, żoni għar-radam ta' l-iskart, żoni għar-restrizzjoni ta' listorbju, żoni b'permess għat-tħaffir u għat-tiftix ta' minerali, distretti ta' baċiri tax-xmajjar, unitajiet ta' rapportar rilevanti u żoni ta' amministrazzjoni ta' l-inħawi tal-kosta.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Zone sottoposte a gestione/limitazioni/regolamentazione e unità con obbligo di comunicare dati</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Tvarkomos/ribojamos/reglamentuojamos zonos ir vienetai, už kuriuos atsiskaitoma tarptautiniu, Europos, nacionaliniu, regioniniu arba vietos lygmeniu tvarkomos ir reglamentuojamos zonos arba zonos, apie kurias rengiamos ataskaitos. Tai apima sąvartynus, ribotos veiklos zonas aplink geriamo vandens šaltinius, nitratų pažeidžiamas zonas, reglamentuojamus jūros arba didelių vidaus vandenų farvaterius, atliekų aikšteles, zonas, kuriose ribojamas triukšmas, vietas, kuriose reikalingas leidimas žvalgybai ar kasinėjimui, upių baseinų sritis, atitinkamas vietoves, apie kurias rengiamos ataskaitos, ir pakrančių zonos tvarkymo vietoves.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Amministrazzjoni ta' żoni/restrizzjoni/żoni regolati u unitajiet ta' rapportar</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Gebieden die worden beheerd, gereguleerd of gebruikt voor rapportage op internationaal, Europees, nationaal, regionaal en lokaal niveau, met inbegrip van stortplaatsen, gebieden rond drinkwaterbronnen waar beperkingen gelden, nitraatgevoelige gebieden, gereguleerde vaarwegen op zee of op grote binnenwateren, gebieden voor het storten van afval, gebieden waar geluidsbeperkingen gelden, gebieden met toestemming voor exploratie en mijnbouw, stoomgebieden, relevante rapportage-eenheden en gebieden voor kustbeheer.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Tvarkomos teritorijos, ribojamos ir reglamentuojamos zonos bei vienetai, už kuriuos atsiskaitoma</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Apgabali, ko pārvalda, reglamentē vai lieto, lai sniegtu ziņojumus starptautiskā, Eiropas, valsts, reģiona un pašvaldības līmenī. Ietver izgāztuves, liegumus ap dzeramā ūdens avotiem, pret nitrātiem jutīgas zonas, reglamentētus kuģu ceļus jūrā vai lielos iekšzemes ūdeņos, atkritumu izgāšanas apgabalus, zonas ar trokšņu ierobežojumiem, zonas, kurās atļauta ģeoloģisko atradņu izpēte un izrakteņu ieguve, upju baseinu apgabalus, attiecīgas ziņošanas vienības un krasta zonas apsaimniekošanas apgabalus.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Területgazdálkodási/-korlátozási/-szabályozási övezetek és adatszolgáltató egységek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Aree gestite, regolamentate o utilizzate per la comunicazione di dati a livello internazionale, europeo, nazionale, regionale e locale. Sono comprese le discariche, le zone vietate attorno alle sorgenti di acqua potabile, le zone sensibili ai nitrati, le vie navigabili regolamentate in mare o in acque interne di grandi dimensioni, le zone per lo smaltimento dei rifiuti, le zone di limitazione del rumore, le zone in cui sono autorizzate attività di prospezione ed estrazione, i distretti idrografici, le pertinenti unità con obbligo di comunicare dati e le aree in cui vigono piani di gestione delle zone costiere.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Zones de gestion, de restriction ou de réglementation et unités de déclaration</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A nemzetközi, európai, nemzeti, regionális és helyi szintű adatszolgáltatás céljából irányított, szabályozott vagy használt területek. Ide tartoznak a lerakóhelyek, az ivóvízforrásokat övező korlátozás alá tartozó területek, a nitrátérzékeny területek, a tengeri hajóutak vagy nagy kiterjedésű belvizek szabályozott hajózóútjai, a hulladéklerakásra kijelölt területek, a zajvédelmi zónák, az előkészítő és bányászatiengedély-köteles területek, a folyómedri kerületek, a megfelelő adatszolgáltató egységek és a tengerparti igazgatási térségek.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Zones gérées, réglementées ou utilisées pour les rapports aux niveaux international, européen, national, régional et local. Sont inclus les décharges, les zones restreintes aux alentours des sources d'eau potable, les zones vulnérables aux nitrates, les chenaux réglementés en mer ou les eaux intérieures importantes, les zones destinées à la décharge de déchets, les zones soumises à limitation du bruit, les zones faisant l'objet de permis d'exploration et d'extraction minière, les districts hydrographiques, les unités correspondantes utilisées pour les rapports et les zones de gestion du littoral.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Aluesuunnittelun, rajoitusten ja sääntelyn piiriin kuuluvat alueet ja raportointiyksiköt</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Üldplaneering/piirangu-/reguleeritud tsoonid ja aruandlusüksused</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Alueet, joita hoidetaan, säännellään tai käytetään kansainvälisen, Euroopan, kansallisen, alueellisen tai paikallisen tason raportointiin. Sisältää kaatopaikat, juomavedenottopaikkoja ympäröivät suoja-alueet, nitraatin aiheuttamalle pilaantumiselle alttiit alueet, säännellyt laivaväylät merellä tai suurilla sisävesillä, jätteiden upottamiskiellon soveltamisalaan kuuluvat alueet, melurajoitusalueet, luonnonvarojen tai malmin etsintäalueet, ja kaivostoiminnan lupa-alueet, vesipiirit, asiaankuuluvat raportointiyksiköt ja rannikkoalueiden hallinta-alueet.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Alad, mille haldamisest, reguleerimisest või kasutamisest antakse aru rahvusvahelisel, Euroopa, riiklikul, piirkondlikul ja kohalikul tasandil. Hõlmab kaadamiskohti, joogiveeallikate ümber asuvaid piirangutsoone, nitraaditundlikke tsoone, reguleeritavaid laevateid merel või suurtel siseveekogudel, jäätmete kaadamise alasid, mürapiirangutsoone, geoloogiliste uuringute ja kaevanduste alasid, valgalasid, asjakohaseid aruandlusüksusi ning rannikukaitsealasid.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Zonas sujetas a ordenación, a restricciones o reglamentaciones y unidades de notificación</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Zonas gestionadas, reglamentadas o utilizadas para la elaboración de informes para organismos internacionales, europeos, nacionales, regionales y locales. Se incluirán vertederos, zonas restringidas alrededor de lugares de extracción de agua potable, zonas sensibles a los nitratos, rutas marítimas o por grandes vías navegables reglamentadas, zonas de vertido, zonas de restricción de ruidos, zonas de prospección o extracción minera, demarcaciones hidrográficas, las correspondientes unidades de notificación y planes de ordenación de zonas costeras.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Area management/restriction/regulation zones and reporting units</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Bewirtschaftungsgebiete/Schutzgebiete/geregelte Gebiete und Berichterstattungseinheiten</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Εκτάσεις υπό διαχείριση, υπό ρύθμιση ή χρησιμοποιούμενες για αναφορά σε διεθνές, ευρωπαϊκό, εθνικό, περιφερειακό και τοπικό επίπεδο. Περιλαμβάνονται χώροι απόρριψης, προστατευόμενες περιοχές γύρω από πηγές πόσιμου νερού, ζώνες ευάλωτες στη νιτρορρύπανση, κανονιστικά ρυθμιζόμενοι δίαυλοι θαλάσσιας ή εσωτερικής ναυσιπλοΐας, περιοχές για τη βύθιση αποβλήτων, ζώνες προστασίας από τον θόρυβο, περιοχές όπου επιτρέπεται η μεταλλευτική έρευνα και εξόρυξη, διοικητικές περιοχές ποτάμιων λεκανών, σχετικές μονάδες αναφοράς και περιοχές διαχείρισης παράκτιας ζώνης.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ζώνες διαχείρισης/περιορισμού/ρύθμισης εκτάσεων και μονάδες αναφοράς</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Areas managed, regulated or used for reporting at international, European, national, regional and local levels. Includes dumping sites, restricted areas around drinking water sources, nitrate-vulnerable zones, regulated fairways at sea or large inland waters, areas for the dumping of waste, noise restriction zones, prospecting and mining permit areas, river basin districts, relevant reporting units and coastal zone management areas.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Områder, der forvaltes, reguleres eller benyttes som indberetningsenheder på internationalt, europæisk, nationalt, regionalt og lokalt plan. Omfatter affaldsdepoter, områder med brugsbegrænsninger af hensyn til drikkevandsindvinding, nitratfølsomme områder, regulerede sejlruter til søs og på større indlandsvandområder, områder for dumpning af affald, områder med støjbegrænsning, områder, hvor der er tilladelse til efterforskning og minedrift, vandområdedistrikter, relevante indberetningsenheder samt områder for kystzoneforvaltning.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Auf internationaler, europäischer, nationaler, regionaler und lokaler Ebene bewirtschaftete, geregelte oder zu Zwecken der Berichterstattung herangezogene Gebiete. Dazu zählen Deponien, Trinkwasserschutzgebiete, nitratempfindliche Gebiete, geregelte Fahrwasser auf See oder auf großen Binnengewässern, Gebiete für die Abfallverklappung, Lärmschutzgebiete, für Exploration und Bergbau ausgewiesene Gebiete, Flussgebietseinheiten, entsprechende Berichterstattungseinheiten und Gebiete des Küstenzonenmanagements.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Forvaltede og regulerede områder samt områder med brugsbegrænsning og indberetningsenheder</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Správní oblasti/chráněná pásma/regulovaná území a jednotky podávající hlášení</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Oblasti spravované, regulované nebo používané pro hlášení na mezinárodní, evropské, celostátní, regionální nebo místní úrovni. Zahrnuje skládky, pásma hygienické ochrany vodních zdrojů, oblasti zranitelné dusičnany, regulované plavební dráhy na moři nebo rozsáhlých vnitrozemských vodních plochách, oblasti pro ukládání odpadů, pásma s omezením hladiny hluku, povolená průzkumná a těžební území, oblasti povodí, příslušné jednotky pro podávání hlášení a pásma pobřežní správy.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Управление на територията/ограничени/регулирани зони и отчетни единици</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Зони, управлявани, регулирани или използвани за докладване на международно, европейско, национално, регионално и местно равнище. Включва складови обекти, ограничени райони около източници на питейна вода, уязвими от замърсяване с нитрати зони, контролирани морски проходи или големи вътрешни водни пътища, райони за складиране на отпадъци, зони с наложени ограничения върху шума, проучвателни и минни райони, райони на речни басейни, съответни отчетни единици и зони за управление на брегови райони. 25.4.2007 г. BG Официален вестник на Европейския съюз L 108/13</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Zones subjectes a ordenació, a restriccions o reglamentacions i unitats de notificació.</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Zones gestionades, reglamentades o utilitzades per a l’elaboració d’informes per a organismes internacionals, europeus, nacionals, regionals i locals. S’inclouran abocadors, zones restringides al voltant de llocs d’extracció d’aigua potable, zones sensibles als nitrats, rutes marítimes o per grans vies navegables reglamentades, zones d’abocament, zones de restricció de soroll, zones de prospecció o extracció minera, demarcacions hidrogràfiques, les corresponents unitats de notificació i plans d’ordenació de zones costaneres.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/25">
+<skos:altLabel>nz</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Območja nevarnosti naravnih nesreč</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Sårbara områden klassificerade efter naturliga risker (alla atmosfäriska, hydrologiska, seismiska och vulkaniska fenomen samt bränder som på grund av läge, omfattning och frekvens har potential att allvarligt påverka samhället), exempelvis översvämningar, jordskred och sättningar, laviner, skogsbränder, jordbävningar, vulkanutbrott.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Naturliga riskområden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Ranljiva območja, opredeljena glede na naravna tveganja (vsi atmosferski, hidrološki, seizmični, vulkanski pojavi in požari, ki zaradi svoje lokacije, resnosti in pogostosti lahko resno ogrozijo družbo), npr. poplave, zemeljski plazovi in pogrezanje tal, snežni plazovi, gozdni požari, potresi, vulkanski izbruhi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Zóny prírodného rizika</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone de risc natural</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Citlivé oblasti charakterizované podľa prírodných rizík (všetky atmosférické, hydrologické, seizmické, vulkanické javy a ničivé požiare, ktoré môžu mať s ohľadom na ich polohu, závažnosť a početnosť vážny vplyv na spoločnosť), napr. záplavy, zosuvy pôdy a pokles terénu, lavíny, lesné požiare, zemetrasenia, sopečné výbuchy.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone vulnerabile caracterizate în funcţie de riscurile naturale (orice fenomen atmosferic, hidrologic, seismic, vulcanic, precum şi incendiile, care, din cauza locaţiei, a gravităţii şi a frecvenţei, pot afecta grav societatea), precum inundaţiile, alunecările şi surpările de teren, avalanşele, incendiile forestiere, cutremurele de pământ şi erupţiile vulcanice.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Zonas de risco natural</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Strefy zagrożenia naturalnego</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Zonas sensíveis, caracterizadas de acordo com os riscos naturais (todos os fenómenos atmosféricos, hidrológicos, sísmicos, vulcânicos e os incêndios que, pela sua localização, gravidade e frequência, possam afectar gravemente a sociedade), como sejam inundações, deslizamentos de terras e subsidências, avalanches, incêndios florestais, sismos, erupções vulcânicas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Żoni ta' riskju naturali</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Kwetsbare gebieden die worden gekenmerkt door natuurrisico's (alle atmosferische, hydrologische, seismische, vulkanische verschijnselen en ongecontroleerde branden die door hun locatie, hevigheid en frequentie, mogelijk ernstige maatschappelijke gevolgen kunnen hebben), zoals overstromingen, aardverschuivingen en -verzakkingen, lawines, bosbranden, aardbevingen en vulkaanuitbarstingen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Gebieden met natuurrisico'es</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Żoni vulnerabbli kkaratterizzati skond perikli naturali (kull fenomenu atmosferiku, idroloġiku, sismiku, vulkaniku u tan-nirien mifruxa li, minħabba fejn jinsabu, il-qawwa, u l-frekwenza tagħhom, għandhom il-potenzjal li jaffettwaw b'mod gravi s-soċjetà), eż. għargħar, żerżiq ta' l-art u ċediment ta' l-art, valangi, nirien fil-foresti, terremoti, eruzzjonijiet vulkaniċi.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obszary zagrożone charakteryzowane na podstawie zagrożeń naturalnych (wszystkie zjawiska atmosferyczne, hydrologiczne, sejsmiczne, wulkaniczne oraz pożary, które, ze względu na swoją lokalizację, dotkliwość i częstotliwość mogą wywierać poważny wpływ na społeczeństwo), np. powodzie, osunięcia ziemi i osiadanie gruntu, lawiny, pożary lasów, trzęsienia ziemi, wybuchy wulkanów.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Dabas apdraudējuma zonas</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Gamtinių pavojų zonos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Apgabali, kam raksturīgi dabas apdraudējumi (visas atmosfēriskās, hidroloģiskās, seismiskās, vulkāniskās parādības un dabiskie ugunsgrēki, kas sakarā ar atrašanās vietu, apjomu vai biežumu var nopietni skart sabiedrību), piemēram, plūdi, zemes nogruvumi un iegrimšana, lavīnas, mežu ugunsgrēki, zemestrīces un vulkānu izvirdumi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Természeti kockázati zónák</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Zone sensibili caratterizzate in base ai rischi naturali (cioè tutti i fenomeni atmosferici, idrologici, sismici, vulcanici e gli incendi che, per l’ubicazione, la gravità e la frequenza, possono avere un grave impatto sulla società), ad esempio inondazioni, slavine e subsidenze, valanghe, incendi di boschi/foreste, terremoti, eruzioni vulcaniche.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Zones sensibles caractérisées en fonction des risques naturels (tous les phénomènes atmosphériques, hydrologiques, sismiques, volcaniques, ainsi que les feux de friche qui peuvent, en raison de leur situation, de leur gravité et de leur fréquence, nuire gravement à la société), tels qu'inondations, glissements et affaissements de terrain, avalanches, incendies de forêts, tremblements de terre et éruptions volcaniques.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Zone a rischio naturale</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Pažeidžiamos vietovės, suskirstytos pagal gamtinio pavojaus pobūdį (visi atmosferiniai, hidrologiniai, seisminiai, vulkaniniai ir savaiminių gaisrų reiškiniai, kurie dėl savo vietos, stiprumo ir dažnumo kelia didelę grėsmę visuomenei), pvz., potvyniai, nuošliaužos ir žemės nusėdimas, griūtys, miškų gaisrai, žemės drebėjimai, ugnikalnių išsiveržimai.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Zones à risque naturel</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Természeti veszélyek, így pl. árvizek, földcsuszamlások, felszínsüllyedések, lavinák, erdőtüzek, földrengések, vulkánkitörések (minden légköri, hidrológiai, szeizmikus, vulkanikus és futótűzjelenség, amely – helye, súlyossága és előfordulási gyakorisága alapján – magában hordozza a komoly társadalmi károk okozásának lehetőségét) alapján jellemzett veszélyeztetett területek.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Luonnonriskialueet</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Looduslikud ohutsoonid</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Luonnonkatastrofien (kaikki ilmakehästä johtuvat, hydrologiset, seismiset, tuliperäiset ja maastopaloilmiöt, joilla sijaintinsa, vakavuutensa ja yleisyytensä vuoksi voi mahdollisesti olla vakavia vaikutuksia yhteiskuntaan), kuten tulvien, maanvyöryjen ja vajoamisen, lumivyöryjen, metsäpalojen, maanjäristysten ja tulivuortenpurkausten, mukaan luokitellut riskialueet.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Zonas de riesgos naturales</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Tundlikud alad, mida iseloomustavad looduslikud riskitegurid (kõik atmosfäärilised, hüdroloogilised, seismilised, vulkaanilised ja looduspõlengute nähtused, mis oma asukoha, intensiivsuse ja sageduse tõttu võivad ühiskonnale tõsist kahju tuua), nt üleujutused, maalihked ja pinnase vajumine, laviinid, metsatulekahjud, maavärinad, vulkaanipursked.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Natural risk zones</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Zonas vulnerables caracterizadas por la existencia de riesgos de carácter natural (cualquier fenómeno atmosférico, hidrológico, sísmico, volcánico o incendio natural que, debido a su localización, gravedad o frecuencia, pueda afectar negativamente a la población), p. ej., inundaciones, corrimientos de tierra y hundimientos, aludes, incendios forestales, terremotos, erupciones volcánicas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ζώνες φυσικών κινδύνων</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Vulnerable areas characterised according to natural hazards (all atmospheric, hydrologic, seismic, volcanic and wildfire phenomena that, because of their location, severity, and frequency, have the potential to seriously affect society), e.g. floods, landslides and subsidence, avalanches, forest fires, earthquakes, volcanic eruptions.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Природни рискови зони</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zranitelné oblasti označené podle přírodního nebezpečí (všechny povětrnostní, hydrologické, seismické a sopečné úkazy, jakož i ničivé požáry, které mohou mít vzhledem ke svému výskytu, závažnosti a četnosti vážný dopad na společnost), např. povodně, sesuvy a sesedání půdy, laviny, lesní požáry, zemětřesení, sopečné výbuchy.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Områder med naturlige risici</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Gefährdete Gebiete, eingestuft nach naturbedingten Risiken (sämtliche atmosphärischen, hydrologischen, seismischen, vulkanischen Phänomene sowie Naturfeuer, die aufgrund ihres örtlichen Auftretens sowie ihrer Schwere und Häufigkeit signifikante Auswirkungen auf die Gesellschaft haben können), z. B. Überschwemmungen, Erdrutsche und Bodensenkungen, Lawinen, Waldbrände, Erdbeben oder Vulkanausbrüche.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Gebiete mit naturbedingten Risiken</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Χαρακτηρισμός ευάλωτων περιοχών ανάλογα με τους φυσικούς κινδύνους (όλα τα ατμοσφαιρικά, υδρολογικά, σεισμικά, ηφαιστειακά φαινόμενα και τα φαινόμενα καταστροφικών πυρκαγιών που, λόγω της θέσης, της σφοδρότητας και της συχνότητάς τους, είναι δυνατό να έχουν σοβαρές επιπτώσεις στην κοινωνία), π.χ. πλημμύρες, κατολισθήσεις και καθιζήσεις, χιονοστιβάδες, δασικές πυρκαγιές, σεισμοί, εκρήξεις ηφαιστείων.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Oblasti ohrožené přírodními riziky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Sårbare områder, karakteriseret efter naturlige risici (alle atmosfæriske, hydrologiske, seismiske og vulkanske fænomener samt brande, som på grund af stedet, hvor de forekommer, deres omfang og hyppighed kan få alvorlige følger for samfundet), f.eks. oversvømmelser, jordskred og sammensynkning, laviner, skovbrande, jordskælv og vulkanudbrud.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Уязвими райони, определени в зависимост от вида природен риск (всички атмосферни, хидрологични, сеизмични, вулканични и огнени явления, които поради местонахождението, силата и честотата на проявление могат да засегнат сериозно обществото), например наводнения, свличане и пропадане на земни маси, лавини, горски пожари, земетресения, изригвания на вулкани.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Zones de riscos naturals</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Zones vulnerables caracteritzades per l’existència de riscos de caràcter natural (qualsevol fenomen atmosfèric, hidrològic, sísmic, volcànic o incendi natural que, atesa la seva localització, gravetat o freqüència, pugui afectar negativament la població), per exemple, inundacions, esllavissades de terres i col·lapses, allaus, incendis forestals, terratrèmols o erupcions volcàniques.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/26">
+<skos:altLabel>ac</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Ozračje</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Fysikaliska förhållanden i atmosfären. Inbegriper rumsliga data baserade på mätningar, modeller eller en kombination av dessa, samt mätpunkternas läge.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Atmosfäriska förhållanden</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Condiţii atmosferice</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Fyzikálne podmienky v atmosfére. Patria sem priestorové údaje založené na meraniach, modeloch alebo na kombinácii meraní a modelov vrátane miest meraní.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Atmosférické podmienky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Fizikalne razmere v atmosferi. Vključujejo prostorske podatke, ki temeljijo na merjenjih, vzorcih ali na kombinaciji leteh, in merilne lokacije.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Warunki fizyczne w atmosferze. Obejmują dane przestrzenne oparte na pomiarach, modelach lub na kombinacji tych dwóch elementów, a także lokalizacje pomiarów.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Warunki atmosferyczne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Condições físicas da atmosfera. Inclui dados geográficos baseados em medições, em modelos ou numa combinação de ambos, bem como os sítios de medição.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Condições atmosféricas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Condiţiile fizice din atmosferă. Sunt incluse datele spaţiale bazate pe măsurători, pe modele sau pe o combinaţie între acestea, precum şi locaţiile de efectuare a măsurătorilor.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Atmosferische omstandigheden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Fysische omstandigheden in de atmosfeer, met inbegrip van ruimtelijke gegevens die gebaseerd zijn op metingen, modellen of een combinatie daarvan, en met inbegrip van meetlocaties.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Kondizzjonijiet atmosferiċi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Kondizzjonijiet fiżiċi fl-atmosfera. Hija inkluża data ġeografika bbażata fuq kejl, fuq mudelli jew fuq il-kombinazzjoni tagħhom kif ukoll is-siti tal-kejl.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Atmosfēras apstākļi</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Condizioni atmosferiche</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Fizinės atmosferos sąlygos. Tai apima matavimais, modeliais arba abiem būdais pagrįstus erdvinius duomenis, nurodant matavimo vietas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Atmosferos sÄ…lygos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Fizikālie atmosfēras apstākļi. Tie ietver telpiskos datus, kuru pamatā ir mērījumi vai modeļi, vai to kombinācija, kā arī norādes par to veikšanas vietu.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Conditions physiques dans l'atmosphère. Comprend les données géographiques fondées sur des mesures, sur des modèles ou sur une combinaison des deux, ainsi que les lieux de mesure.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Conditions atmosphériques</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A légkör fizikai jellemzői. Ide tartoznak a méréseken, modelleken vagy ezek kombinációján alapuló téradatok, továbbá a mérési helyek.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Légköri viszonyok</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Condizioni fisiche dell’atmosfera. Questa voce comprende i dati territoriali basati su misurazioni, su modelli o su una combinazione dei due e comprende i punti di misurazione.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Füüsikalised tingimused atmosfääris. Hõlmab mõõtmiste ja modelleerimise tulemusel või nende kahe meetodi kombineerimisel saadud ruumiandmeid ning mõõtmiskohti.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Atmosfääritingimused</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Ilmakehän tila</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Ilmakehän fysikaaliset olosuhteet. Sisältää mittauksiin, malleihin tai näiden yhdistelmiin perustuvia paikkatietoja sekä tiedot mittauspaikoista.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Condiciones físicas de la atmósfera. Se incluirán datos espaciales basados en mediciones, modelos o en una combinación de ambos, así como los lugares de medición.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Condiciones atmosféricas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Physical conditions in the atmosphere. Includes spatial data based on measurements, on models or on a combination thereof and includes measurement locations.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Atmospheric conditions</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Atmosphärische Bedingungen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Φυσικές ιδιότητες της ατμόσφαιρας. Περιλαμβάνονται χωρικά δεδομένα βασιζόμενα σε μετρήσεις, σε μοντέλα ή σε συνδυασμό τους, καθώς και οι τοποθεσίες μετρήσεων.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ατμοσφαιρικές συνθήκες</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Stav ovzduší</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Fysiske forhold i atmosfæren. Omfatter geodata, der bygger på målinger, modeller eller begge dele; omfatter også målepunkternes placering.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Atmosfæriske forhold</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Physikalische Bedingungen in der Atmosphäre. Dazu zählen Geodaten auf der Grundlage von Messungen, Modellen oder einer Kombination aus beiden sowie Angabe der Messstandorte.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Атмосферни условия</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Fyzikální stav ovzduší. Zahrnuje prostorová data založená na měřeních, modelech nebo jejich kombinaci, jakož i místa měření.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Физически атмосферни условия. Включва пространствени данни, основаващи се на измервания, на модели или на комбинация от двете, както и местата, където са направени измерванията.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Condicions atmosfèriques</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Condicions físiques de l’atmosfera. S’inclouran dades espacials basades en mesures, models o en una combinació d’ambdós, així com els llocs de mesura.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/27">
+<skos:altLabel>mf</skos:altLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Vremenske razmere in njihova merjenja; padavine, temperatura, izhlapevanje, hitrost in smer vetra.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Meteorološke značilnosti</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Väderförhållanden och mätningar av dessa; nederbörd, temperatur, evapotranspiration, vindhastighet och vindriktning.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografiska meteorologiska förhållanden</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Meteorologické geografické prvky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Poveternostné podmienky a ich merania; zrážky, teplota, evapotranspirácia, rýchlosť a smer vetra.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Condições atmosféricas e sua medição; precipitação, temperatura, evapotranspiração, velocidade e direcção do vento.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Características geometeorológicas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Condiţiile meteorologice şi măsurătorile acestora: precipitaţii, temperatură, evapotranspiraţie, viteza şi direcţia vântului.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Caracteristici geografice meteorologice</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Warunki atmosferyczne i ich pomiary; opad atmosferyczny, temperatura, ewapotranspiracja, prędkość i kierunek wiatru.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Warunki meteorologiczno-geograficzne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Weersomstandigheden en de meting daarvan; neerslag, temperatuur, verdamping, windsnelheid en windrichting.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Meteorologische geografische kenmerken</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Karatteristiċi ġeografiċi meteoroloġiċi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Laika apstākļi un to mērījumi; nokrišņi, temperatūra, iztvaikošana, vēja ātrums un virziens.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Meteoroloģiski ģeogrāfiskie raksturlielumi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Il-kondizzjonijiet tat-temp u l-kejl tagħhom; il-preċipitazzjoni, it-temperatura, l-evapotraspirazzjoni, il-veloċità u ddirezzjoni tar-riħ.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Oro sąlygos ir jų matavimai; krituliai, temperatūra, evapotranspiracija, vėjo greitis ir kryptis.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">MeteorologinÄ—s geografinÄ—s sÄ…lygos</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Elementi geografici meteorologici</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Meteorológiai földrajzi jellemzők</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Condizioni meteorologiche e relative misurazioni; precipitazioni, temperatura, evapotraspirazione, velocità e direzione dei venti.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Sääolot ja niihin liittyvät mittaukset; sademäärä, lämpötila, kokonaishaihdunta, tuulen nopeus ja suunta.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Ilmaston maantieteelliset ominaispiirteet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Időjárási viszonyok és mérésük; csapadék, hőmérséklet, a felszín és a növényzet párolgása, a szél sebessége és iránya.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Conditions météorologiques et leur mesure: précipitations, température, évapotranspiration, vitesse et direction du vent.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Caractéristiques géographiques météorologiques</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Meteoroloogilis-geograafilised tunnusjooned</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Ilmastikutingimused ja nende mõõtmine; sademed, temperatuur, aurumine, tuule kiirus ja suund.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Μετεωρολογικά γεωγραφικά χαρακτηριστικά</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Weather conditions and their measurements; precipitation, temperature, evapotranspiration, wind speed and direction.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Meteorological geographical features</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Condiciones meteorológicas y sus mediciones; precipitaciones, temperaturas, evapotranspiración, velocidad y dirección del viento.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Aspectos geográficos de carácter meteorológico</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Witterungsbedingungen und deren Messung; Niederschlag, Temperatur, Gesamtverdunstung (Evapotranspiration), Windgeschwindigkeit und Windrichtung.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Meteorologisch-geografische Kennwerte</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Καιρικές συνθήκες και οι μετρήσεις τους· ατμοσφαιρικές κατακρημνίσεις, θερμοκρασία, εξατμισοδιαπνοή, ταχύτητα και διεύθυνση ανέμου.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Meteorologisk-geografiske forhold</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Атмосферни условия и измерването им; валежи, температура, евапотранспирация, скорост и посока на вятъра.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Метеорологични географски характеристики</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Povětrnostní podmínky a jejich měření; srážky, teplota, výpar z půdy a rostlinného pokryvu, rychlost a směr větru.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisné meteorologické prvky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Vejrforhold og målinger heraf; nedbør, temperatur, evapotranspiration, vindhastighed og -retning.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Aspectes geogràfics de caràcter meteorològic</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Condicions meteorològiques i les seves mesures: precipitacions, temperatures, evapotranspiració, velocitat i direcció del vent.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/28">
+<skos:altLabel>of</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografiska oceanografiska förhållanden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Fysikaliska förhållanden i oceanerna (strömmar, salthalt, våghöjd osv.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Oceanogeografske značilnosti</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Características oceanográficas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Condiţii fizice ale oceanelor (curenţi, salinitate, înălţimea valurilor etc.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Caracteristici geografice oceanografice</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Fyzikálne vlastnosti oceánov (prúdy, slanosť, výška vĺn atď.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Oceánografické geografické prvky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Fizikalne razmere oceanov (tokovi, slanost, višina valov itd.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Warunki oceanograficzno-geograficzne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Condições físicas dos oceanos (correntes, salinidade, altura das ondas, etc.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Karatteristiċi ġeografiċi oċeanografiċi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Fysische kenmerken van oceanen (stroming, zoutgehalte, golfhoogte, enz.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Oceanografische geografische kenmerken</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Warunki fizyczne oceanów (prądy, zasolenie, wysokość fal itd.).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Okeānu fizikālie apstākļi (straumes, sāļums, viļņu augstums, utt.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Okeanogrāfiski ģeogrāfiskie raksturlielumi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Kondizzjonijiet fiżiċi ta' l-oċeani (kurrenti, imluħa, għoli tal-mewġ, eċċ.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Elementi geografici oceanografici</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Fizinės vandenynų charakteristikos (srovės, druskingumas, bangų aukštis ir t. t.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">OkeanografinÄ—s geografinÄ—s sÄ…lygos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Condizioni fisiche degli oceani (correnti, salinità, altezza delle onde, ecc.).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Az óceánok fizikai jellemzői (áramlatok, sótartalom, hullámmagasság stb.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Oceanográfiai földrajzi jellemzők</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Merialueitten fysikaaliset olosuhteet (esimerkiksi virtaukset, suolapitoisuus ja aaltojen korkeus).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Conditions physiques des océans (courants, salinité, hauteur des vagues, etc.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Caractéristiques géographiques océanographiques</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Merentutkimuksen maantieteelliset ominaispiirteet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Füüsikalised tingimused ookeanides (hoovused, soolasisaldus, lainekõrgus jne).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Okeanograafilis-geograafilised tunnusjooned</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Oceanographic geographical features</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Condiciones físicas de los océanos (corrientes, salinidad, altura del oleaje, etc.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Rasgos geográficos oceanográficos</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Oceanografiske/geografiske forhold</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Physikalische Bedingungen der Ozeane (Strömungsverhältnisse, Salinität, Wellenhöhe usw.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Ozeanografisch-geografische Kennwerte</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Φυσικές ιδιότητες των ωκεανών (ρεύματα, αλατότητα, ύψος κυμάτων, κ.λπ.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ωκεανογραφικά γεωγραφικά χαρακτηριστικά</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Physical conditions of oceans (currents, salinity, wave heights, etc.).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisné oceánografické prvky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Fysiske forhold til havs (strømme, saltholdighed, bølgehøjde osv.)</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Океанографски географски характеристики</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Fyzikální stav oceánů (proudy, slanost, výška vln atd.).</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Физическо състояние на океаните (течения, соленост, височина на вълните и други).</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Aspectes geogràfics oceanogràfics</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Condicions físiques dels oceans (corrents, salinitat, altura de l'onatge, etc.).</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/29">
+<skos:altLabel>sr</skos:altLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Fysikaliska förhållanden i hav och saltsjöar indelade i områden och delområden med likartade egenskaper.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Havsområden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Fizikalne razmere morij in slanih vodnih teles, razdeljenih v regije in podregije s skupnimi značilnostmi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Morske regije</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Fyzikálne vlastnosti morí a útvarov slanej vody rozdelených na regióny a podregióny so spoločnými vlastnosťami.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Morské regióny</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Condiţii fizice ale mărilor şi corpurilor de apă sărată divizate în regiuni şi subregiuni cu caracteristici comune.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Regiuni maritime</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Zeegebieden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Warunki fizyczne mórz i akwenów słonowodnych w podziale na regiony i subregiony o wspólnych cechach.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Regiony morskie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Condições físicas dos mares e massas de água salinas divididas em regiões e sub-regiões com características comuns.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Regiões marinhas</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Reġjuni tal-baħar</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Fysische kenmerken van zeeën en zoutwateroppervlakken, ingedeeld in regio's en subregio's met gemeenschappelijke kenmerken.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Jūru reģioni</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Kondizzjonijiet fiżiċi ta' l-ibħra u korpi ta' ilma mielaħ imqassma f'reġjuni u sub-reġjuni b'karatteristiċi komuni.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Jūrų regionai</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Pēc noteiktām kopīgām iezīmēm izveidotos apgabalos un apakšapgabalos sadalītu jūru un sālsūdens ūdenstilpņu fiziskie stāvokļi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Regioni marine</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Jūrų ir sūrių vandens telkinių, pagal bendras charakteristikas suskirstytų į regionus ir paregionius, fizinės charakteristikos.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A tengerek és sósvizű víztestek fizikai jellemzői, közös tulajdonságaik alapján régiókra és alrégiókra osztva.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Tengeri régiók</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Condizioni fisiche dei mari e dei corpi idrici salmastri suddivisi in regioni e sottoregioni con caratteristiche comuni.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Régions maritimes</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Conditions physiques des mers et des masses d'eau salée divisées en régions et en sous-régions à caractéristiques communes.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Merepiirkonnad</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Yhteisten ominaispiirteitten mukaisesti alueisiin ja osa-alueisiin jaoteltujen merien ja suolaisten vesistöjen fyysiset olosuhteet.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Merialueet</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Regiones marinas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Füüsikalised tingimused meredes ja soolase veega veekogudes, mis on ühiste tunnuste alusel jaotatud piirkondadeks ja alampiirkondadeks.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Sea regions</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Condiciones físicas de los mares y masas de aguas salinas, por regiones y subregiones con características comunes.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Physical conditions of seas and saline water bodies divided into regions and sub-regions with common characteristics.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Θαλάσσιες περιοχές</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Mořské oblasti</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Fysiske forhold i have og saltholdige søer, opdelt på områder og delområder med fælles egenskaber.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Havområder</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Physikalische Bedingungen von Meeren und salzhaltigen Gewässern, aufgeteilt nach Regionen und Teilregionen mit gemeinsamen Merkmalen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Meeresregionen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Φυσικές ιδιότητες των θαλασσών και των αλατούχων υδατικών συστημάτων, με υποδιαίρεση ανά περιοχές και υποπεριοχές με κοινά χαρακτηριστικά.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Fyzikální stav moří a slaných vod rozdělených do regionů a subregionů se společnými vlastnostmi.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Физическо състояние на моретата и солени водни маси, разделени на региони и подрегиони с общи характеристики.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Морски региони</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Regions marines</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Condicions físiques dels mars i masses d'aigua salina dividides en regions i sub-regions amb característiques comunes.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/3">
+<skos:altLabel>gn</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Zemljepisna imena</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Namn på områden, regioner, platser, städer, förorter, tätorter och annan bebyggelse, samt andra geografiska och topografiska företeelser av allmänt eller historiskt intresse.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografiska namn</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Zemepisné názvy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Imena območij, regij, krajev, velemest, predmestij, mest ali zaselkov ali kateri koli geografski ali topografski pojav javnega ali zgodovinskega pomena.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Názvy oblastí, regiónov, lokalít, veľkomiest, predmestí, miest alebo osád alebo akéhokoľvek zemepisného či topografického prvku verejného alebo historického významu.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Nume de zone, regiuni, localităţi, oraşe mari, suburbii, oraşe mici sau aşezări, sau orice alt element geografic ori topografic de interes public sau istoric.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Denumiri geografice</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Nazwy geograficzne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Denominações das zonas, regiões, localidades, cidades, subúrbios, pequenas cidades ou povoações, ou de qualquer entidade geográfica ou topográfica de interesse público ou histórico.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Toponímia</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Toponīmi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Ismijiet ta' żoni, reġjuni, lokalitajiet, bliet, subborgi, jew inħawi abitati oħra, jew kull karatteristika ġeografika jew topografika ta' interess pubbliku jew storiku.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Ismijiet ġeografiċi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Namen van gebieden, regio's, plaatsen, steden, voorsteden, gemeenten, nederzettingen, of andere geografische of topografische kenmerken van openbaar of historisch belang.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geografische namen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Nazwy obszarów, regionów, miejscowości, miast, przedmieść lub osiedli, albo każdy inny obiekt geograficzny lub topograficzny o znaczeniu publicznym lub historycznym.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Dénominations géographiques</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Területek, régiók, helységek, nagyvárosok, elővárosok, városok vagy települések, illetve bármely, a nyilvánosság érdeklődésére számot tartó vagy történeti jelentősségre szert tett földrajzi vagy topográfiai jellegzetesség.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Földrajzi nevek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Denominazione di aree, regioni, località, città, periferie, paesi o centri abitati, o qualsiasi elemento geografico o topografico di interesse pubblico o storico.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Nomi geografici</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Sričių, regionų, vietovių, miestų, priemiesčių, miestelių, gyvenviečių ar kitų viešąją ar istorinę reikšmę turinčių geografinių ar topografinių elementų pavadinimai.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Geografiniai pavadinimai</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Rajonu, reģionu, apvidu, lielpilsētu, priekšpilsētu, pilsētu, apdzīvotu vietu vai jebkādu valsts mēroga vai vēsturiskas nozīmes ģeogrāfisku vai topogrāfisku objektu nosaukumi.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Noms de zones, de régions, de localités, de grandes villes, de banlieues, de villes moyennes ou d'implantations, ou tout autre élément géographique ou topographique d'intérêt public ou historique.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maa-alueiden, alueiden, paikkakuntien, suurkaupunkien, esikaupunkien, kaupunkien tai taajamien nimet tai muut sellaisten maantieteellisten tai topografisten kohteiden nimet, joilla on yleistä tai historiallista merkitystä.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Paikannimet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Alade, piirkondade, kohtade, linnade, äärelinnade, alevite või asulate nimed või muud üldist või ajaloolist huvi pakkuvad mis tahes geograafilised või topograafilised tunnused.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Geograafilised nimed</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Nombres geográficos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Τοπωνύμια εκτάσεων, περιοχών, τοποθεσιών, πόλεων, προαστίων, κωμοπόλεων ή οικισμών, ή οποιοδήποτε γεωγραφικό ή τοπογραφικό χαρακτηριστικό δημόσιου ή ιστορικού ενδιαφέροντος.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Τοπωνύμια</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Names of areas, regions, localities, cities, suburbs, towns or settlements, or any geographical or topographical feature of public or historical interest.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geographical names</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Nombres de zonas, regiones, localidades, ciudades, periferias, poblaciones o asentamientos, o cualquier rasgo geográfico o topográfico de interés público o histórico.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geografische Bezeichnungen</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Географски наименования</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Jména oblastí, regionů, míst, velkoměst, předměstí, měst nebo sídel nebo jakýchkoli zeměpisných nebo topografických útvarů veřejného zájmu nebo historického významu.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisné názvy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Navne på områder, regioner, lokaliteter, byer, forstæder, bebyggelser og alle former for geografiske og topografiske objekter af offentlig eller historisk interesse.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Stednavne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Namen von Gebieten, Regionen, Orten, Großstädten, Vororten, Städten oder Siedlungen sowie jedes geografische oder topografische Merkmal von öffentlichem oder historischem Interesse.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Наименования на области, региони, местности, големи градове, предградия, малки градове или населени места, или географска или топографска характеристика от обществен или исторически интерес.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Noms geogràfics</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Noms de zones, regions, localitats, ciutats, perifèries, poblacions o assentaments, o qualsevol tret geogràfic o topogràfic d’interès públic o històric.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/30">
+<skos:altLabel>br</skos:altLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Områden som har relativt homogena ekologiska förhållanden med likartade egenskaper.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Biogeografiska regioner</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Biogeografske regije</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Biogeografické regióny</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Območja z relativno homogenimi ekološkimi razmerami s skupnimi značilnostmi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Regiuni biogeografice</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Oblasti s pomerne rovnorodými ekologickými vlastnosťami so spoločnými vlastnosťami.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obszary o stosunkowo jednorodnych warunkach ekologicznych i o wspólnych cechach.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Regiony biogeograficzne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Zonas de condições ecológicas relativamente homogéneas com características comuns.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Regiões biogeográficas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone care prezintă condiţii ecologice relativ omogene, având caracteristici comune.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Gebieden met betrekkelijk homogene ecologische omstandigheden die gemeenschappelijke kenmerken vertonen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Biogeografische gebieden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Teritorijos, kurioms būdingos palyginti homogeniškos ekologinės sąlygos ir panašios charakteristikos.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Biogeografiniai regionai</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Apgabali ar relatīvi viendabīgiem ekoloģiskiem apstākļiem un noteiktām kopīgam iezīmēm.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Bioģeogrāfiskie reģioni</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Reġjuni bijo-ġeografiċi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Żoni ta' kondizzjonijiet ekoloġiċi relattivament omoġenji b'karatteristiċi komuni.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Aree che presentano condizioni ecologiche relativamente omogenee con caratteristiche comuni.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Regioni biogeografiche</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Biogeográfiai régiók</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Régions biogéographiques</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Közös tulajdonságokkal bíró, viszonylag homogén ökológiai jellemzőkkel rendelkező térségek.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Biomaantieteelliset alueet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Zones présentant des conditions écologiques relativement homogènes avec des caractéristiques communes.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Bio-geograafilised piirkonnad</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Alueet, joilla on suhteellisen yhtenäiset ekologiset olosuhteet ja yhteisiä ominaispiirteitä.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Bio-geographical regions</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Zonas dotadas de condiciones ecológicas relativamente homogéneas con unas características comunes.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Regiones biogeográficas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Suhteliselt ühetaoliste ökoloogiliste tingimustega ja ühiste tunnustega piirkonnad.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Areas of relatively homogeneous ecological conditions with common characteristics.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Περιοχές σχετικώς ομοιογενών οικολογικών συνθηκών με κοινά χαρακτηριστικά.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Βιογεωγραφικές περιοχές</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Gebiete mit relativ homogenen ökologischen Bedingungen und gemeinsamen Merkmalen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Biogeografische Regionen</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Biogeografiske regioner</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Områder, der har relativt ensartede økologiske forhold med fælles egenskaber.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Oblasti s poměrně stejnorodými ekologickými podmínkami a společnými vlastnostmi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Bioregiony</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Биогеографски региони</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Райони с относително еднородни екологични условия с общи характеристики.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Regions biogeogràfiques</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Zones dotades de condicions ecològiques relativament homogènies amb unes característiques comunes.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/31">
+<skos:altLabel>hb</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Naturtyper och biotoper</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Habitati in biotopi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografiska områden som kännetecknas av särskilda ekologiska förhållanden, processer, strukturer och (livsstödjande) funktioner och som är fysiska livsmiljöer för organismer som lever där. Inbegriper land- och vattenområden med särskilda geografiska, abiotiska och biotiska egenskaper, oavsett om de är naturliga eller delvis naturliga.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Habitaty a biotopy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Geografska območja, za katera so značilne posebne ekološke razmere, procesi, struktura in funkcije, ki fizično omogočajo organizmom, da tam živijo. Vključujejo kopenska in vodna območja, ki se razlikujejo po geografskih, abiotskih in biotskih značilnostih, ne glede na to, ali so popolnoma naravna ali polnaravna.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Geografické oblasti, pre ktoré sú charakteristické špecifické ekologické vlastnosti, procesy, štruktúra a (pre život dôležité) funkcie, ktoré fyzikálne podporujú organizmy žijúce na ich území. Patria sem suchozemské a vodné oblasti rozlíšené podľa geografických, abiotických a biotických prvkov, buď výhradne prírodné, alebo poloprírodné.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Habitate ÅŸi biotopuri</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Habitats e biótopos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone geografice caracterizate prin condiţii ecologice specifice, procese, structură şi funcţii (de menţinere a vieţii pe pământ) care sprijină fizic organismele care trăiesc acolo. Sunt incluse zonele terestre şi acvatice care se disting prin caracteristicile lor geografice, abiotice şi biotice, indiferent că acestea sunt naturale sau seminaturale.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Siedliska i obszary przyrodniczo jednorodne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Zonas geográficas caracterizadas por condições ecológicas, processos, estrutura e funções (de apoio às necessidades básicas) específicos que constituem o suporte físico dos organismos que nelas vivem. Inclui zonas terrestres e aquáticas, naturais ou semi-naturais, diferenciadas pelas suas características geográficas, abióticas e bióticas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Habitats en biotopen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obszary geograficzne odznaczające się szczególnymi warunkami przyrodniczymi, procesami, strukturą i (podtrzymującymi życie) funkcjami, które fizycznie umożliwiają egzystencję żyjącym na nich organizmom. Obejmują obszary lądowe i wodne wyróżniające się cechami geograficznymi, abiotycznymi i biotycznymi, czy to w całości naturalne czy też półnaturalne.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">L-abitati naturali u l-bijotopi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geografische gebieden die worden gekenmerkt door specifieke ecologische omstandigheden, processen, structuur en (leven ondersteunende) functies die fysiek de daar levende organismen ondersteunen, met inbegrip van volledig natuurlijke of semi-natuurlijke land- en wateroppervlakken, onderscheiden naar geografische, abiotische en biotische kenmerken.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Dzīvotnes un biotopi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Żoni ġeografiċi kkaratterizzati minn kondizzjonijiet ekoloġiċi, proċessi, struttura, u funzjonijiet (sostenn tal-ħajja) speċifiċi li jsostnu fiżikament l-organiżmi li jgħixu fihom. Huma inklużi żoni ta' l-art jew ta' l-ilma li jingħarfu permezz ta' karatteristiċi ġeografiċi, abijotiċi u bijotiċi, sew jekk għal kollox naturali kif ukoll jekk semi-naturali.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">BuveinÄ—s ir biotopai</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Ģeogrāfiskie apgabali, kuros ir īpaši ekoloģiskie apstākļi, procesi, struktūra, un (dzīvības atbalsta) funkcijas, kas fiziski atbalsta organismus, kuri tajos dzīvo. Tie ietver pilnīgi un daļēji dabīgas sauszemes vai ūdens platības, ko raksturo ģeogrāfiski, abiotiski un biotiski faktori.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Habitat e biotopi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Geografinės teritorijos, kurioms būdingos specifinės ekologinės sąlygos, procesai, struktūra ir (gyvybės palaikymo) funkcijos, sudarančios gyvenimui tinkamas fizines sąlygas ten gyvenantiems organizmams. Tai apima visiškai natūralias ir pusiau natūralias sausumos ir vandens teritorijas, kurios turi skirtingas geografines, abiotines ir biotines sąlygas.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Aree geografiche caratterizzate da condizioni ecologiche specifiche, processi, strutture e funzioni (di supporto alla vita) che supportano materialmente gli organismi che le abitano. Sono comprese le zone terrestri e acquatiche, interamente naturali o seminaturali, distinte in base agli elementi geografici, abiotici e biotici.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Olyan földrajzi területek, amelyeket különleges ökológiai feltételek, folyamatok, struktúra és (az élet fenntartásához kapcsolódó) funkciók jellemeznek, amelyek az ott élő organizmusok számára kedvező fizikai feltételeket teremtenek. Ide tartoznak azok a szárazföldi és vízi térségek, amelyeket – akár teljesen természetesek, akár félig természetesek – földrajzi, abiotikus és biotikus jellemzőik alapján különböztetnek meg.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Élőhelyek és biotópok</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Habitats et biotopes</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Zones géographiques ayant des caractéristiques écologiques particulières — conditions, processus, structures et fonctions (de maintien de la vie) — favorables aux organismes qui y vivent. Sont incluses les zones terrestres et aquatiques qui se distinguent par leurs caractéristiques géographiques, abiotiques ou biotiques, qu'elles soient naturelles ou semi-naturelles.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Elinympäristöt ja biotoopit</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Maantieteelliset alueet, joille ovat ominaisia erityiset ekologiset olosuhteet, prosessit, rakenne ja (elämää ylläpitävät) toiminnot, jotka tukevat fysikaalisesti alueella eläviä organismeja. Sisältää maa- ja vesialueet, joilla on omat maantieteelliset, abioottiset ja bioottiset ominaisuutensa ja jotka ovat joko luonnontilassa tai osittain luonnontilassa.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Elupaigad ja biotoobid</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Geograafilised alad, mida iseloomustavad spetsiifilised ökoloogilised tingimused, protsessid, struktuurid ja (elu alalhoiu-) funktsioonid, mis füüsiliselt toetavad seal elavaid organisme. Hõlmab maa- ja veealasid, mida eristatakse geograafiliste, abiootiliste ja biootiliste tunnuste järgi ja mis on täielikult looduslikud või poollooduslikud.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Habitats and biotopes</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Zonas geográficas caracterizadas por unas condiciones ecológicas específicas, procesos, estructuras y funciones de apoyo vital que sean soporte físico de los organismos que viven en ellas. Se incluirán zonas terrestres y acuáticas diferenciadas por sus características geográficas, abióticas y bióticas, tanto si son enteramente naturales como seminaturales.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Hábitats y biotopos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geographical areas characterised by specific ecological conditions, processes, structure, and (life support) functions that physically support the organisms that live there. Includes terrestrial and aquatic areas distinguished by geographical, abiotic and biotic features, whether entirely natural or semi-natural.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ενδιαιτήματα και βιότοποι</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Lebensräume und Biotope</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωγραφικές περιοχές που χαρακτηρίζονται από ειδικές οικολογικές συνθήκες, διαδικασίες, δομή και λειτουργίες (υποστήριξης της ζωής) οι οποίες στηρίζουν φυσικά τους οργανισμούς που ενδιαιτούν. Περιλαμβάνονται χερσαίες και υδάτινες εκτάσεις, διακρινόμενες ανάλογα με τα γεωγραφικά, αβιοτικά και βιοτικά χαρακτηριστικά τους, ανεξαρτήτως εάν είναι πλήρως φυσικές ή ημιφυσικές.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geografische Gebiete mit spezifischen ökologischen Bedingungen, Prozessen, Strukturen und (lebensunterstützenden) Funktionen als physische Grundlage für dort lebende Organismen. Dies umfasst auch durch geografische, abiotische und biotische Merkmale gekennzeichnete natürliche oder naturnahe terrestrische und aquatische Gebiete.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Levesteder og biotoper</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Geografiske områder, der er kendetegnet ved særlige økologiske forhold, processer, strukturer og (livsunderstøttende) funktioner, og som er det fysiske grundlag for de organismer, der lever der. Omfatter land- og vandområder, som er kendetegnet ved særlige geografiske, abiotiske eller biotiske forhold, uanset om de er helt eller delvis naturlige.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Местообитания и биотопи</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisné oblasti vyznačující se zvláštními ekologickými podmínkami, procesy, strukturami a (životně důležitými) funkcemi, které skýtají fyzickou podporu organismům, které v nich žijí. Zahrnují pozemské a vodní oblasti rozlišené podle zeměpisných, abiotických a biotických prvků, přirozené i částečně přirozené povahy.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Stanoviště a biotopy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Географски райони, характеризиращи се със специфични екологични условия, процеси, структура и (животоподпо- магащи) функции, подпомагащи физически организмите, които ги обитават. Включват земни или водни райони, отличаващи се с напълно естествени или полуестествени географски, абиотични и биотични характеристики.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Hàbitats i biòtops</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Zones geogràfiques caracteritzades per unes condicions ecològiques específiques, processos, estructures i funcions de recolzament vital que siguin suport físic dels organismes que hi viuen. S’inclouran zones terrestres i aquàtiques diferenciades per les seves característiques geogràfiques, abiòtiques i biòtiques, tant si són enterament naturals com seminaturals.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/32">
+<skos:altLabel>sd</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Arters utbredning</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Geografisk fördelning av djur- och växtarters förekomst i rutnät, regioner, administrativa enheter eller andra analytiska enheter.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Geografska porazdelitev pojavljanja živalskih in rastlinskih vrst, razvrščenih po koordinatah, regiji, upravni enoti ali drugi analitični enoti.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Porazdelitev vrst</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Výskyt druhov</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Repartizarea speciilor</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Geografické rozdelenie výskytu živočíšnych a rastlinných druhov zoskupený podľa siete, regiónu, administratívnej jednotky alebo inej analytickej jednotky.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Distribuição das espécies</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Repartizarea geografică a speciilor de animale şi plante, regrupate pe grilă, regiune, unitate administrativă sau altă unitate analitică.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Distribuição geográfica da ocorrência de espécies animais e vegetais agregadas por quadrícula, região, unidade administrativa ou outra unidade analítica.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Rozmieszczenie gatunków</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Geograficzne rozmieszczenie występowania gatunków zwierząt i roślin pogrupowanych według siatki geograficznej, regionu, jednostki administracyjnej lub innej jednostki analitycznej.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Spreiding van soorten</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Distribuzzjoni ta' l-ispeċi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Geografische spreiding van dier- en plantensoorten per raster, regio, administratieve eenheid of andere analytische eenheid.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Sugu izplatība</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Distribuzzjoni ġeografika ta' l-okkorrenza ta' speċi ta' annimali u ta' pjanti miġbura flimkien skond il-grilja, ir-reġjun, l-unità amministrattiva jew unità analitika oħra.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Dzīvnieku un augu sugu ģeogrāfiskais sadalījums, grupējot pēc koordinātu tīkla, reģiona, administratīvām vai citām analītiskām vienībām.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Rūšių pasiskirstymas</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Distribuzione delle specie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Geografinis gyvūnų ir augalų rūšių pasiskirstymas pagal tinklelį, regioną, administracinį ar kitą analitinį vienetą.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Distribuzione geografica delle specie animali e vegetali aggregate per griglia, regione, unità amministrativa o altra unità analitica.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">A fajok megoszlása</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Az állat- és növényfajok előfordulásának földrajzi eloszlása, térképrács, régió, közigazgatási egység vagy más elemzési egység alapján összesítve.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Répartition des espèces</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Lajien levinneisyys</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Répartition géographique de l'occurrence des espèces animales et végétales regroupées par grille, région, unité administrative ou autre unité analytique.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Liikide jaotumine</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Eläin- ja kasvilajien esiintymien maantieteellinen levinneisyys ruudukoittain, alueittain, hallintoyksiköittäin tai muiden analyyttisten yksiköitten mukaisesti jaoteltuna.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Taime- ja loomaliikide geograafiline levik ruutvõrgu, piirkondade, haldusüksuste või muude jaotusüksuste kaupa.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Distribución de las especies</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Distribución geográfica de las especies animales y vegetales referidas a una cuadrícula, región, unidad administrativa u otro tipo de unidad analítica.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Species distribution</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Κατανομή ειδών</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Geographical distribution of occurrence of animal and plant species aggregated by grid, region, administrative unit or other analytical unit.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Verteilung der Arten</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωγραφική κατανομή ειδών πανίδας και χλωρίδας, ανά κάνναβο, περιοχή, διοικητική ενότητα ή άλλη ενότητα ανάλυσης.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Rozložení druhů</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Den geografiske fordeling af forekomsten af dyre- og plantearter i kvadratnetceller, forvaltningsenheder eller andre analytiske enheder.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Artsfordeling</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Geografische Verteilung des Auftretens von Tier- und Pflanzenarten, zusammengefasst in Gittern, Region, Verwaltungseinheit oder sonstigen analytischen Einheiten.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Zeměpisné rozložení výskytu živočišných a rostlinných druhů seskupených podle souřadnicové sítě, regionu, správní jednotky nebo jiné analytické jednotky.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Разпределение на видовете</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Географско разпределение на животинските и растителните видове, представено обобщено по координати, регион, административна единица или друга аналитична единица.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Distribució de les espècies</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Distribució geogràfica de les especies animals i vegetals referides a una quadrícula, regió, unitat administrativa o un altre tipus d’unitat analítica.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/33">
+<skos:altLabel>er</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Zdroje energie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Energetski viri, vključno z ogljikovodiki, vodno energijo, bioenergijo, soncem, vetrom itd., kjer je to ustrezno vključno s podatki o globini/višini glede velikosti vira.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Energetski viri</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Energiresurser, inbegripet kolväten, vattenkraft, bioenergi, sol, vind osv., i tillämpliga fall med djup-/höjdinformation om resursens omfattning.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Zdroje energie vrátane uhľovodíkov, vodnej energie, energie z biomasy, solárnej energie, veternej energie atď., ak je to možné vrátane informácie o šírke a dĺžke rozlohy zdroja.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Energiresurser</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Recursos energéticos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Resurse energetice precum hidrocarburi, energia hidraulică, bioenergia, energia solară, energia eoliană etc., însoţite de informaţii privind adâncimea/înălţimea la care se află resursa, după caz.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Resurse energetice</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Zasoby energetyczne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Recursos energéticos, incluindo os de hidrocarbonetos, hidroeléctricos, de bio-energias, de energia solar, eólica, etc., incluindo, quando pertinente, informação sobre as cotas de profundidade/altura do recurso.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Zasoby energii, w tym węglowodory, energia wodna, bioenergia, energia słoneczna, wiatrowa itd., w odpowiednich przypadkach łącznie z informacjami dotyczącymi głębokości/wysokości i rozmiarów danych zasobów.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Energiebronnen met inbegrip van koolwaterstof, waterkracht, bio-energie, zon, wind enz., waar passend met inbegrip van diepte/hoogte-informatie over de omvang van de bron.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Energiebronnen</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Enerģijas resursi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Riżorsi ta' enerġija inklużi idrokarboni, enerġija idro-elettrika, bijo-enerġija, bix-xemx, bir-riħ, eċċ., fejn ikun rilevanti, inkluża informazzjoni dwar il-fond/l-għoli rigward id-daqs tar-riżors.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Riżorsi ta' enerġija</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Energijos ištekliai</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Enerģijas resursi, tostarp ogļūdeņraži, ūdens enerģija, bioenerģija, saules enerģija, vēja enerģija, utt., attiecīgā gadījumā ietverot informāciju par dziļumu/augstumu attiecībā uz resursu apmēru.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Risorse energetiche</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Energijos ištekliai, įskaitant angliavandenilius, hidroenergiją, bioenergiją, saulės ir vėjo energiją ir t. t., tam tikrais atvejais įskaitant informaciją apie išteklių apimties gylį/aukštį.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Risorse energetiche, compresi gli idrocarburi, l'energia idroelettrica, la bioenergia, l'energia solare, eolica, ecc., ove opportuno anche informazioni, in termini di altezza/profondità, sull'entità della risorsa.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Energiaforrások</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Sources d'énergie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Energiaforrások, beleértve a szénhidrogéneket, vízenergiát, bioenergiát, nap- és szélenergiát stb., adott esetben beleértve az erőforrás mértékére vonatkozó mélységi/magassági információt.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Sources d'énergie comprenant les hydrocarbures, l'énergie hydraulique, la bioénergie, l'énergie solaire, l'énergie éolienne, etc., le cas échéant accompagnées d'informations relatives à la profondeur/la hauteur de la source.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Energiavarat</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Energiaressursid</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Energiavarat, mukaan lukien hiilivedyt, vesivoima, bioenergia, aurinko, tuuli jne., mukaan luettuina tarvittaessa syvyys-/korkeustiedot kyseisen luonnonvaran laajuudesta.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Recursos energéticos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Energiaressursid, sealhulgas süsivesinikud, hüdroenergia, bioenergia, päikese-, tuule- jne energia, sealhulgas koos asjakohase sügavust/kõrgust puudutava teabega ressursi mahu kohta.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Recursos energéticos: hidrocarburos, energía hidroeléctrica, bioenergía, energía solar y eólica, etc., incluyendo, cuando proceda, la información de profundidad y altura del volumen de los recursos.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Energy resources</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ενεργειακοί πόροι</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Energy resources including hydrocarbons, hydropower, bio-energy, solar, wind, etc., where relevant including depth/height information on the extent of the resource.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Energiequellen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Energiequellen wie Kohlenwasserstoffe, Wasserkraft, Bioenergie, Sonnen- und Windenergie usw., gegebenenfalls mit Tiefen- bzw. Höhenangaben zur Ausdehnung der Energiequelle.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ενεργειακοί πόροι, μεταξύ άλλων υδρογονάνθρακες, υδροηλεκτρική ενέργεια, βιοενέργεια, ηλιακή ενέργεια, αιολική ενέργεια, κ.λπ., συμπεριλαμβανομένων, κατά περίπτωση, πληροφοριών περί του βάθους και του ύψους όσον αφορά την έκταση του εκάστοτε πόρου.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Energiressourcer</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Energiressourcer, herunder kulbrinter, vandkraft, bioenergi, sol, vind osv. samt, hvis det er relevant, dybde-/ højdeoplysninger om ressourcens omfang.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Energetické zdroje</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Енергийни източници</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Energetické zdroje, včetně uhlovodíků, vodní energie, bioenergie, sluneční a větrné energie atd., případně včetně informací o hloubce nebo výšce týkajících se rozsahu zdroje.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Енергийни източници, включително въглеводород, водна енергия, биоенергия, слънчева енергия, енергия от вятър и други; по целесъобразност се включва информация за дълбочина/височина на района на източника.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Recursos energètics</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Recursos energètics: hidrocarburs, energia hidroelèctrica, bioenergia, energia solar i eòlica, etc., incloent-hi, quan sigui procedent, la informació de profunditat i altura del volum dels recursos.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/34">
+<skos:altLabel>mr</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Mineralni viri</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Mineralfyndigheter, bland annat malm, industrimineraler osv., i tillämpliga fall med djup-/höjdinformation om resursens omfattning.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Mineralfyndigheter</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Zdroje nerastných surovín</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Mineralni viri, vključno s kovinskimi rudami, industrijskimi mineralnimi surovinami itd. kjer je ustrezno, vključno s podatki o globini/višini glede velikosti vira.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Resurse minerale</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Zdroje nerastných surovín vrátane kovových rúd, priemyselných nerastov atď., ak je to možné vrátane informácie o šírke a dĺžke rozlohy zdroja.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Recursos minerais</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Resurse minerale precum minereurile metalifere, minereurile industriale etc., însoţite de informaţii privind adâncimea/ înălţimea la care se află resursa, după caz.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Zasoby mineralne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Recursos minerais, incluindo minérios metálicos, minerais industriais, etc., incluindo, quando pertinente, informação sobre as cotas de profundidade/altura do recurso.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Zasoby mineralne, w tym rudy metali, minerały przemysłowe itd., w odpowiednich przypadkach łącznie z informacjami dotyczącymi głębokości/wysokości i rozmiarów danych zasobów.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Minerale bronnen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Riżorsi minerali inklużi minerali tal-metall, minerali industrijali, eċċ, fejn rilevanti inkluża informazzjoni dwar il-- fond/l-għoli rigward id-daqs tar-riżors.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Minerale bronnen met inbegrip van metaalertsen, industriële mineralen enz., waar passend met inbegrip van diepte/ hoogte-informatie over de omvang van de bron.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Riżorsi minerali</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Derīgo izrakteņu resursi, tostarp metālu rūdas, rūpnieciski iegūstamie izrakteņi, utt., attiecīgā gadījumā ietverot informāciju par dziļumu/augstumu attiecībā uz resursu apmēru.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Derīgo izrakteņu resursi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Naudingosios iškasenos, įskaitant metalų rūdas, pramonei naudojamas naudingąsias iškasenas ir t. t., tam tikrais atvejais įskaitant informaciją apie išteklių apimties gylį/aukštį.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Naudingosios iškasenos</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Risorse minerarie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Risorse minerarie, compresi i minerali metallici, i minerali industriali, ecc., ove opportuno anche informazioni, in termini di altezza/profondità, sull'entità della risorsa.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Ásványi nyersanyagok, beleértve a fémek érceit, ipari ásványokat stb., adott esetben beleértve a nyersanyag kiterjedésére vonatkozó mélységi/magassági információkat.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Ásványi nyersanyagok</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Ressources minérales</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Mineraalivarat</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Ressources minérales comprenant les minerais métalliques, les minéraux industriels, etc., le cas échéant accompagnées d'informations relatives à la profondeur/la hauteur de la ressource.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maavarad</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Mineraalivarat, mukaan lukien metallimalmit, teollisuusmineraalit jne., mukaan luettuina tarvittaessa syvyys-/ korkeustiedot kyseisen luonnonvaran laajuudesta.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maavarad, sealhulgas metallimaagid, tööstuslikud mineraalid jne, sealhulgas koos asjakohase sügavust/kõrgust puudutava teabega ressursi mahu kohta.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Recursos minerales</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Mineral resources</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Recursos minerales: minerales metalíferos, minerales industriales, etc., incluyendo, cuando proceda, la información de profundidad y altura del volumen de los recursos.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Mineral resources including metal ores, industrial minerals, etc., where relevant including depth/height information on the extent of the resource.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ορυκτοί πόροι</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Ορυκτοί πόροι, μεταξύ άλλων και μεταλλεύματα, βιομηχανικά μεταλλεύματα, κ.λπ., συμπεριλαμβανομένων, κατά περίπτωση, πληροφοριών περί του βάθους και του ύψους όσον αφορά την έκταση του εκάστοτε πόρου.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Mineralische Bodenschätze</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Mineralressourcer</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Mineralische Bodenschätze wie Metallerze, Industrieminerale usw., gegebenenfalls mit Tiefen- bzw. Höhenangaben zur Ausdehnung der Bodenschätze.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Nerostné suroviny</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Mineralressourcer, herunder metalmalme, industrmineraler osv. samt, hvis det er relevant, dybde-/højdeoplysninger om ressourcens omfang.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Минерални ресурси</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Nerostné suroviny, včetně kovových rud, průmyslových surovin atd., případně včetně informací o hloubce nebo výšce týkajících se rozsahu zdroje.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Минерални ресурси, включително метални руди, промишлени минерали и други; по целесъобразност се включва информация за дълбочина/височина на находището на ресурса.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Recursos minerals</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Recursos minerals: minerals metal·lífers, minerals industrials, etc., incloent-hi, quan sigui procedent, la informació de la profunditat i altura del volum dels recursos.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/4">
+<skos:altLabel>au</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Upravne enote</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Administrativa enheters, som delar upp områden där medlemsstater har och/eller utövar jurisdiktion, på lokal, regional och nationell nivå, åtskilda av administrativa gränser.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Administrativa enheter</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Upravne enote za lokalno, regionalno in nacionalno upravo, ki razdeljujejo območja, na katerih države članice imajo in/ali izvajajo jurisdikcijo, ločene z upravnimi mejami.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Správne jednotky</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Unităţi administrative</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Správne jednotky rozdeľujúce oblasti, v ktorých členské štáty majú právomoc rozhodovať a/alebo vykonávajú túto právomoc na účely miestneho, regionálneho a celoštátneho riadenia, oddelené správnymi hranicami.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Unităţi de administrare, de delimitare a zonelor în care statele membre deţin şi/sau îşi exercită competenţa, la nivel local, regional şi naţional, separate prin limite administrative.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Jednostki administracyjne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Unidades administrativas, zonas de divisão sobre as quais os Estados-Membros possuam e/ou exerçam direitos jurisdicionais, para efeitos de governação local, regional e nacional, separadas por fronteiras administrativas.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Unidades administrativas</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Administratieve eenheden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Jednostki administracyjne, dzielące obszary, na których państwa członkowskie mają lub wykonują uprawnienia jurysdykcyjne, dla celów sprawowania władzy na poziomie lokalnym, regionalnym i krajowym, oddzielone granicami administracyjnymi.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Door administratieve grenzen gescheiden lokale, regionale en nationale bestuurlijke eenheden die deel uitmaken van gebieden waarover de lidstaten rechtsbevoegdheid hebben en/of uitoefenen.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Unitajiet ta' amministrazzjoni, li jaqsmu żoni fejn Stati Membri għandhom u/jew jeżerċitaw drittijiet ġurisdizzjonali, għal governanza reġjonali, lokali u nazzjonali, separati minn konfini amministrattivi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Unitajiet amministrattivi</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Administratīvas vienības</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Administratīvas vienības, kas sadala apgabalus, kuros dalībvalstīm ir jurisdikcija un/vai kurā tās to īsteno, pašvaldību, reģionu un valsts pārvaldes nolūkā, kas sadalītas ar administratīvo robežu palīdzību.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Közigazgatási egységek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Unità amministrative di suddivisione delle zone su cui gli Stati membri hanno e/o esercitano la loro giurisdizione a livello locale, regionale e nazionale, delimitate da confini amministrativi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Unità amministrative</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Administracinėmis ribomis atskirti vietos, regionų ir nacionalinės valdžios administraciniai vienetai, į kuriuos padalijamos teritorijos, kurios priklauso valstybės narės jurisdikcijai ir (arba) kuriose ji vykdo jurisdikciją.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Administraciniai vienetai</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Unités administratives</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Az olyan nemzeti területeket, amelyeken a tagállamok joghatósággal rendelkeznek és/vagy joghatóságot gyakorolnak, helyi, regionális és országos egységekre osztó, közigazgatási határvonalakkal elválasztott igazgatási egységek.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Hallinnolliset yksiköt, jotka jakavat alueen, jolla jäsenvaltioilla on tai jolla ne käyttävät lainkäyttöoikeuksia, paikalliseen, alueelliseen ja valtakunnalliseen hallintoon ja jotka erotetaan toisistaan hallinnollisin rajoin.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Hallinnolliset yksiköt</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Unités d'administration séparées par des limites administratives et délimitant les zones dans lesquelles les États membres détiennent et/ou exercent leurs compétences, aux fins de l'administration locale, régionale et nationale.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Administrative units</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Unidades administrativas en que se dividan las áreas en las que los Estados miembros tienen y/o ejercen derechos jurisdiccionales, a efectos de administración local, regional y nacional, separadas por límites administrativos.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Unidades administrativas</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Halduspiiridega eraldatud haldusüksused, mis jagavad liikmesriikide jurisdiktsiooni all olevad alad kohaliku, piirkondliku ja riikliku juhtimise eesmärgil.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Haldusüksused</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Units of administration, dividing areas where Member States have and/or exercise jurisdictional rights, for local, regional and national governance, separated by administrative boundaries.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Διοικητικές ενότητες που χωρίζουν περιοχές επί των οποίων κράτη μέλη έχουν ή/και ασκούν δικαιοδοτικά δικαιώματα σε τοπικό, περιφερειακό και εθνικό επίπεδο, χωρίζονται από διοικητικά όρια.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Διοικητικές ενότητες</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Verwaltungseinheiten</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Administrative enheder</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Lokale, regionale und nationale Verwaltungseinheiten, die die Gebiete abgrenzen, in denen die Mitgliedstaaten Hoheitsbefugnisse haben und/oder ausüben und die durch Verwaltungsgrenzen voneinander getrennt sind.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Административни единици</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Административни единици, отделени с административни граници и отграничаващи райони, върху които държавите-членки имат и/или упражняват юридически правомощия, за целите на местното, регионалното и националнотоуправление.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Správní jednotky</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Forvaltningsenheder, der inddeler områder, hvor medlemsstaterne har og/eller udøver jurisdiktionelle rettigheder på lokalt, regionalt og nationalt plan, adskilt af administrative grænser.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Správní jednotky rozdělující území, ve kterém členské státy mají nebo vykonávají svrchovaná práva, pro účely místní, regionální a státní správy, oddělené správními hranicemi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Unitats administratives</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Unitats administratives en què es divideixin les àrees en les quals els estats membres tenen i/o exerceixen drets jurisdiccionals, a efectes d’administració local, regional i nacional, separades per límits administratius.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/5">
+<skos:altLabel>ad</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Adrese</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Poloha nehnuteľností založená na identifikátoroch obsiahnutých v adrese, obyčajne podľa názvu ulice, čísla domu, poštového smerovacieho čísla.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Adresy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Lokacija nepremičnin, ki temelji na identifikatorjih naslova, običajno z imenom ulice, hišno številko, poštno številko.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Naslovi</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Adresser</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Läge för fastigheter på grundval av adressuppgifter, vanligen i form av gatunamn, gatunummer och postnummer.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Endereços</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Localizare a proprietăţilor, bazată pe identificatori de adresă, de obicei numele străzii, numărul casei şi codul poştal.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Adresy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Localização de propriedades com base em identificadores de endereço, em regra, o nome da rua, o número da porta e o código postal.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Indirizzi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Locatie van onroerende zaken, gebaseerd op adresaanduidingen, gewoonlijk aan de hand van de straatnaam, het huisnummer en de postcode.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Adressen</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Adresai</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Īpašumu ģeogrāfiskā atrašanās vieta, pamatojoties uz adreses identifikatoriem; parasti tie ir ceļu nosaukumi, māju numuri, pasta indeksi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Adreses</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Pożizzjoni ta' proprjetajiet ibbażata fuq identifikaturi ta' l-indirizzi, normalment bl-isem tat-triq, in-numru tad-dar, ilkodiċi postali.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Lokalizacja nieruchomości na podstawie danych adresowych, zazwyczaj nazwy ulicy, numeru budynku, kodu pocztowego.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Az ingatlanok helye címazonosítók – rendszerint utcanév, házszám, irányítószám – alapján.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Címek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Localizzazione delle proprietà basata su identificatori di indirizzo, in genere nome della via, numero civico, codice postale.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Indirizzi</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Nuosavybės vieta pagal adreso duomenis, paprastai gatvės pavadinimą, namo numerį, pašto kodą.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Adresses</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Localisation des propriétés fondée sur les identifiants des adresses, habituellement le nom de la rue, le numéro de la maison et le code postal.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Osoitteet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Kiinteistöjen sijainti, joka perustuu osoitetietoon, jossa tavallisesti kadunnimi, talon numero ja postinumero.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Localización de las propiedades, basada en identificadores de direcciones, por ejemplo, el nombre de la vía pública, el número de la finca, el código postal.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Direcciones</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maavalduste asukoht aadressi elementide, tavaliselt tee või tänava nime, majanumbri ja postiindeksi järgi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Aadressid</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Location of properties based on address identifiers, usually by road name, house number, postal code.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Addresses</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Lokalisierung von Grundstücken anhand von Adressdaten, in der Regel Straßenname, Hausnummer und Postleitzahl.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Adressen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Θέση ακινήτων με βάση τη διεύθυνση, συνήθως με όνομα οδού, αριθμό οικίας και ταχυδρομικό κώδικα.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Διευθύνσεις</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Adresser</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Adresy</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Lokalisering af ejendomme på grundlag af adresseidenter, normalt ved hjælp af vejnavn, husnummer og postnummer.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Местонахождение на имоти, обозначено чрез адресни данни, обичайно чрез наименование на улица, номер на сграда и пощенски код.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Адреси</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Poloha nemovitostí podle adresních identifikátorů, obvykle pomocí názvu ulice, čísla domu, poštovního směrovacího čísla.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Adreces</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Localització de les propietats, basada en identificadors d’adreces, per exemple, el nom de la via pública, el número de la finca o el codi postal.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/6">
+<skos:altLabel>cp</skos:altLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Områden definierade av fastighetsregister eller motsvarande.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Fastighetsområden</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Katastrske parcele</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Územia vymedzené katastrálnymi registrami alebo rovnocennými registrami.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Katastrálne parcely</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Področja, ki jih opredeljujejo zemljiški kataster ali enakovredni registri.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone stabilite de registrele cadastrale sau echivalente.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Parcele cadastrale</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Żoni ddefiniti b'reġistri katastali jew l-ekwivalenti.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Pakketti katastali</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Gebieden die worden bepaald door kadastrale registers of een equivalent daarvan.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Kadastrale percelen</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obszary określone na podstawie rejestrów katastralnych lub ich odpowiedników.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Działki katastralne</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Áreas definidas por registos cadastrais ou equivalentes.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Parcelas cadastrais</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Kadastrāli zemes gabali</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Teritorijas, kas noteiktas kadastra reģistros vai līdzīgās sistēmās.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Kadastro sklypai</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Parcelle catastali</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Kadastrų registruose ar panašiai apibrėžti plotai.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Zones définies par les registres cadastraux ou équivalents.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Parcelles cadastrales</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Kataszteri nyilvántartásokkal – vagy ezzel egyenértékű módon – meghatározott területek.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Kataszteri parcellák</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Aree definite dai registri catastali o equivalenti.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Γεωτεμάχια κτηματολογίου</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Areas defined by cadastral registers or equivalent.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Cadastral parcels</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Áreas determinadas por registros catastrales o equivalentes.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Parcelas catastrales</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Katastritunnuste või võrdväärsete tunnustega kindlaksmääratud alad.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Katastriüksused</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Alueet, jotka on määritelty kiinteistörekisterissä tai vastaavassa.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Kiinteistöt</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Εκτάσεις που ορίζονται από κτηματολογικά μητρώα ή αντίστοιχες.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Кадастрални парцели</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Území vymezená v katastru nemovitostí nebo v obdobném rejstříku.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Katastrální parcely</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Arealer, der er defineret i matrikelregistre eller lignende.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Matrikulære parceller</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Gebiete, die anhand des Grundbuchs oder gleichwertiger Verzeichnisse bestimmt werden.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Flurstücke/Grundstücke (Katasterparzellen)</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Райони, посочени в кадастрални регистри или други равностойни документи.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Parcel·les cadastrals</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Àrees determinades per registres cadastrals o equivalents.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/7">
+<skos:altLabel>tn</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Transportnät</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Reţele de transport rutier, feroviar, aerian şi pe apă şi infrastructura asociată. Cuprinde, de asemenea, legături între diferite reţele. Mai cuprinde şi reţeaua transeuropeană de transport, astfel cum este definită în Decizia nr. 1692/96/CE a Parlamentului European şi a Consiliului din 23 iulie 1996 privind orientările comunitare pentru dezvoltarea reţelei transeuropene de transport (1) şi modificările ulterioare.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Väg-, järnvägs-, luft- och sjötransportnät och tillhörande infrastruktur. Innefattar länkar mellan olika nät. Innefattar också det transeuropeiska transportnät som definieras i Europaparlamentets och rådets beslut nr 1692/96/EG av den 23 juli 1996 om gemenskapens riktlinjer för utbyggnad av det transeuropeiska transportnätet (1) samt framtida ändringar av det beslutet.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Prometna omrežja</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Dopravné siete</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Cestna, železniška, zračna in vodna prometna omrežja ter z njimi povezana infrastruktura. Vključuje povezave med različnimi omrežji. Vključuje tudi vseevropsko prometno omrežje, kakor je določeno v Odločbi št. 1692/96/ES Evropskega parlamenta in Sveta z dne 23. julija 1996 o smernicah Skupnosti za razvoj vseevropskega prometnega omrežja (1), in prihodnje preglede te odločbe.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Reţele de transport</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Cestné, železničné, letecké a vodné dopravné siete a s nimi súvisiaca infraštruktúra. Patria sem prepojenia medzi jednotlivými sieťami. Zahŕňajú tiež transeurópsku dopravnú sieť vymedzenú v rozhodnutí Európskeho parlamentu a Rady č. 1692/96/ES z 23. júla 1996 o základných usmerneniach Spoločenstva pre rozvoj transeurópskej dopravnej siete (1) a budúcich revíziách uvedeného rozhodnutia.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Redes de transporte</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Sieci transportowe</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Redes de transporte rodoviário, ferroviário, aéreo e por via navegável, e respectivas infra-estruturas. Inclui as ligações entre as diferentes redes. Inclui também a rede transeuropeia de transportes definida na Decisão n.o 1692/96/CE do Parlamento Europeu e do Conselho, de 23 de Julho de 1996, sobre as orientações comunitárias para o desenvolvimento da rede transeuropeia de transportes (1), e as futuras revisões dessa decisão.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Autoceļi, dzelzceļa, gaisa un ūdens transporta tīkli un ar tiem saistītā infrastruktūra. Tie ietver arī dažādu tīklu savienojumus. Tie ietver arī Eiropas transporta tīklu, kā tas definēts Eiropas Parlamenta un Padomes Lēmumā Nr. 1692/96/EK (1996. gada 23. jūlijs) par Kopienas pamatnostādnēm Eiropas transporta tīkla attīstībai (1) un minētā lēmuma turpmākajos grozījumos.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Transporta tīkli</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Networks tat-trasport tat-triq, tal-ferrovija, ta' l-ajru u ta' l-ilma u infrastruttura relatata. Huma inklużi l-kollegamenti bejn networks differenti. Huma inklużi wkoll in-network trans-Ewropew tat-trasport kif definit fid-Deċiżjoni Nru 1692/96/KE tal-Parlament Ewropew u tal-Kunsill tat-23 ta' Lulju 1996 dwar il-Linji Gwida tal-Komunità għalliżvilupp ta' network trans-Ewropew tat-trasport (1) u r-reviżjonijiet futuri ta' dik id-Deċiżjoni.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Networks tat-trasport</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Netwerken voor vervoer over de weg, per spoor, in de lucht en over het water en de aanverwante infrastructuur met inbegrip van koppelingen tussen verschillende netwerken en het trans-Europees vervoersnetwerk, zoals gedefinieerd in Beschikking nr. 1692/96/EG van het Europees Parlement en de Raad van 23 juli 1996 betreffende communautaire richtsnoeren voor de ontwikkeling van een trans-Europees vervoersnet (1) en de latere herzieningen van deze beschikking.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Vervoersnetwerken</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Sieci transportu drogowego, kolejowego, lotniczego i wodnego oraz związana z nimi infrastruktura. Obejmują połączenia pomiędzy różnymi sieciami. Zalicza się do nich także transeuropejską sieć transportową w rozumieniu decyzji nr 1692/96/WE Parlamentu Europejskiego i Rady z dnia 23 czerwca 1996 r. w sprawie wspólnotowych wytycznych dotyczących rozwoju transeuropejskiej sieci transportowej (1) wraz z jej przyszłymi zmianami.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Transporto tinklai</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Közlekedési hálózatok</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Reti di trasporto su strada, su rotaia, per via aerea e per vie navigabili e relative infrastrutture. Questa voce comprende i collegamenti tra le varie reti e anche la rete transeuropea di trasporto di cui alla decisione n. 1692/96/CE del Parlamento europeo e del Consiglio, del 23 luglio 1996, sugli orientamenti comunitari per lo sviluppo della rete transeuropee dei trasporti (1) e successive revisioni.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Reti di trasporto</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Keliai, geležinkeliai, oro ir vandens transporto tinklai bei su jais susijusi infrastruktūra. Įtraukiamos sąsajos tarp skirtingų tinklų. Taip pat apima 1996 m. liepos 23 d. Europos Parlamente ir Tarybos sprendime Nr. 1692/96/EB, pateikiančiame Bendrijos gaires dėl transeuropinio transporto tinklo plėtros (1), ir jo vėlesniuose pakeitimuose apibrėžtą transeuropinį transporto tinklą.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Liikenneverkot</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Réseaux routier, ferroviaire, aérien et navigable ainsi que les infrastructures associées. Sont également incluses les correspondances entre les différents réseaux, ainsi que le réseau transeuropéen de transport tel que défini dans la décision no 1692/96/CE du Parlement européen et du Conseil du 23 juillet 1996 sur les orientations communautaires pour le développement du réseau transeuropéen de transport (1) et les révisions futures de cette décision.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Réseaux de transport</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Közúti, vasúti, légi és vízi közlekedési hálózatok és a kapcsolódó infrastruktúra. Ide tartoznak a különféle hálózatok közötti összeköttetések is. Magában foglalja továbbá a transzeurópai közlekedési hálózat fejlesztésére vonatkozó közösségi iránymutatásokról szóló, 1996. július 23-i 1692/96/EK európai parlamenti és tanácsi határozatban (1) meghatározott transzeurópai közlekedési hálózatot és e határozat jövőbeli felülvizsgálatait is.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Transpordivõrgud</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Tie-, raide-, ilma- ja vesiliikenneverkot ja niihin liittyvä infrastruktuuri. Sisältää eri verkkojen väliset yhteydet. Sisältää myös Euroopan laajuisen liikenneverkon sellaisena kuin se on määritelty yhteisön suuntaviivoista Euroopan laajuisen liikenneverkon kehittämiseksi 23 päivänä heinäkuuta 1996 tehdyssä Euroopan parlamentin ja neuvoston päätöksessä N:o 1692/96/EY (1) ja tämän päätöksen tulevissa tarkistuksissa.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Redes de transporte</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Maantee-, raudtee-, õhu- ja veetranspordivõrgud ja nendega seotud infrastruktuurid. Sisaldab eri võrkude vahelisi ühendusi. Hõlmab ka Euroopa Parlamendi ja nõukogu 23. juuli 1996. aasta otsuses 1692/96/EÜ üleeuroopalise transpordivõrgu arendamist käsitlevate ühenduse suuniste kohta, (1) määratletud üleeuroopalist transpordivõrku ja selle otsuse edaspidiseid muudatusi.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Δίκτυα μεταφορών</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Road, rail, air and water transport networks and related infrastructure. Includes links between different networks. Also includes the trans-European transport network as defined in Decision No 1692/96/EC of the European Parliament and of the Council of 23 July 1996 on Community Guidelines for the development of the trans-European transport network (1) and future revisions of that Decision.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Transport networks</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Redes de carreteras, ferrocarril, transporte aéreo y vías navegables, con sus correspondientes infraestructuras. Se incluirán las conexiones entre redes diferentes. Se incluirá también la red transeuropea de transporte, según la definición de la Decisión no 1692/96/CE del Parlamento Europeo y del Consejo, de 23 de julio de 1996, sobre las orientaciones comunitarias para el desarrollo de la red transeuropea de transporte (1), y de las futuras revisiones de dicha Decisión.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Δίκτυα οδικών, σιδηροδρομικών, αεροπορικών και υδάτινων μεταφορών και οι αντίστοιχες υποδομές. Περιλαμβάνονται οι συνδέσεις μεταξύ των διαφόρων δικτύων. Περιλαμβάνεται επίσης το διευρωπαϊκό δίκτυο μεταφορών, όπως ορίζεται στην απόφαση αριθ. 1692/96/EΚ του Ευρωπαϊκού Κοινοβουλίου και του Συμβουλίου, της 23ης Ιουλίου 1996, περί των κοινοτικών προσανατολισμών για την ανάπτυξη του διευρωπαϊκού δικτύου μεταφορών (1) και στις μελλοντικές αναθεωρήσεις της εν λόγω απόφασης.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Verkehrsnetze</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Transportnet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Verkehrsnetze und zugehörige Infrastruktureinrichtungen für Straßen-, Schienen- und Luftverkehr sowie Schifffahrt. Umfasst auch die Verbindungen zwischen den verschiedenen Netzen. Umfasst auch das transeuropäische Verkehrsnetz im Sinne der Entscheidung Nr. 1692/96/EG des Europäischen Parlaments und des Rates vom 23. Juli 1996 über gemeinschaftliche Leitlinien für den Aufbau eines transeuropäischen Verkehrsnetzes (1) und künftiger Überarbeitungen dieser Entscheidung.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Transportnet for biler, tog, fly og skibe med tilhørende infrastruktur. Omfatter forbindelser mellem de forskellige net. Omfatter også det transeuropæiske transportnet som defineret i Europa-Parlamentets og Rådets beslutning nr. 1692/96/EF af 23. juli 1996 om Fællesskabets retningslinjer for udvikling af det transeuropæiske transportnet (1) og fremtidige ændringer af denne beslutning.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Транспортни мрежи</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Silniční, železniční, letecké a vodní dopravní sítě a související infrastruktura. Zahrnují spojnice mezi jednotlivými sítěmi. Zahrnují rovněž transevropskou dopravní síť, jak je vymezena v rozhodnutí Evropského parlamentu a Rady č. 1692/96/ES ze dne 23. července 1996 o hlavních směrech Společenství pro rozvoj transevropské dopravní sítě (1) a v budoucích změnách uvedeného rozhodnutí.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Dopravní sítě</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Автомобилни, железопътни, въздушни и водни транспортни мрежи и прилежаща инфраструктура. Включват връзки между различните мрежи. Включват също така и Трансевропейската транспортна мрежа, определена в Решение № 1692/96/ЕО на Европейския парламент и на Съвета от 23 юли 1996 г. относно общностните насоки за развитие на Трансевропейската транспортна мрежа (1) и бъдещо преразглеждане на това решение.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Xarxes de transport</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Xarxes de carreteres, ferrocarril, transport aeri i vies navegables, amb les seves corresponents infraestructures. S’inclouran les connexions entre xarxes diferents. S’inclourà també la xarxa transeuropea de transport, segons la definició de la Decisió núm. 1692/96/CE del Parlament Europeu i del Consell, de 23 de juliol de 1996, sobre les orientacions comunitàries per al desenvolupament de la xarxa transeuropea de transport i de les futures revisions d’aquesta Decisió.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/8">
+<skos:altLabel>hy</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Hidrografija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Hydrografiska element, inbegripet havsområden och alla andra vattenförekomster och därtill hörande inslag, inbegripet avrinningsområden och delavrinningsområden. I förekommande fall i enlighet med definitionerna i Europaparlamentets och rådets direktiv 2000/60/EG av den 23 oktober 2000 om upprättande av en ram för gemenskapens åtgärder på vattenpolitikens område (2) och i form av nät.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Hydrografi</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Hydrografia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Hidrografski elementi, ki vključujejo morska območja ter vsa druga vodna telesa in z njimi povezane dele, vključno s povodji in porečji. Po potrebi v skladu z opredelitvami v Direktivi 2000/60/ES Evropskega parlamenta in Sveta z dne 23. oktobra 2000 o določitvi okvira za ukrepe Skupnosti na področju vodne politike (2) in v obliki omrežij.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Hidrografia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Elementele hidrografice, inclusiv zonele marine, precum şi toate celelalte corpuri de apă şi elementele legate de acestea, inclusiv bazinele şi sub-bazinele hidrografice. După caz, în conformitate cu definiţiile din Directiva 2000/60/CE a Parlamentului European şi a Consiliului din 23 octombrie 2000 de stabilire a unui cadru de politică comunitară în domeniul apei (2) şi sub formă de reţele.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Hidrografie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Hydrografické prvky vrátane morských oblastí a všetkých ostatných vodných útvarov a objektov vzťahujúcich sa k nim vrátane povodí riek a čiastkových povodí. Ak je to možné, v súlade s vymedzeniami pojmov ustanovenými v smernici Európskeho parlamentu a Rady 2000/60/ES z 23. októbra 2000, ktorou sa stanovuje rámec pôsobnosti pre opatrenia Spoločenstva v oblasti vodného hospodárstva (2), a v podobe sietí.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Elementos hidrográficos, incluindo zonas marinhas e todas as outras massas de água e elementos com eles relacionados, incluindo bacias e sub-bacias hidrográficas. Quando adequado, de acordo com as definições da Directiva 2000/60/CE do Parlamento Europeu e do Conselho, de 23 de Outubro de 2000, que estabelece um quadro de acção comunitária no domínio da política da água (2), e sob a forma de redes.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Hydrografia</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Hydrografie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Elementy hydrograficzne, w tym obszary morskie lub inne części wód oraz związane z nimi obiekty, łącznie z dorzeczami i zlewniami. W odpowiednich przypadkach zgodnie z definicjami zawartymi w dyrektywie 2000/60/WE Parlamentu Europejskiego i Rady z dnia 23 października 2000 r. ustanawiającej ramy wspólnotowego działania w dziedzinie polityki wodnej (2) oraz w formie sieci.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Hidrogrāfijas elementi, tostarp jūras teritorijas un visas citas ūdenstilpnes un ar tiem saistītie elementi, tostarp upju baseini un apakšbaseini. Attiecīgā gadījumā atbilstīgi definīcijām, kas izklāstītas Eiropas Parlamenta un Padomes Direktīvā 2000/60/EK (2000. gada 23. oktobris), ar ko izveido sistēmu Kopienas rīcībai ūdens resursu politikas jomā (2), un tīklu veidā.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Hydrografische elementen, waaronder mariene gebieden en alle andere waterlichamen en daarmee verband houdende elementen, met inbegrip van stroomgebieden en deelstroomgebieden, in voorkomend geval volgens de omschrijvingen vermeld in Richtlijn 2000/60/EG van het Europees Parlement en de Raad van 23 oktober 2000 tot vaststelling van een kader voor communautaire maatregelen betreffende het waterbeleid (2) en in de vorm van netwerken.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Idrografija</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Elementi idrografiċi, inklużi żoni marittimi, u kull korp ieħor ta' l-ilma u oġġetti relatati magħhom, inklużi baċiri taxxmajjar u sub-baċiri. Fejn xieraq, skond id-definizzjonijiet fid-Direttiva 2000/60/KE tal-Parlament Ewropew u tal- Kunsill tat-23 ta' Ottubru 2000 li tistabbilixxi qafas għall-azzjoni Komunitarja fil-qasam tal-politika ta' l-ilma (2) u filforma ta' networks.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Hidrografija</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Hidrogrāfija</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Hydrographie</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Vízrajzi elemek, beleértve a tengeri területeket, minden egyéb víztestet és azzal kapcsolatos elemet, többek között a vízgyűjtőket és részvízgyűjtőket. Adott esetben a vízpolitika terén a közösségi fellépés kereteinek meghatározásáról szóló, 2000. október 23-i 2000/60/EK európai parlamenti és tanácsi irányelv (2) fogalommeghatározásaival összhangban és hálózati formában.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Idrografia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Hidrografiniai elementai, įskaitant jūros zonas ir visus kitus vandens telkinius bei su jais susijusius elementus, įskaitant upių baseinus ir pabaseinius. Kur tikslinga, pagal 2000 m. spalio 23 d. Europos Parlamento ir Tarybos direktyvą 2000/60/EB, nustatančią Bendrijos veiksmų vandens politikos srityje pagrindus (2), ir tinklų pavidalu.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Elementi idrografici, comprese le zone marine e tutti gli altri corpi ed elementi idrici ad esse correlati, tra cui i bacini e sub bacini idrografici. Eventualmente in conformità delle definizioni contenute nella direttiva 2000/60/CE del Parlamento europeo e del Consiglio, del 23 ottobre 2000, che istituisce un quadro per l'azione comunitaria in materia di acque (2), e sotto forma di reti.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Vízrajz</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Éléments hydrographiques, y compris les zones maritimes ainsi que toutes les autres masses d'eau et les éléments qui y sont liés, y compris les bassins et sous-bassins hydrographiques. Conformes, le cas échéant, aux définitions établies par la directive 2000/60/CE du Parlement européen et du Conseil du 23 octobre 2000 établissant un cadre pour une politique communautaire dans le domaine de l'eau (2) et sous forme de réseaux.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Hydrografia</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Hüdrograafia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Hydrografiset elementit, mukaan luettuina merialueet ja kaikki muut vesimuodostumat ja niihin liittyvät kohteet, mukaan lukien vesistöalueet ja vesistöalueen osat. Tarvittaessa yhteisön vesipolitiikan puitteista 23 päivänä lokakuuta 2000 annetussa Euroopan parlamentin ja neuvoston direktiivissä 2000/60/EY (2) olevien määritelmien mukaan ja verkostomuodossa.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Hidrografía</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Hüdrograafilised objektid, sealhulgas merealad ning kõik muud veekogud ja nendega seotud objektid, sealhulgas vesikonnad ja alamvesikonnad. Kui see on asjakohane, vastavalt Euroopa Parlamendi ja nõukogu 23. oktoobri 2000. aasta direktiivis 2000/60/EÜ, millega kehtestatakse ühenduse veepoliitika alane tegevusraamistik (2) määratletule ning võrkude kujul.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Elementos hidrográficos, incluidas las zonas marinas y todas las otras masas de agua y elementos relacionados con ellas, así como las cuencas y subcuencas hidrográficas. Cuando proceda, según lo definido en la Directiva 2000/60/CE del Parlamento Europeo y del Consejo, de 23 de octubre de 2000, por la que se establece un marco comunitario de actuación en el ámbito de la política de aguas (2), y en forma de redes.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Υδρογραφία</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Hydrographic elements, including marine areas and all other water bodies and items related to them, including river basins and sub-basins. Where appropriate, according to the definitions set out in Directive 2000/60/EC of the European Parliament and of the Council of 23 October 2000 establishing a framework for Community action in the field of water policy (2) and in the form of networks.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Hydrography</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Υδρογραφικά στοιχεία, όπου περιλαμβάνονται οι θαλάσσιες περιοχές και όλα τα άλλα υδατικά συστήματα και σχετιζόμενα στοιχεία, μεταξύ των οποίων και οι λεκάνες και υπολεκάνες απορροής ποταμών. Κατά περίπτωση, σύμφωνα με τους ορισμούς της οδηγίας 2000/60/ΕΚ του Ευρωπαϊκού Κοινοβουλίου και του Συμβουλίου, της 23ης Οκτωβρίου 2000, για τη θέσπιση πλαισίου κοινοτικής δράσης στον τομέα της πολιτικής των υδάτων (2) και υπό μορφή δικτύων.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Gewässernetz</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Hydrografiske elementer, herunder havområder og alle andre vandområder og dertil knyttede forekomster, herunder også vandløbsoplande og vandløbsdeloplande. I givet fald i henhold til definitionerne i Europa-Parlamentets og Rådets direktiv 2000/60/EF af 23. oktober 2000 om fastlæggelse af en ramme for Fællesskabets vandpolitiske foranstaltninger (2) og i form af net.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Hydrograf</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Vodopis</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Хидрография</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Přírodní prvky, včetně mořských oblastí a všech ostatních s nimi souvisejících vodních těles a prvků, včetně povodí a dílčích povodí. Případně v souladu s definicemi uvedenými ve směrnici Evropského parlamentu a Rady 2000/60/ES ze dne 23. října 2000, kterou se stanoví rámec pro činnost Společenství v oblasti vodní politiky (2), a v podobě sítí.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Elemente des Gewässernetzes, einschließlich Meeresgebieten und allen sonstigen Wasserkörpern und hiermit verbundenen Teilsystemen, darunter Einzugsgebiete und Teileinzugsgebiete. Gegebenenfalls gemäß den Definitionen der Richtlinie 2000/60/EG des Europäischen Parlaments und des Rates vom 23. Oktober 2000 zur Schaffung eines Ordnungsrahmens für Maßnahmen der Gemeinschaft im Bereich der Wasserpolitik (2) und in Form von Netzen.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Хидрографски елементи, включително морски райони и други водни маси и свързани с тях елементи, включително речни басейни и подбасейни. По целесъобразност съгласно определенията, посочени в Директива 2000/60/ЕО на Европейския парламент и на Съвета от 23 октомври 2000 г. за установяване на рамка за действията на Общността в областта на политиката за водите (2) и под формата на мрежи.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Hidrografia</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Elements hidrogràfics, incloses les zones marines i totes les altres masses d’aigua i elements relacionats amb aquestes, així com les conques i subconques hidrogràfiques. Quan sigui procedent, segons el que defineix la Directiva 2000/60/CE del Parlament Europeu i del Consell, de 23 d’octubre de 2000, per la qual s’estableix un marc comunitari d’actuació en l’àmbit de la política d’aigües i en forma de xarxes.</skos:scopeNote></skos:Concept>
+<skos:Concept rdf:about="http://rdfdata.eionet.europa.eu/inspirethemes/themes/9">
+<skos:altLabel>ps</skos:altLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Zavarovana območja</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Områden som är utsedda eller förvaltas inom ramen för internationell lagstiftning, gemenskapslagstiftning och medlemsstaternas lagstiftning för att uppnå specifika miljövårdsmål.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sv">Skyddade områden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone desemnate sau administrate într-un cadru legislativ internaţional, comunitar sau intern, în vederea îndeplinirii unor obiective specifice de conservare.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ro">Zone protejate</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Oblasti vymedzené alebo spravované v rámci medzinárodných právnych predpisov, právnych predpisov Spoločenstva a právnych predpisov členských štátov na účely dosiahnutia osobitných ochranárskych cieľov.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sk">Chránené územia</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="sl">Področje, ki se določi ali upravlja v okviru mednarodnega prava in prava držav članic in Skupnosti z namenom, da se dosežejo posebni cilji ohranjanja.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obszary chronione</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Zonas designadas ou geridas no âmbito de legislação internacional, comunitária ou dos Estados-Membros para a prossecução de objectivos específicos de conservação.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pt">Sítios protegidos</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Beschermde gebieden</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="pl">Obszar wyznaczony lub zarządzany w ramach prawa międzynarodowego, wspólnotowego lub państw członkowskich, w celu osiągnięcia szczególnych celów ochrony.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Żona indikata jew amministrata f'qafas ta' leġiżlazzjoni internazzjonali, Komunitarja u ta' l-Istati Membri sabiex jintlaħqu objettivi speċifiċi ta' konservazzjoni.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="mt">Siti protetti</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="nl">Gebieden die worden aangeduid of beheerd in het kader van internationale en communautaire wetgeving of wetgeving van de lidstaten om specifieke doelstellingen op het vlak van milieubescherming te verwezenlijken.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Saugomos teritorijos</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Teritorijas, kas noteiktas vai pārvaldītas saistībā ar starptautiskiem, Kopienas un dalībvalstu tiesību aktiem, lai nodrošinātu īpašu dabas aizsardzības mērķu īstenošanu.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lv">Aizsargājamas teritorijas</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Siti protetti</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="lt">Teritorija, nustatyta ar tvarkoma pagal tarptautinius, Bendrijos ir valstybių narių teisės aktus, siekiant konkrečių apsaugos tikslų.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Erityisten suojelutavoitteiden saavuttamiseksi kansainvälisen, yhteisön ja jäsenvaltioiden lainsäädännön puitteissa nimetty tai hoidettu alue.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fi">Suojellut alueet</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Zone désignée ou gérée dans un cadre législatif international, communautaire ou national en vue d'atteindre des objectifs spécifiques de conservation.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="fr">Sites protégés</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Különleges természetvédelmi célok elérése érdekében – nemzetközi, közösségi és tagállami jogszabályok keretében – kijelölt vagy kezelt terület.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="hu">Védett helyek</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="it">Aree designate o gestite in un quadro legislativo internazionale, comunitario o degli Stati membri per conseguire obiettivi di conservazione specifici.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Kaitsealused kohad</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="et">Ala, mis on kindlaksmääratud või mida hallatakse rahvusvaheliste, ühenduse või liikmesriikide õigusaktide raames konkreetsete kaitse-eesmärkide saavutamiseks.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Lugares protegidos</skos:prefLabel>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Protected sites</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="es">Zonas designadas o gestionadas dentro de un marco legislativo internacional, comunitario o propio de los Estados miembros, para la consecución de unos objetivos de conservación específicos.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Προστατευόμενες τοποθεσίες</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="en">Area designated or managed within a framework of international, Community and Member States' legislation to achieve specific conservation objectives.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Beskyttede lokaliteter</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Gebiete, die im Rahmen des internationalen und des gemeinschaftlichen Rechts sowie des Rechts der Mitgliedstaaten ausgewiesen sind oder verwaltet werden, um spezifische Erhaltungsziele zu erreichen.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="de">Schutzgebiete</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="el">Εκτάσεις χαρακτηρισμένες ή υποκείμενες σε διαχείριση σε ένα πλαίσιο διεθνούς, κοινοτικού και εθνικού δικαίου για την επίτευξη συγκεκριμένων στόχων διατήρησης.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Chráněná území</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="da">Områder, der er udpeget eller forvaltes inden for en ramme af international, fællesskabs- og medlemsstatslovgivning for at nå bestemte bevaringsmål.</skos:scopeNote>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Район, определен или управляван съгласно международно законодателство, законодателство на Общността или на държавите-членки за постигане на определени цели за опазване на такива обекти.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="bg">Защитени обекти</skos:prefLabel>
+<skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="cs">Území určená nebo spravovaná v rámci mezinárodních právních předpisů a právních předpisů Společenství a členských států pro dosažení konkrétních cílů jejich ochrany.</skos:scopeNote>
+<skos:prefLabel xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Llocs protegits</skos:prefLabel><skos:scopeNote xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:ns4="http://rdfdata.eionet.europa.eu/inspirethemes/themes/" xml:lang="ca">Zones designades o gestionades dins d’un marc legislatiu internacional, comunitari o propi dels estats membres, per a la consecució d’uns objectius de conservació específics.</skos:scopeNote></skos:Concept>
+</rdf:RDF>
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/convert/thesaurus-transformation.xsl b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/convert/thesaurus-transformation.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..9f053eec5fa6c45792b7d2c485cc728c492e4fcf
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/convert/thesaurus-transformation.xsl
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:gmx="http://www.isotc211.org/2005/gmx"
+                xmlns:gco="http://www.isotc211.org/2005/gco"
+                xmlns:gmd="http://www.isotc211.org/2005/gmd"
+                xmlns:srv="http://www.isotc211.org/2005/srv"
+                xmlns:geonet="http://www.fao.org/geonetwork"
+                xmlns:xlink="http://www.w3.org/1999/xlink"
+                xmlns:util="java:org.fao.geonet.util.XslUtil"
+                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                version="2.0"
+                exclude-result-prefixes="#all">
+
+
+  <!-- A set of templates use to convert thesaurus concept to ISO19139 fragments. -->
+
+
+  <xsl:include href="../process/process-utility.xsl"/>
+
+
+  <!-- Convert a concept to an ISO19139 fragment with an Anchor
+        for each keywords pointing to the concept URI-->
+  <xsl:template name="to-iso19139-keyword-with-anchor">
+    <xsl:call-template name="to-iso19139-keyword">
+      <xsl:with-param name="withAnchor" select="true()"/>
+    </xsl:call-template>
+  </xsl:template>
+
+
+  <!-- Convert a concept to an ISO19139 gmd:MD_Keywords with an XLink which
+    will be resolved by XLink resolver. -->
+  <xsl:template name="to-iso19139-keyword-as-xlink">
+    <xsl:call-template name="to-iso19139-keyword">
+      <xsl:with-param name="withXlink" select="true()"/>
+    </xsl:call-template>
+  </xsl:template>
+
+
+  <!-- Convert a concept to an ISO19139 keywords.
+    If no keyword is provided, only thesaurus section is adaded.
+    -->
+  <xsl:template name="to-iso19139-keyword">
+    <xsl:param name="withAnchor" select="false()"/>
+    <xsl:param name="withXlink" select="false()"/>
+    <!-- Add thesaurus identifier using an Anchor which points to the download link.
+        It's recommended to use it in order to have the thesaurus widget inline editor
+        which use the thesaurus identifier for initialization. -->
+    <xsl:param name="withThesaurusAnchor" select="true()"/>
+
+
+    <!-- The lang parameter contains a list of languages
+    with the main one as the first element. If only one element
+    is provided, then CharacterString or Anchor are created.
+    If more than one language is provided, then PT_FreeText
+    with or without CharacterString can be created. -->
+    <xsl:variable name="listOfLanguage" select="tokenize(/root/request/lang, ',')"/>
+    <xsl:variable name="textgroupOnly"
+                  as="xs:boolean"
+                  select="if (/root/request/textgroupOnly and normalize-space(/root/request/textgroupOnly) != '')
+                          then /root/request/textgroupOnly
+                          else false()"/>
+
+
+    <xsl:apply-templates mode="to-iso19139-keyword" select=".">
+      <xsl:with-param name="withAnchor" select="$withAnchor"/>
+      <xsl:with-param name="withXlink" select="$withXlink"/>
+      <xsl:with-param name="withThesaurusAnchor" select="$withThesaurusAnchor"/>
+      <xsl:with-param name="listOfLanguage" select="$listOfLanguage"/>
+      <xsl:with-param name="textgroupOnly" select="$textgroupOnly"/>
+      <xsl:with-param name="node" select="node()"/>
+    </xsl:apply-templates>
+  </xsl:template>
+
+  <xsl:template mode="to-iso19139-keyword" match="*[not(/root/request/skipdescriptivekeywords)]">
+    <xsl:param name="textgroupOnly"/>
+    <xsl:param name="listOfLanguage"/>
+    <xsl:param name="withAnchor"/>
+    <xsl:param name="withXlink"/>
+    <xsl:param name="withThesaurusAnchor"/>
+    <xsl:param name="node"/>
+
+    <gmd:descriptiveKeywords>
+      <xsl:choose>
+        <xsl:when test="$withXlink">
+          <xsl:variable name="isLocalXlink"
+                        select="util:getSettingValue('system/xlinkResolver/localXlinkEnable')"/>
+          <xsl:variable name="prefixUrl"
+                        select="if ($isLocalXlink = 'true')
+                                then concat('local://', $node, '/')
+                                else $serviceUrl"/>
+
+          <xsl:attribute name="xlink:href"
+                         select="concat(
+                                  $prefixUrl,
+                                  'api/registries/vocabularies/keyword?skipdescriptivekeywords=true&amp;thesaurus=',
+                                   if (thesaurus/key) then thesaurus/key else /root/request/thesaurus,
+                                  '&amp;id=', encode-for-uri(/root/request/id),
+                                  if (/root/request/lang) then concat('&amp;lang=', /root/request/lang) else '',
+                                  if ($textgroupOnly) then '&amp;textgroupOnly' else '')"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="to-md-keywords">
+            <xsl:with-param name="withAnchor" select="$withAnchor"/>
+            <xsl:with-param name="withThesaurusAnchor" select="$withThesaurusAnchor"/>
+            <xsl:with-param name="listOfLanguage" select="$listOfLanguage"/>
+            <xsl:with-param name="textgroupOnly" select="$textgroupOnly"/>
+          </xsl:call-template>
+        </xsl:otherwise>
+      </xsl:choose>
+    </gmd:descriptiveKeywords>
+  </xsl:template>
+
+  <xsl:template mode="to-iso19139-keyword" match="*[/root/request/skipdescriptivekeywords]">
+    <xsl:param name="textgroupOnly"/>
+    <xsl:param name="listOfLanguage"/>
+    <xsl:param name="withAnchor"/>
+    <xsl:param name="withThesaurusAnchor"/>
+
+    <xsl:call-template name="to-md-keywords">
+      <xsl:with-param name="withAnchor" select="$withAnchor"/>
+      <xsl:with-param name="withThesaurusAnchor" select="$withThesaurusAnchor"/>
+      <xsl:with-param name="listOfLanguage" select="$listOfLanguage"/>
+      <xsl:with-param name="textgroupOnly" select="$textgroupOnly"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="to-md-keywords">
+    <xsl:param name="textgroupOnly"/>
+    <xsl:param name="listOfLanguage"/>
+    <xsl:param name="withAnchor"/>
+    <xsl:param name="withThesaurusAnchor"/>
+
+    <gmd:MD_Keywords>
+      <!-- Get thesaurus ID from keyword or from request parameter if no keyword found. -->
+      <xsl:variable name="currentThesaurus"
+                    select="if (thesaurus/key) then thesaurus/key else /root/request/thesaurus"/>
+      <!-- Loop on all keyword from the same thesaurus -->
+      <xsl:for-each select="//keyword[thesaurus/key = $currentThesaurus]">
+        <gmd:keyword>
+          <xsl:if test="$currentThesaurus = 'external.none.allThesaurus'">
+            <!--
+                if 'all' thesaurus we need to encode the thesaurus name so that update-fixed-info can re-organize the
+                keywords into the correct thesaurus sections.
+            -->
+            <xsl:variable name="keywordThesaurus"
+                          select="replace(./uri, 'http://org.fao.geonet.thesaurus.all/([^@]+)@@@.+', '$1')"/>
+            <xsl:attribute name="gco:nilReason" select="concat('thesaurus::', $keywordThesaurus)"/>
+          </xsl:if>
+
+          <!-- Multilingual output if more than one requested language -->
+          <xsl:choose>
+            <xsl:when test="count($listOfLanguage) > 1">
+              <xsl:attribute name="xsi:type" select="'gmd:PT_FreeText_PropertyType'"/>
+              <xsl:variable name="keyword" select="."/>
+
+              <xsl:if test="not($textgroupOnly)">
+                <gco:CharacterString>
+                  <xsl:value-of
+                    select="$keyword/values/value[@language = $listOfLanguage[1]]/text()"></xsl:value-of>
+                </gco:CharacterString>
+              </xsl:if>
+
+              <gmd:PT_FreeText>
+                <xsl:for-each select="$listOfLanguage">
+                  <xsl:variable name="lang" select="."/>
+                  <gmd:textGroup>
+                    <gmd:LocalisedCharacterString
+                      locale="#{upper-case(util:twoCharLangCode($lang))}">
+                      <xsl:value-of
+                        select="$keyword/values/value[@language = $lang]/text()"></xsl:value-of>
+                    </gmd:LocalisedCharacterString>
+                  </gmd:textGroup>
+                </xsl:for-each>
+              </gmd:PT_FreeText>
+            </xsl:when>
+            <xsl:otherwise>
+              <!-- ... default mode -->
+              <xsl:choose>
+                <xsl:when test="$withAnchor">
+                  <!-- TODO multilingual Anchor ? -->
+                  <gmx:Anchor
+                    xlink:href="{$serviceUrl}api/registries/vocabularies/keyword?thesaurus={thesaurus/key}&amp;id={uri}">
+                    <xsl:value-of select="value"/>
+                  </gmx:Anchor>
+                </xsl:when>
+                <xsl:otherwise>
+                  <gco:CharacterString>
+                    <xsl:value-of select="value"/>
+                  </gco:CharacterString>
+                </xsl:otherwise>
+              </xsl:choose>
+            </xsl:otherwise>
+          </xsl:choose>
+        </gmd:keyword>
+      </xsl:for-each>
+
+      <!-- If no keyword, add one to avoid invalid metadata -->
+      <xsl:if test="count(//keyword[thesaurus/key = $currentThesaurus]) = 0">
+        <gmd:keyword gco:nilReason="missing">
+          <gco:CharacterString></gco:CharacterString>
+        </gmd:keyword>
+      </xsl:if>
+
+      <xsl:copy-of
+        select="geonet:add-thesaurus-info($currentThesaurus, $withThesaurusAnchor, /root/gui/thesaurus/thesauri, not(/root/request/keywordOnly))"/>
+    </gmd:MD_Keywords>
+  </xsl:template>
+
+  <xsl:function name="geonet:add-thesaurus-info">
+    <xsl:param name="currentThesaurus" as="xs:string"/>
+    <xsl:param name="withThesaurusAnchor" as="xs:boolean"/>
+    <xsl:param name="thesauri" as="node()"/>
+    <xsl:param name="thesaurusInfo" as="xs:boolean"/>
+
+    <!-- Add thesaurus theme -->
+    <gmd:type>
+      <gmd:MD_KeywordTypeCode
+        codeList="http://www.isotc211.org/2005/resources/codeList.xml#MD_KeywordTypeCode"
+        codeListValue="{$thesauri/thesaurus[key = $currentThesaurus]/dname}"/>
+    </gmd:type>
+    <xsl:if test="$thesaurusInfo">
+      <gmd:thesaurusName>
+        <gmd:CI_Citation>
+          <gmd:title>
+            <gco:CharacterString>
+              <xsl:value-of select="$thesauri/thesaurus[key = $currentThesaurus]/title"/>
+            </gco:CharacterString>
+          </gmd:title>
+
+          <xsl:variable name="thesaurusDate"
+                        select="normalize-space($thesauri/thesaurus[key = $currentThesaurus]/date)"/>
+
+          <xsl:if test="$thesaurusDate != ''">
+            <gmd:date>
+              <gmd:CI_Date>
+                <gmd:date>
+                  <xsl:choose>
+                    <xsl:when test="contains($thesaurusDate, 'T')">
+                      <gco:DateTime>
+                        <xsl:value-of select="$thesaurusDate"/>
+                      </gco:DateTime>
+                    </xsl:when>
+                    <xsl:otherwise>
+                      <gco:Date>
+                        <xsl:value-of select="$thesaurusDate"/>
+                      </gco:Date>
+                    </xsl:otherwise>
+                  </xsl:choose>
+                </gmd:date>
+                <gmd:dateType>
+                  <gmd:CI_DateTypeCode
+                    codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode"
+                    codeListValue="publication"/>
+                </gmd:dateType>
+              </gmd:CI_Date>
+            </gmd:date>
+          </xsl:if>
+
+          <xsl:if test="$withThesaurusAnchor">
+            <gmd:identifier>
+              <gmd:MD_Identifier>
+                <gmd:code>
+                  <gmx:Anchor xlink:href="{$thesauri/thesaurus[key = $currentThesaurus]/url}">
+                    geonetwork.thesaurus.<xsl:value-of
+                    select="$currentThesaurus"/>
+                  </gmx:Anchor>
+                </gmd:code>
+              </gmd:MD_Identifier>
+            </gmd:identifier>
+          </xsl:if>
+        </gmd:CI_Citation>
+      </gmd:thesaurusName>
+    </xsl:if>
+  </xsl:function>
+
+  <!-- Convert a concept to an ISO19139 extent -->
+  <xsl:template name="to-iso19139-extent">
+    <xsl:param name="isService" select="false()"/>
+
+    <xsl:variable name="currentThesaurus" select="thesaurus/key"/>
+    <!-- Loop on all keyword from the same thesaurus -->
+    <xsl:for-each select="//keyword[thesaurus/key = $currentThesaurus]">
+      <xsl:choose>
+        <xsl:when test="$isService">
+          <srv:extent>
+            <xsl:copy-of
+              select="geonet:make-iso-extent(geo/west, geo/south, geo/east, geo/north, value)"/>
+          </srv:extent>
+        </xsl:when>
+        <xsl:otherwise>
+          <gmd:extent>
+            <xsl:copy-of
+              select="geonet:make-iso-extent(geo/west, geo/south, geo/east, geo/north, value)"/>
+          </gmd:extent>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+  </xsl:template>
+</xsl:stylesheet>
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/index-fields/default.xsl b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/index-fields/default.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..3ae51ba1b1c401b1801ebcc83ee6da8535c8245e
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/index-fields/default.xsl
@@ -0,0 +1,1103 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<xsl:stylesheet xmlns:gmd="http://www.isotc211.org/2005/gmd"
+                xmlns:gco="http://www.isotc211.org/2005/gco"
+                xmlns:gml="http://www.opengis.net/gml"
+                xmlns:srv="http://www.isotc211.org/2005/srv"
+                xmlns:geonet="http://www.fao.org/geonetwork"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:gmx="http://www.isotc211.org/2005/gmx"
+                xmlns:xlink="http://www.w3.org/1999/xlink"
+                xmlns:util="java:org.fao.geonet.util.XslUtil"
+                xmlns:skos="http://www.w3.org/2004/02/skos/core#"
+                xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+                version="2.0"
+                exclude-result-prefixes="#all">
+
+  <xsl:include href="../convert/functions.xsl"/>
+  <xsl:include href="../../../xsl/utils-fn.xsl"/>
+  <xsl:include href="index-subtemplate-fields.xsl"/>
+
+  <!-- This file defines what parts of the metadata are indexed by Lucene
+       Searches can be conducted on indexes defined here.
+       The Field@name attribute defines the name of the search variable.
+       If a variable has to be maintained in the user session, it needs to be
+       added to the GeoNetwork constants in the Java source code.
+       Please keep indexes consistent among metadata standards if they should
+       work across different metadata resources -->
+  <!-- ========================================================================================= -->
+
+  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
+
+
+  <!-- ========================================================================================= -->
+
+  <xsl:param name="thesauriDir"/>
+  <xsl:param name="inspire">false</xsl:param>
+
+  <xsl:variable name="inspire-thesaurus"
+                select="if ($inspire!='false') then document(concat('file:///', replace($thesauriDir, '\\', '/'), '/external/thesauri/theme/inspire-theme.rdf')) else ''"/>
+  <xsl:variable name="inspire-theme"
+                select="if ($inspire!='false') then $inspire-thesaurus//skos:Concept else ''"/>
+
+  <!-- If identification creation, publication and revision date
+    should be indexed as a temporal extent information (eg. in INSPIRE
+    metadata implementing rules, those elements are defined as part
+    of the description of the temporal extent). -->
+  <xsl:variable name="useDateAsTemporalExtent" select="false()"/>
+
+  <!-- Define the way keyword and thesaurus are indexed. If false
+  only keyword, thesaurusName and thesaurusType field are created.
+  If true, advanced field are created to make more details query
+  on keyword type and search by thesaurus. Index size is bigger
+  but more detailed facet can be configured based on each thesaurus.
+  -->
+  <xsl:variable name="indexAllKeywordDetails" select="true()"/>
+
+  <!-- For record not having status obsolete, flag them as non
+  obsolete records. Some catalog like to restrict to non obsolete
+  records only the default search. -->
+  <xsl:variable name="flagNonObseleteRecords" select="false()"/>
+
+
+  <!-- The main metadata language -->
+  <xsl:variable name="isoLangId">
+    <xsl:call-template name="langId19139"/>
+  </xsl:variable>
+
+  <!-- ========================================================================================= -->
+  <xsl:template match="/">
+    <Document locale="{$isoLangId}">
+      <Field name="_locale" string="{$isoLangId}" store="true" index="true"/>
+
+      <Field name="_docLocale" string="{$isoLangId}" store="true" index="true"/>
+
+      <xsl:variable name="_defaultTitle">
+        <xsl:call-template name="defaultTitle">
+          <xsl:with-param name="isoDocLangId" select="$isoLangId"/>
+        </xsl:call-template>
+      </xsl:variable>
+
+      <Field name="_defaultTitle" string="{string($_defaultTitle)}" store="true" index="true"/>
+
+      <!-- not tokenized title for sorting, needed for multilingual sorting -->
+      <xsl:if test="geonet:info/isTemplate != 's'">
+        <Field name="_title" string="{string($_defaultTitle)}" store="true" index="true"/>
+      </xsl:if>
+
+      <xsl:apply-templates select="*[name(.)='gmd:MD_Metadata' or @gco:isoType='gmd:MD_Metadata']"
+                           mode="metadata"/>
+
+      <xsl:apply-templates mode="index" select="*"/>
+
+    </Document>
+  </xsl:template>
+
+
+  <!-- Add index mode template in order to easily add new field in the index (eg. in profiles).
+
+  For example, index some keywords from a specific thesaurus in a new field:
+  <xsl:template mode="index"
+      match="gmd:MD_Keywords[gmd:thesaurusName/gmd:CI_Citation/
+                  gmd:title/gco:CharacterString='My thesaurus']/
+                  gmd:keyword[normalize-space(gco:CharacterString) != '']">
+      <Field name="myThesaurusKeyword" string="{string(.)}" store="true" index="true"/>
+  </xsl:template>
+
+  Note: if more than one template match the same element in a mode, only one will be
+  used (usually the last one).
+
+  If matching a upper level element, apply mode to its child to further index deeper level if required:
+      <xsl:template mode="index" match="gmd:EX_Extent">
+          ... do something
+          ... and continue indexing
+          <xsl:apply-templates mode="index" select="*"/>
+      </xsl:template>
+  -->
+  <xsl:template mode="index" match="*|@*">
+    <xsl:apply-templates mode="index" select="*|@*"/>
+  </xsl:template>
+
+
+  <xsl:template mode="index"
+                match="gmd:extent/gmd:EX_Extent/gmd:description/gco:CharacterString[normalize-space(.) != '']">
+    <Field name="extentDesc" string="{string(.)}" store="false" index="true"/>
+  </xsl:template>
+
+
+  <!-- ========================================================================================= -->
+
+  <xsl:template match="*" mode="metadata">
+
+    <!-- === Data or Service Identification === -->
+
+    <!-- the double // here seems needed to index MD_DataIdentification when
+         it is nested in a SV_ServiceIdentification class -->
+
+    <xsl:for-each select="gmd:identificationInfo//gmd:MD_DataIdentification|
+                gmd:identificationInfo//*[contains(@gco:isoType, 'MD_DataIdentification')]|
+                gmd:identificationInfo/srv:SV_ServiceIdentification">
+
+      <xsl:for-each select="gmd:citation/gmd:CI_Citation">
+        <xsl:for-each select="gmd:identifier/gmd:MD_Identifier/gmd:code/gco:CharacterString">
+          <Field name="identifier" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:identifier/gmd:RS_Identifier/gmd:code/gco:CharacterString">
+          <Field name="identifier" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+
+        <xsl:for-each select="gmd:title/gco:CharacterString">
+          <Field name="title" string="{string(.)}" store="true" index="true"/>
+          <!-- not tokenized title for sorting -->
+          <Field name="_title" string="{string(.)}" store="false" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:alternateTitle/gco:CharacterString">
+          <Field name="altTitle" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each
+          select="gmd:date/gmd:CI_Date[gmd:dateType/gmd:CI_DateTypeCode/@codeListValue='revision']/gmd:date">
+          <Field name="revisionDate" string="{string(gco:Date[.!='']|gco:DateTime[.!=''])}"
+                 store="true" index="true"/>
+          <Field name="createDateMonth"
+                 string="{substring(gco:Date[.!='']|gco:DateTime[.!=''], 0, 8)}" store="true"
+                 index="true"/>
+          <Field name="createDateYear"
+                 string="{substring(gco:Date[.!='']|gco:DateTime[.!=''], 0, 5)}" store="true"
+                 index="true"/>
+          <xsl:if test="$useDateAsTemporalExtent">
+            <Field name="tempExtentBegin" string="{string(gco:Date[.!='']|gco:DateTime[.!=''])}"
+                   store="true" index="true"/>
+          </xsl:if>
+        </xsl:for-each>
+
+        <xsl:for-each
+          select="gmd:date/gmd:CI_Date[gmd:dateType/gmd:CI_DateTypeCode/@codeListValue='creation']/gmd:date">
+          <Field name="createDate" string="{string(gco:Date[.!='']|gco:DateTime[.!=''])}"
+                 store="true" index="true"/>
+          <Field name="createDateMonth"
+                 string="{substring(gco:Date[.!='']|gco:DateTime[.!=''], 0, 8)}" store="true"
+                 index="true"/>
+          <Field name="createDateYear"
+                 string="{substring(gco:Date[.!='']|gco:DateTime[.!=''], 0, 5)}" store="true"
+                 index="true"/>
+          <xsl:if test="$useDateAsTemporalExtent">
+            <Field name="tempExtentBegin" string="{string(gco:Date[.!='']|gco:DateTime[.!=''])}"
+                   store="true" index="true"/>
+          </xsl:if>
+        </xsl:for-each>
+
+        <xsl:for-each
+          select="gmd:date/gmd:CI_Date[gmd:dateType/gmd:CI_DateTypeCode/@codeListValue='publication']/gmd:date">
+          <Field name="publicationDate" string="{string(gco:Date[.!='']|gco:DateTime[.!=''])}"
+                 store="true" index="true"/>
+          <xsl:if test="$useDateAsTemporalExtent">
+            <Field name="tempExtentBegin" string="{string(gco:Date[.!='']|gco:DateTime[.!=''])}"
+                   store="true" index="true"/>
+          </xsl:if>
+        </xsl:for-each>
+
+        <!-- fields used to search for metadata in paper or digital format -->
+
+        <xsl:for-each select="gmd:presentationForm">
+          <xsl:if test="contains(gmd:CI_PresentationFormCode/@codeListValue, 'Digital')">
+            <Field name="digital" string="true" store="false" index="true"/>
+          </xsl:if>
+
+          <xsl:if test="contains(gmd:CI_PresentationFormCode/@codeListValue, 'Hardcopy')">
+            <Field name="paper" string="true" store="false" index="true"/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:for-each>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each select="gmd:pointOfContact[1]/*/gmd:role/*/@codeListValue">
+        <Field name="responsiblePartyRole" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each select="gmd:abstract/gco:CharacterString">
+        <Field name="abstract" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <xsl:for-each select="gmd:credit/gco:CharacterString">
+        <Field name="credit" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each select="*/gmd:EX_Extent">
+        <xsl:apply-templates select="gmd:geographicElement/gmd:EX_GeographicBoundingBox"
+                             mode="latLon"/>
+
+        <xsl:for-each select="gmd:description/gco:CharacterString[normalize-space(.) != '']">
+          <Field name="extentDesc" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each
+          select="gmd:geographicElement/gmd:EX_GeographicDescription/gmd:geographicIdentifier/gmd:MD_Identifier/gmd:code/gco:CharacterString">
+          <Field name="geoDescCode" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:temporalElement/
+                                  (gmd:EX_TemporalExtent|gmd:EX_SpatialTemporalExtent)/gmd:extent">
+          <xsl:for-each select="gml:TimePeriod">
+
+            <xsl:variable name="times">
+              <xsl:call-template name="newGmlTime">
+                <xsl:with-param name="begin"
+                                select="gml:beginPosition|gml:begin/gml:TimeInstant/gml:timePosition"/>
+                <xsl:with-param name="end"
+                                select="gml:endPosition|gml:end/gml:TimeInstant/gml:timePosition"/>
+              </xsl:call-template>
+            </xsl:variable>
+
+            <Field name="tempExtentBegin" string="{lower-case(substring-before($times,'|'))}"
+                   store="true" index="true"/>
+            <Field name="tempExtentEnd" string="{lower-case(substring-after($times,'|'))}"
+                   store="true" index="true"/>
+          </xsl:for-each>
+
+        </xsl:for-each>
+      </xsl:for-each>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each select="//gmd:MD_Keywords">
+        <!-- Index all keywords as text or anchor -->
+        <xsl:variable name="listOfKeywords"
+                      select="gmd:keyword/gco:CharacterString|
+                                        gmd:keyword/gmx:Anchor"/>
+        <xsl:for-each select="$listOfKeywords">
+          <xsl:variable name="keyword" select="string(.)"/>
+
+          <Field name="keyword" string="{$keyword}" store="true" index="true"/>
+
+          <!-- If INSPIRE is enabled, check if the keyword is one of the 34 themes
+               and index annex, theme and theme in english. -->
+          <xsl:if test="$inspire='true'">
+            <xsl:if test="string-length(.) &gt; 0">
+
+              <xsl:variable name="inspireannex">
+                <xsl:call-template name="determineInspireAnnex">
+                  <xsl:with-param name="keyword" select="$keyword"/>
+                  <xsl:with-param name="inspireThemes" select="$inspire-theme"/>
+                </xsl:call-template>
+              </xsl:variable>
+
+              <xsl:variable name="inspireThemeAcronym">
+                <xsl:call-template name="getInspireThemeAcronym">
+                  <xsl:with-param name="keyword" select="$keyword"/>
+                </xsl:call-template>
+              </xsl:variable>
+
+              <!-- Add the inspire field if it's one of the 34 themes -->
+              <xsl:if test="normalize-space($inspireannex)!=''">
+                <Field name="inspiretheme" string="{$keyword}" store="true" index="true"/>
+                <Field name="inspirethemewithac"
+                       string="{concat($inspireThemeAcronym, '|', $keyword)}"
+                       store="true" index="true"/>
+
+                <!--<Field name="inspirethemeacronym" string="{$inspireThemeAcronym}" store="true" index="true"/>-->
+                <xsl:variable name="inspireThemeURI"
+                              select="$inspire-theme[skos:prefLabel = $keyword]/@rdf:about"/>
+                <Field name="inspirethemeuri" string="{$inspireThemeURI}" store="true"
+                       index="true"/>
+
+                <xsl:variable name="englishInspireTheme">
+                  <xsl:call-template name="translateInspireThemeToEnglish">
+                    <xsl:with-param name="keyword" select="$keyword"/>
+                    <xsl:with-param name="inspireThemes" select="$inspire-theme"/>
+                  </xsl:call-template>
+                </xsl:variable>
+
+                <Field name="inspiretheme_en" string="{$englishInspireTheme}" store="true"
+                       index="true"/>
+                <Field name="inspireannex" string="{$inspireannex}" store="true" index="true"/>
+                <!-- FIXME : inspirecat field will be set multiple time if one record has many themes -->
+                <Field name="inspirecat" string="true" store="false" index="true"/>
+              </xsl:if>
+            </xsl:if>
+          </xsl:if>
+        </xsl:for-each>
+
+        <!-- Index thesaurus name to easily search for records
+        using keyword from a thesaurus. -->
+        <xsl:for-each select="gmd:thesaurusName/gmd:CI_Citation">
+          <xsl:variable name="thesaurusIdentifier"
+                        select="gmd:identifier/gmd:MD_Identifier/gmd:code/gmx:Anchor/text()"/>
+
+          <xsl:if test="$thesaurusIdentifier != ''">
+            <Field name="thesaurusIdentifier"
+                   string="{substring-after($thesaurusIdentifier,'geonetwork.thesaurus.')}"
+                   store="true" index="true"/>
+          </xsl:if>
+          <xsl:if test="gmd:title/gco:CharacterString/text() != ''">
+            <Field name="thesaurusName"
+                   string="{gmd:title/gco:CharacterString/text()}"
+                   store="true" index="true"/>
+          </xsl:if>
+
+
+          <xsl:if test="$indexAllKeywordDetails and $thesaurusIdentifier != ''">
+            <!-- field thesaurus-{{thesaurusIdentifier}}={{keyword}} allows
+            to group all keywords of same thesaurus in a field -->
+            <xsl:variable name="currentType" select="string(.)"/>
+
+            <xsl:for-each select="$listOfKeywords">
+              <Field
+                name="thesaurus-{substring-after($thesaurusIdentifier,'geonetwork.thesaurus.')}"
+                string="{string(.)}"
+                store="true" index="true"/>
+
+            </xsl:for-each>
+          </xsl:if>
+        </xsl:for-each>
+
+        <!-- Index thesaurus type -->
+        <xsl:for-each select="gmd:type/gmd:MD_KeywordTypeCode/@codeListValue">
+          <Field name="keywordType" string="{string(.)}" store="true" index="true"/>
+          <xsl:if test="$indexAllKeywordDetails">
+            <!-- field thesaurusType{{type}}={{keyword}} allows
+            to group all keywords of same type in a field -->
+            <xsl:variable name="currentType" select="string(.)"/>
+            <xsl:for-each select="$listOfKeywords">
+              <Field name="keywordType-{$currentType}"
+                     string="{string(.)}"
+                     store="true" index="true"/>
+            </xsl:for-each>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:for-each>
+
+      <xsl:variable name="listOfKeywords">{
+        <xsl:variable name="keywordWithNoThesaurus"
+                      select="//gmd:MD_Keywords[
+                                not(gmd:thesaurusName) or gmd:thesaurusName/*/gmd:title/*/text() = '']/
+                                  gmd:keyword[*/text() != '']"/>
+        <xsl:if test="count($keywordWithNoThesaurus) > 0">
+          'keywords': [
+          <xsl:for-each select="$keywordWithNoThesaurus/(gco:CharacterString|gmx:Anchor)">
+            <xsl:value-of select="concat('''', replace(., '''', '\\'''), '''')"/>
+            <xsl:if test="position() != last()">,</xsl:if>
+          </xsl:for-each>
+          ]
+          <xsl:if test="//gmd:MD_Keywords[gmd:thesaurusName]">,</xsl:if>
+        </xsl:if>
+        <xsl:for-each-group select="//gmd:MD_Keywords[gmd:thesaurusName/*/gmd:title/*/text() != '']"
+                            group-by="gmd:thesaurusName/*/gmd:title/*/text()">
+          '<xsl:value-of select="replace(current-grouping-key(), '''', '\\''')"/>' :[
+          <xsl:for-each select="gmd:keyword/(gco:CharacterString|gmx:Anchor)">
+            <xsl:value-of select="concat('''', replace(., '''', '\\'''), '''')"/>
+            <xsl:if test="position() != last()">,</xsl:if>
+          </xsl:for-each>
+          ]
+          <xsl:if test="position() != last()">,</xsl:if>
+        </xsl:for-each-group>
+        }
+      </xsl:variable>
+
+      <Field name="keywordGroup"
+             string="{normalize-space($listOfKeywords)}"
+             store="true"
+             index="false"/>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each select="gmd:pointOfContact">
+        <xsl:apply-templates mode="index-contact"
+                             select="gmd:CI_ResponsibleParty|*[@gco:isoType = 'gmd:CI_ResponsibleParty']">
+          <xsl:with-param name="type" select="'resource'"/>
+          <xsl:with-param name="fieldPrefix" select="'responsibleParty'"/>
+          <xsl:with-param name="position" select="position()"/>
+        </xsl:apply-templates>
+      </xsl:for-each>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:choose>
+        <xsl:when test="gmd:resourceConstraints/gmd:MD_SecurityConstraints">
+          <Field name="secConstr" string="true" store="true" index="true"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <Field name="secConstr" string="false" store="true" index="true"/>
+        </xsl:otherwise>
+      </xsl:choose>
+
+
+      <!-- Add an extra value to the status codelist to indicate all
+      non obsolete records -->
+      <xsl:if test="$flagNonObseleteRecords">
+        <xsl:variable name="isNotObsolete"
+                      select="count(gmd:status[gmd:MD_ProgressCode/@codeListValue = 'obsolete']) = 0"/>
+        <xsl:if test="$isNotObsolete">
+          <Field name="cl_status" string="notobsolete" store="true" index="true"/>
+        </xsl:if>
+      </xsl:if>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each select="gmd:topicCategory/gmd:MD_TopicCategoryCode">
+        <Field name="topicCat" string="{string(.)}" store="true" index="true"/>
+        <Field name="keyword"
+               string="{util:getCodelistTranslation('gmd:MD_TopicCategoryCode', string(.), string($isoLangId))}"
+               store="true" index="true"/>
+      </xsl:for-each>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each
+        select="gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue">
+        <Field name="datasetLang" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each select="gmd:spatialResolution/gmd:MD_Resolution">
+        <xsl:for-each
+          select="gmd:equivalentScale/gmd:MD_RepresentativeFraction/gmd:denominator/gco:Integer">
+          <Field name="denominator" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:distance/gco:Distance">
+          <Field name="distanceVal" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:distance/gco:Distance/@uom">
+          <Field name="distanceUom" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:distance/gco:Distance">
+          <!-- Units may be encoded as
+          http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/uom/ML_gmxUom.xml#m
+          in such case retrieve the unit acronym only. -->
+          <xsl:variable name="unit"
+                        select="if (contains(@uom, '#')) then substring-after(@uom, '#') else @uom"/>
+          <Field name="resolution" string="{concat(string(.), ' ', $unit)}" store="true"
+                 index="true"/>
+        </xsl:for-each>
+      </xsl:for-each>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+      <xsl:for-each select="gmd:resourceMaintenance/
+                                gmd:MD_MaintenanceInformation/gmd:maintenanceAndUpdateFrequency/
+                                gmd:MD_MaintenanceFrequencyCode/@codeListValue[. != '']">
+        <Field name="updateFrequency" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+
+      <xsl:for-each select="gmd:resourceConstraints/*">
+        <xsl:variable name="fieldPrefix" select="local-name()"/>
+
+        <xsl:for-each
+          select="gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue[string(.) != 'otherRestrictions']">
+          <Field name="{$fieldPrefix}AccessConstraints"
+                 string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:otherConstraints/gco:CharacterString">
+          <Field name="{$fieldPrefix}OtherConstraints"
+                 string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:useLimitation/gco:CharacterString">
+            <Field name="{$fieldPrefix}UseLimitation"
+                   string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:useLimitation/gmx:Anchor[not(string(@xlink:href))]">
+            <Field name="{$fieldPrefix}UseLimitation"
+                   string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="gmd:useLimitation/gmx:Anchor[string(@xlink:href)]">
+            <Field name="{$fieldPrefix}UseLimitation"
+                   string="{concat('link|',string(@xlink:href), '|', string(.))}" store="true" index="true"/>
+        </xsl:for-each>
+      </xsl:for-each>
+
+      <!-- Index aggregation info and provides option to query by type of association
+              and type of initiative
+
+      Aggregation info is indexed by adding the following fields to the index:
+       * agg_use: boolean
+       * agg_with_association: {$associationType}
+       * agg_{$associationType}: {$code}
+       * agg_{$associationType}_with_initiative: {$initiativeType}
+       * agg_{$associationType}_{$initiativeType}: {$code}
+
+          Sample queries:
+           * Search for records with siblings: http://localhost:8080/geonetwork/srv/fre/q?agg_use=true
+           * Search for records having a crossReference with another record:
+           http://localhost:8080/geonetwork/srv/fre/q?agg_crossReference=23f0478a-14ba-4a24-b365-8be88d5e9e8c
+           * Search for records having a crossReference with another record:
+           http://localhost:8080/geonetwork/srv/fre/q?agg_crossReference=23f0478a-14ba-4a24-b365-8be88d5e9e8c
+           * Search for records having a crossReference of type "study" with another record:
+           http://localhost:8080/geonetwork/srv/fre/q?agg_crossReference_study=23f0478a-14ba-4a24-b365-8be88d5e9e8c
+           * Search for records having a crossReference of type "study":
+           http://localhost:8080/geonetwork/srv/fre/q?agg_crossReference_with_initiative=study
+           * Search for records having a "crossReference" :
+           http://localhost:8080/geonetwork/srv/fre/q?agg_with_association=crossReference
+      -->
+      <xsl:for-each select="gmd:aggregationInfo/gmd:MD_AggregateInformation">
+        <xsl:variable name="code" select="gmd:aggregateDataSetIdentifier/gmd:MD_Identifier/gmd:code/gco:CharacterString|
+                                                  gmd:aggregateDataSetIdentifier/gmd:RS_Identifier/gmd:code/gco:CharacterString"/>
+        <xsl:if test="$code != ''">
+          <xsl:variable name="associationType"
+                        select="gmd:associationType/gmd:DS_AssociationTypeCode/@codeListValue"/>
+          <xsl:variable name="initiativeType"
+                        select="gmd:initiativeType/gmd:DS_InitiativeTypeCode/@codeListValue"/>
+
+          <Field name="agg_{$associationType}_{$initiativeType}" string="{$code}" store="false"
+                 index="true"/>
+          <Field name="agg_{$associationType}_with_initiative" string="{$initiativeType}"
+                 store="false" index="true"/>
+          <Field name="agg_{$associationType}" string="{$code}" store="true" index="true"/>
+          <Field name="agg_associated" string="{$code}" store="false" index="true"/>
+          <Field name="agg_with_association" string="{$associationType}" store="false"
+                 index="true"/>
+          <Field name="agg_use" string="true" store="false" index="true"/>
+        </xsl:if>
+      </xsl:for-each>
+
+      <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+      <!--  Fields use to search on Service -->
+
+      <xsl:for-each select="srv:serviceType/gco:LocalName">
+        <Field name="serviceType" string="{string(.)}" store="true" index="true"/>
+        <Field  name="type" string="service-{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <xsl:for-each select="srv:serviceTypeVersion/gco:CharacterString">
+        <Field name="serviceTypeVersion" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <xsl:for-each select="//srv:SV_OperationMetadata/srv:operationName/gco:CharacterString">
+        <Field name="operation" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <xsl:for-each select="srv:operatesOn/@uuidref">
+        <Field name="operatesOn" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <xsl:for-each select="srv:operatesOn/@xlink:href">
+        <Field name="operatesOn" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+
+      <xsl:for-each select="srv:coupledResource">
+        <xsl:for-each select="srv:SV_CoupledResource/srv:identifier/gco:CharacterString">
+          <Field name="operatesOnIdentifier" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+
+        <xsl:for-each select="srv:SV_CoupledResource/srv:operationName/gco:CharacterString">
+          <Field name="operatesOnName" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+      </xsl:for-each>
+
+      <xsl:for-each
+        select="gmd:graphicOverview/gmd:MD_BrowseGraphic[normalize-space(gmd:fileName/gco:CharacterString) != '']">
+        <xsl:variable name="fileName" select="gmd:fileName/gco:CharacterString"/>
+        <xsl:variable name="fileDescr" select="gmd:fileDescription/gco:CharacterString"/>
+        <xsl:variable name="thumbnailType"
+                      select="if (position() = 1) then 'thumbnail' else 'overview'"/>
+        <!-- First thumbnail is flagged as thumbnail and could be considered the main one -->
+        <Field name="image"
+               string="{concat($thumbnailType, '|', $fileName, '|', $fileDescr)}"
+               store="true" index="false"/>
+      </xsl:for-each>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- === Distribution === -->
+
+    <xsl:for-each select="gmd:distributionInfo/gmd:MD_Distribution">
+      <xsl:for-each select="gmd:distributionFormat/gmd:MD_Format/gmd:name/gco:CharacterString">
+        <Field name="format" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <!-- index online protocol -->
+      <xsl:for-each select="gmd:transferOptions/gmd:MD_DigitalTransferOptions">
+        <xsl:variable name="tPosition" select="position()"></xsl:variable>
+        <xsl:for-each select="gmd:onLine/gmd:CI_OnlineResource[gmd:linkage/gmd:URL!='']">
+          <xsl:variable name="download_check">
+            <xsl:text>&amp;fname=&amp;access</xsl:text>
+          </xsl:variable>
+          <xsl:variable name="linkage" select="gmd:linkage/gmd:URL"/>
+          <xsl:variable name="title"
+                        select="normalize-space(gmd:name/gco:CharacterString|gmd:name/gmx:MimeFileType)"/>
+          <xsl:variable name="desc" select="normalize-space(gmd:description/gco:CharacterString)"/>
+          <xsl:variable name="protocol" select="normalize-space(gmd:protocol/gco:CharacterString)"/>
+          <xsl:variable name="mimetype"
+                        select="geonet:protocolMimeType($linkage, $protocol, gmd:name/gmx:MimeFileType/@type)"/>
+
+          <!-- If the linkage points to WMS service and no protocol specified, manage as protocol OGC:WMS -->
+          <xsl:variable name="wmsLinkNoProtocol"
+                        select="contains(lower-case($linkage), 'service=wms') and not(string($protocol))"/>
+
+          <!-- ignore empty downloads -->
+          <xsl:if test="string($linkage)!='' and not(contains($linkage,$download_check))">
+            <Field name="protocol" string="{string($protocol)}" store="true" index="true"/>
+          </xsl:if>
+
+          <xsl:if
+            test="string($title)!='' and string($desc)!='' and not(contains($linkage,$download_check))">
+            <Field name="linkage_name_des" string="{string(concat($title, ':::', $desc))}"
+                   store="true" index="true"/>
+          </xsl:if>
+
+          <xsl:if test="normalize-space($mimetype)!=''">
+            <Field name="mimetype" string="{$mimetype}" store="true" index="true"/>
+          </xsl:if>
+
+          <xsl:if test="contains($protocol, 'WWW:DOWNLOAD')">
+            <Field name="download" string="true" store="false" index="true"/>
+          </xsl:if>
+
+          <xsl:if test="contains($protocol, 'OGC:WMS') or $wmsLinkNoProtocol">
+            <Field name="dynamic" string="true" store="false" index="true"/>
+          </xsl:if>
+
+          <!-- ignore WMS links without protocol (are indexed below with mimetype application/vnd.ogc.wms_xml) -->
+          <xsl:if test="not($wmsLinkNoProtocol)">
+            <Field name="link"
+                   string="{concat($title, '|', $desc, '|', $linkage, '|', $protocol, '|', $mimetype, '|', $tPosition)}"
+                   store="true" index="false"/>
+          </xsl:if>
+
+          <!-- Add KML link if WMS -->
+          <xsl:if
+            test="starts-with($protocol,'OGC:WMS') and string($linkage)!='' and string($title)!=''">
+            <!-- FIXME : relative path -->
+            <Field name="link" string="{concat($title, '|', $desc, '|',
+                                                '../../srv/en/google.kml?uuid=', /gmd:MD_Metadata/gmd:fileIdentifier/gco:CharacterString, '&amp;layers=', $title,
+                                                '|application/vnd.google-earth.kml+xml|application/vnd.google-earth.kml+xml', '|', $tPosition)}"
+                   store="true" index="false"/>
+          </xsl:if>
+
+          <!-- Try to detect Web Map Context by checking protocol or file extension -->
+          <xsl:if test="starts-with($protocol,'OGC:WMC') or contains($linkage,'.wmc')">
+            <Field name="link" string="{concat($title, '|', $desc, '|',
+                                                $linkage, '|application/vnd.ogc.wmc|application/vnd.ogc.wmc', '|', $tPosition)}"
+                   store="true" index="false"/>
+          </xsl:if>
+          <!-- Try to detect OWS Context by checking protocol or file extension -->
+          <xsl:if test="starts-with($protocol,'OGC:OWS-C') or contains($linkage,'.ows')">
+            <Field name="link" string="{concat($title, '|', $desc, '|',
+                                                $linkage, '|application/vnd.ogc.ows|application/vnd.ogc.ows', '|', $tPosition)}"
+                   store="true" index="false"/>
+          </xsl:if>
+
+          <xsl:if test="$wmsLinkNoProtocol">
+            <Field name="link" string="{concat($title, '|', $desc, '|',
+                                                $linkage, '|OGC:WMS|application/vnd.ogc.wms_xml', '|', $tPosition)}"
+                   store="true" index="false"/>
+          </xsl:if>
+        </xsl:for-each>
+      </xsl:for-each>
+
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- === Content info === -->
+    <xsl:for-each select="gmd:contentInfo/*/gmd:featureCatalogueCitation[@uuidref]">
+      <Field name="hasfeaturecat" string="{string(@uuidref)}" store="false" index="true"/>
+    </xsl:for-each>
+
+    <!-- === Data Quality  === -->
+    <xsl:for-each select="gmd:dataQualityInfo/*/gmd:lineage//gmd:source[@uuidref]">
+      <Field name="hassource" string="{string(@uuidref)}" store="false" index="true"/>
+    </xsl:for-each>
+
+    <xsl:for-each select="gmd:dataQualityInfo/*/gmd:report/*/gmd:result">
+      <xsl:if test="$inspire='true'">
+        <!--
+            INSPIRE related dataset could contains a conformity section with:
+            * COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services
+            * INSPIRE Data Specification on <Theme Name> - <version>
+            * INSPIRE Specification on <Theme Name> - <version> for CRS and GRID
+
+            Index those types of citation title to found dataset related to INSPIRE (which may be better than keyword
+            which are often used for other types of datasets).
+
+            "1089/2010" is maybe too fuzzy but could work for translated citation like "Règlement n°1089/2010, Annexe II-6" TODO improved
+        -->
+        <xsl:if test="(
+                                contains(gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title/gco:CharacterString, '1089/2010') or
+                                contains(gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title/gco:CharacterString, 'INSPIRE Data Specification') or
+                                contains(gmd:DQ_ConformanceResult/gmd:specification/gmd:CI_Citation/gmd:title/gco:CharacterString, 'INSPIRE Specification'))">
+          <Field name="inspirerelated" string="on" store="false" index="true"/>
+        </xsl:if>
+      </xsl:if>
+
+      <xsl:for-each select="//gmd:pass/gco:Boolean">
+        <Field name="degree" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <xsl:for-each select="//gmd:specification/*/gmd:title/gco:CharacterString">
+        <Field name="specificationTitle" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+
+      <xsl:for-each select="//gmd:specification/*/gmd:date/*/gmd:date">
+        <Field name="specificationDate" string="{string(gco:Date[.!='']|gco:DateTime[.!=''])}"
+               store="true" index="true"/>
+      </xsl:for-each>
+
+      <xsl:for-each
+        select="//gmd:specification/*/gmd:date/*/gmd:dateType/gmd:CI_DateTypeCode/@codeListValue">
+        <Field name="specificationDateType" string="{string(.)}" store="true" index="true"/>
+      </xsl:for-each>
+    </xsl:for-each>
+
+    <xsl:for-each select="gmd:dataQualityInfo/*/gmd:lineage/*/gmd:statement/gco:CharacterString">
+      <Field name="lineage" string="{string(.)}" store="true" index="true"/>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- === General stuff === -->
+    <!-- Metadata type  -->
+
+    <!-- Metadata on maps -->
+    <xsl:variable name="isDataset"
+                  select="
+                  count(gmd:hierarchyLevel[gmd:MD_ScopeCode/@codeListValue='dataset']) > 0 or
+                  count(gmd:hierarchyLevel) = 0"/>
+
+    <xsl:variable name="isMapDigital" select="count(gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/
+                        gmd:presentationForm[gmd:CI_PresentationFormCode/@codeListValue = 'mapDigital']) > 0"/>
+    <xsl:variable name="isStatic" select="count(gmd:distributionInfo/gmd:MD_Distribution/
+                        gmd:distributionFormat/gmd:MD_Format/gmd:name/gco:CharacterString[contains(., 'PDF') or contains(., 'PNG') or contains(., 'JPEG')]) > 0"/>
+    <xsl:variable name="isInteractive" select="count(gmd:distributionInfo/gmd:MD_Distribution/
+                        gmd:distributionFormat/gmd:MD_Format/gmd:name/gco:CharacterString[contains(., 'OGC:WMC') or contains(., 'OGC:OWS-C')]) > 0"/>
+    <xsl:variable name="isPublishedWithWMCProtocol" select="count(gmd:distributionInfo/gmd:MD_Distribution/
+                        gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource/gmd:protocol[starts-with(gco:CharacterString, 'OGC:WMC')]) > 0"/>
+
+    <xsl:choose>
+      <xsl:when test="$isDataset and $isMapDigital and
+                            ($isStatic or $isInteractive or $isPublishedWithWMCProtocol)">
+        <Field name="type" string="map" store="true" index="true"/>
+        <xsl:choose>
+          <xsl:when test="$isStatic">
+            <Field name="type" string="staticMap" store="true" index="true"/>
+          </xsl:when>
+          <xsl:when test="$isInteractive or $isPublishedWithWMCProtocol">
+            <Field name="type" string="interactiveMap" store="true" index="true"/>
+          </xsl:when>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:when test="$isDataset">
+        <Field name="type" string="dataset" store="true" index="true"/>
+      </xsl:when>
+      <xsl:when test="gmd:hierarchyLevel">
+        <xsl:for-each select="gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue[.!='']">
+          <Field name="type" string="{string(.)}" store="true" index="true"/>
+        </xsl:for-each>
+      </xsl:when>
+    </xsl:choose>
+
+
+    <xsl:choose>
+      <!-- Check if metadata is a service metadata record -->
+      <xsl:when test="gmd:identificationInfo/srv:SV_ServiceIdentification">
+        <Field name="type" string="service" store="false" index="true"/>
+      </xsl:when>
+      <!-- <xsl:otherwise>
+      ... gmd:*_DataIdentification / hierachicalLevel is used and return dataset, serie, ...
+      </xsl:otherwise>-->
+    </xsl:choose>
+
+<!-- ALK : différenciation des services et cartes -->
+      <xsl:choose>
+       <xsl:when test="gmd:identificationInfo/srv:SV_ServiceIdentification">
+        <xsl:choose>
+          <xsl:when test="gmd:identificationInfo/srv:SV_ServiceIdentification/srv:serviceType/gco:LocalName='invoke'">
+            <xsl:choose>
+              <xsl:when test="count(gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString[contains(., 'infoChartAccessService')]) > 0">
+                <Field name="type" string="chart" store="true" index="true"/>
+              </xsl:when>
+              <xsl:otherwise>
+                <Field name="type" string="map" store="true" index="true"/>
+              </xsl:otherwise>
+            </xsl:choose>
+        </xsl:when>
+          <xsl:otherwise>
+            <Field name="type" string="service" store="false" index="true"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+       <!-- <xsl:otherwise>
+        ... gmd:*_DataIdentification / hierachicalLevel is used and return dataset, serie, ... 
+        </xsl:otherwise>-->
+      </xsl:choose>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <xsl:for-each select="gmd:hierarchyLevelName/gco:CharacterString">
+      <Field name="levelName" string="{string(.)}" store="false" index="true"/>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <xsl:for-each select="gmd:language/gco:CharacterString
+                        |gmd:language/gmd:LanguageCode/@codeListValue
+                        |gmd:locale/gmd:PT_Locale/gmd:languageCode/gmd:LanguageCode/@codeListValue">
+      <Field name="language" string="{string(.)}" store="true" index="true"/>
+      <Field name="mdLanguage" string="{string(.)}" store="true" index="true"/>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <xsl:for-each select="gmd:fileIdentifier/gco:CharacterString">
+      <Field name="fileId" string="{string(.)}" store="false" index="true"/>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <xsl:for-each select="gmd:parentIdentifier/gco:CharacterString">
+      <Field name="parentUuid" string="{string(.)}" store="true" index="true"/>
+    </xsl:for-each>
+    <Field name="isChild" string="{exists(gmd:parentIdentifier)}" store="true" index="true"/>
+
+
+    <xsl:for-each select="gmd:metadataStandardName/gco:CharacterString">
+      <Field name="standardName" string="{string(.)}" store="true" index="true"/>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <xsl:for-each select="gmd:dateStamp/*">
+      <Field name="changeDate" string="{string(.)}" store="true" index="true"/>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <xsl:for-each select="gmd:contact">
+      <Field name="metadataPOC"
+             string="{string(*/gmd:organisationName/(gco:CharacterString|gmx:Anchor))}"
+             store="true" index="true"/>
+      <xsl:apply-templates mode="index-contact" select="*">
+        <xsl:with-param name="type" select="'metadata'"/>
+        <xsl:with-param name="fieldPrefix" select="'responsibleParty'"/>
+        <xsl:with-param name="position" select="position()"/>
+      </xsl:apply-templates>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- === Reference system info === -->
+
+    <xsl:for-each select="gmd:referenceSystemInfo/gmd:MD_ReferenceSystem">
+        <xsl:for-each select="gmd:referenceSystemIdentifier/gmd:RS_Identifier">
+            <xsl:variable name="crs">
+                <xsl:for-each select="gmd:codeSpace/gco:CharacterString/text() | gmd:code/gco:CharacterString/text()">
+                    <xsl:value-of select="."/>
+                    <xsl:if test="not(position() = last())">::</xsl:if>
+                </xsl:for-each>
+            </xsl:variable>
+
+            <xsl:if test="$crs != ''">
+                <Field name="crs" string="{$crs}" store="true" index="true"/>
+            </xsl:if>
+        </xsl:for-each>
+    </xsl:for-each>
+
+    <xsl:for-each select="gmd:referenceSystemInfo/gmd:MD_ReferenceSystem">
+      <xsl:for-each select="gmd:referenceSystemIdentifier/gmd:RS_Identifier">
+        <Field name="authority" string="{string(gmd:codeSpace/gco:CharacterString)}" store="false"
+               index="true"/>
+        <Field name="crsCode" string="{string(gmd:code/gco:CharacterString)}" store="false"
+               index="true"/>
+        <Field name="crsVersion" string="{string(gmd:version/gco:CharacterString)}" store="false"
+               index="true"/>
+      </xsl:for-each>
+    </xsl:for-each>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- === Free text search === -->
+
+    <Field name="any" store="false" index="true">
+      <xsl:attribute name="string">
+        <xsl:value-of select="normalize-space(string(.))"/>
+        <xsl:text> </xsl:text>
+        <xsl:for-each select="//@codeListValue">
+          <xsl:value-of select="concat(., ' ')"/>
+        </xsl:for-each>
+      </xsl:attribute>
+    </Field>
+
+    <xsl:variable name="identification" select="gmd:identificationInfo//gmd:MD_DataIdentification|
+                        gmd:identificationInfo//*[contains(@gco:isoType, 'MD_DataIdentification')]|
+                        gmd:identificationInfo/srv:SV_ServiceIdentification"/>
+
+
+    <Field name="anylight" store="false" index="true">
+      <xsl:attribute name="string">
+        <xsl:for-each
+          select="$identification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString|
+                    $identification/gmd:citation/gmd:CI_Citation/gmd:alternateTitle/gco:CharacterString|
+                    $identification/gmd:abstract/gco:CharacterString|
+                    $identification/gmd:credit/gco:CharacterString|
+                    $identification//gmd:organisationName/gco:CharacterString|
+                    $identification/gmd:supplementalInformation/gco:CharacterString|
+                    $identification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString|
+                    $identification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gmx:Anchor">
+          <xsl:value-of select="concat(., ' ')"/>
+        </xsl:for-each>
+      </xsl:attribute>
+    </Field>
+
+
+    <!-- Index all codelist -->
+    <xsl:for-each select=".//*[*/@codeListValue != '']">
+      <Field name="cl_{local-name()}"
+             string="{*/@codeListValue}"
+             store="true" index="true"/>
+      <Field name="cl_{concat(local-name(), '_text')}"
+             string="{util:getCodelistTranslation(name(*), string(*/@codeListValue), string($isoLangId))}"
+             store="true" index="true"/>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <xsl:template mode="index-contact" match="gmd:CI_ResponsibleParty|*[@gco:isoType = 'gmd:CI_ResponsibleParty']">
+    <xsl:param name="type"/>
+    <xsl:param name="fieldPrefix"/>
+    <xsl:param name="position" select="'0'"/>
+
+    <xsl:variable name="orgName" select="gmd:organisationName/(gco:CharacterString|gmx:Anchor)"/>
+
+    <Field name="orgName" string="{string($orgName)}" store="true" index="true"/>
+    <Field name="orgNameTree" string="{string($orgName)}" store="true" index="true"/>
+
+    <xsl:variable name="uuid" select="@uuid"/>
+    <xsl:variable name="role" select="gmd:role/*/@codeListValue"/>
+    <xsl:variable name="roleTranslation"
+                  select="util:getCodelistTranslation('gmd:CI_RoleCode', string($role), string($isoLangId))"/>
+    <xsl:variable name="logo" select=".//gmx:FileName/@src"/>
+    <xsl:variable name="email"
+                  select="gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/gco:CharacterString"/>
+    <xsl:variable name="phone"
+                  select="gmd:contactInfo/*/gmd:phone/*/gmd:voice[normalize-space(.) != '']/*/text()"/>
+    <xsl:variable name="individualName"
+                  select="gmd:individualName/gco:CharacterString/text()"/>
+    <xsl:variable name="positionName"
+                  select="gmd:positionName/gco:CharacterString/text()"/>
+    <xsl:variable name="address" select="string-join(gmd:contactInfo/*/gmd:address/*/(
+                                        gmd:deliveryPoint|gmd:postalCode|gmd:city|
+                                        gmd:administrativeArea|gmd:country)/gco:CharacterString/text(), ', ')"/>
+
+    <Field name="{$fieldPrefix}"
+           string="{concat($roleTranslation, '|', $type,'|',
+                             $orgName, '|',
+                             $logo, '|',
+                             string-join($email, ','), '|',
+                             $individualName, '|',
+                             $positionName, '|',
+                             $address, '|',
+                             string-join($phone, ','), '|',
+                             $uuid, '|',
+                             $position)}"
+           store="true" index="false"/>
+
+    <xsl:for-each select="$email">
+      <Field name="{$fieldPrefix}Email" string="{string(.)}" store="true" index="true"/>
+      <Field name="{$fieldPrefix}RoleAndEmail" string="{$role}|{string(.)}" store="true" index="true"/>
+    </xsl:for-each>
+    <xsl:for-each select="@uuid">
+      <Field name="{$fieldPrefix}Uuid" string="{string(.)}" store="true" index="true"/>
+      <Field name="{$fieldPrefix}RoleAndUuid" string="{$role}|{string(.)}" store="true" index="true"/>
+    </xsl:for-each>
+  </xsl:template>
+
+  <!-- ========================================================================================= -->
+
+  <!-- inspireThemes is a nodeset consisting of skos:Concept elements -->
+  <!-- each containing a skos:definition and skos:prefLabel for each language -->
+  <!-- This template finds the provided keyword in the skos:prefLabel elements and
+  returns the English one from the same skos:Concept -->
+  <xsl:template name="translateInspireThemeToEnglish">
+    <xsl:param name="keyword"/>
+    <xsl:param name="inspireThemes"/>
+
+    <xsl:value-of
+      select="$inspireThemes/skos:prefLabel[@xml:lang='en' and ../skos:prefLabel = $keyword]/text()"/>
+  </xsl:template>
+
+  <xsl:template name="getInspireThemeAcronym">
+    <xsl:param name="keyword"/>
+
+    <xsl:value-of select="$inspire-theme/skos:altLabel[../skos:prefLabel = $keyword]/text()"/>
+  </xsl:template>
+
+  <xsl:template name="determineInspireAnnex">
+    <xsl:param name="keyword"/>
+    <xsl:param name="inspireThemes"/>
+    <xsl:variable name="englishKeywordMixedCase">
+      <xsl:call-template name="translateInspireThemeToEnglish">
+        <xsl:with-param name="keyword" select="$keyword"/>
+        <xsl:with-param name="inspireThemes" select="$inspireThemes"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="englishKeyword" select="lower-case($englishKeywordMixedCase)"/>
+    <!-- Another option could be to add the annex info in the SKOS thesaurus using something
+    like a related concept. -->
+    <xsl:choose>
+      <!-- annex i -->
+      <xsl:when test="$englishKeyword='coordinate reference systems' or $englishKeyword='geographical grid systems'
+                                    or $englishKeyword='geographical names' or $englishKeyword='administrative units'
+                                    or $englishKeyword='addresses' or $englishKeyword='cadastral parcels'
+                                    or $englishKeyword='transport networks' or $englishKeyword='hydrography'
+                                    or $englishKeyword='protected sites'">
+        <xsl:text>i</xsl:text>
+      </xsl:when>
+      <!-- annex ii -->
+      <xsl:when test="$englishKeyword='elevation' or $englishKeyword='land cover'
+                                    or $englishKeyword='orthoimagery' or $englishKeyword='geology'">
+        <xsl:text>ii</xsl:text>
+      </xsl:when>
+      <!-- annex iii -->
+      <xsl:when test="$englishKeyword='statistical units' or $englishKeyword='buildings'
+                                    or $englishKeyword='soil' or $englishKeyword='land use'
+                                    or $englishKeyword='human health and safety' or $englishKeyword='utility and governmental services'
+                                    or $englishKeyword='environmental monitoring facilities' or $englishKeyword='production and industrial facilities'
+                                    or $englishKeyword='agricultural and aquaculture facilities' or $englishKeyword='population distribution — demography'
+                                    or $englishKeyword='area management/restriction/regulation zones and reporting units'
+                                    or $englishKeyword='natural risk zones' or $englishKeyword='atmospheric conditions'
+                                    or $englishKeyword='meteorological geographical features' or $englishKeyword='oceanographic geographical features'
+                                    or $englishKeyword='sea regions' or $englishKeyword='bio-geographical regions'
+                                    or $englishKeyword='habitats and biotopes' or $englishKeyword='species distribution'
+                                    or $englishKeyword='energy resources' or $englishKeyword='mineral resources'">
+        <xsl:text>iii</xsl:text>
+      </xsl:when>
+      <!-- inspire annex cannot be established: leave empty -->
+    </xsl:choose>
+  </xsl:template>
+</xsl:stylesheet>
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/layout/layout-custom-fields-keywords.xsl b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/layout/layout-custom-fields-keywords.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..c2ba2d09cda7d1c8f3a834492f8f99e71ecf4990
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/layout/layout-custom-fields-keywords.xsl
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:gmd="http://www.isotc211.org/2005/gmd"
+                xmlns:gco="http://www.isotc211.org/2005/gco"
+                xmlns:gmx="http://www.isotc211.org/2005/gmx"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                xmlns:xlink="http://www.w3.org/1999/xlink"
+                xmlns:gn="http://www.fao.org/geonetwork"
+                xmlns:xslutil="java:org.fao.geonet.util.XslUtil"
+                xmlns:gn-fn-metadata="http://geonetwork-opensource.org/xsl/functions/metadata"
+                xmlns:java="java:org.fao.geonet.util.XslUtil"
+                version="2.0"
+                exclude-result-prefixes="#all">
+
+  <!-- Custom rendering of keyword section
+    * gmd:descriptiveKeywords is boxed element and the title
+    of the fieldset is the thesaurus title
+    * if the thesaurus is available in the catalog, display
+    the advanced editor which provides easy selection of
+    keywords.
+
+  -->
+
+
+  <xsl:template mode="mode-iso19139" priority="2000"
+                match="gmd:descriptiveKeywords">
+    <xsl:param name="schema" select="$schema" required="no"/>
+    <xsl:param name="labels" select="$labels" required="no"/>
+    <xsl:param name="overrideLabel" select="''" required="no"/>
+
+    <xsl:variable name="xpath" select="gn-fn-metadata:getXPath(.)"/>
+    <xsl:variable name="isoType" select="if (../@gco:isoType) then ../@gco:isoType else ''"/>
+    <xsl:variable name="thesaurusTitleEl"
+                  select="gmd:MD_Keywords/gmd:thesaurusName/gmd:CI_Citation/gmd:title"/>
+    
+    <!--Add all Thesaurus as first block of keywords-->
+    <xsl:if test="name(preceding-sibling::*[1]) != name()">
+      <xsl:call-template name="addAllThesaurus">
+        <xsl:with-param name="ref" select="../gn:element/@ref"/>
+      </xsl:call-template>
+    </xsl:if>
+
+    <xsl:variable name="thesaurusTitle">
+      <xsl:choose>
+        <xsl:when test="normalize-space($thesaurusTitleEl/gco:CharacterString) != ''">
+          <xsl:value-of select="if ($overrideLabel != '')
+              then $overrideLabel
+              else concat(
+                      $iso19139strings/keywordFrom,
+                      normalize-space($thesaurusTitleEl/gco:CharacterString))"/>
+        </xsl:when>
+        <xsl:when test="normalize-space($thesaurusTitleEl/gmd:PT_FreeText/
+                          gmd:textGroup/gmd:LocalisedCharacterString[
+                            @locale = concat('#', upper-case(xslutil:twoCharLangCode($lang)))][1]) != ''">
+          <xsl:value-of
+            select="$thesaurusTitleEl/gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString[@locale = concat('#', upper-case(xslutil:twoCharLangCode($lang)))][1]"/>
+        </xsl:when>
+        <xsl:when test="$thesaurusTitleEl/gmd:PT_FreeText/
+                          gmd:textGroup/gmd:LocalisedCharacterString[
+                            normalize-space(text()) != ''][1]">
+          <xsl:value-of select="$thesaurusTitleEl/gmd:PT_FreeText/gmd:textGroup/
+                                  gmd:LocalisedCharacterString[normalize-space(text()) != ''][1]"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="gmd:MD_Keywords/gmd:thesaurusName/
+                                  gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:code"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="attributes">
+      <xsl:if test="$isEditing">
+        <!-- Create form for all existing attribute (not in gn namespace)
+        and all non existing attributes not already present. -->
+        <xsl:apply-templates mode="render-for-field-for-attribute"
+                             select="
+          @*|
+          gn:attribute[not(@name = parent::node()/@*/name())]">
+          <xsl:with-param name="ref" select="gn:element/@ref"/>
+          <xsl:with-param name="insertRef" select="gn:element/@ref"/>
+        </xsl:apply-templates>
+      </xsl:if>
+    </xsl:variable>
+
+
+    <xsl:variable name="thesaurusIdentifier"
+                  select="normalize-space(*/gmd:thesaurusName/gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:code/*/text())"/>
+
+    <xsl:variable name="thesaurusConfig"
+                  as="element()?"
+                  select="if ($thesaurusList/thesaurus[@key=substring-after($thesaurusIdentifier, 'geonetwork.thesaurus.')])
+                          then $thesaurusList/thesaurus[@key=substring-after($thesaurusIdentifier, 'geonetwork.thesaurus.')]
+                          else $listOfThesaurus/thesaurus[title=$thesaurusTitle]"/>
+
+    <xsl:choose>
+      <xsl:when test="$thesaurusConfig/@fieldset = 'false'">
+        <xsl:apply-templates mode="mode-iso19139" select="*">
+          <xsl:with-param name="schema" select="$schema"/>
+          <xsl:with-param name="labels" select="$labels"/>
+        </xsl:apply-templates>
+      </xsl:when>
+      <xsl:otherwise>
+
+        <xsl:call-template name="render-boxed-element">
+          <xsl:with-param name="label"
+                          select="if ($thesaurusTitle !='')
+                    then $thesaurusTitle
+                    else gn-fn-metadata:getLabel($schema, name(), $labels, name(..), $isoType, $xpath)/label"/>
+          <xsl:with-param name="editInfo" select="gn:element"/>
+          <xsl:with-param name="cls" select="local-name()"/>
+          <xsl:with-param name="xpath" select="$xpath"/>
+          <xsl:with-param name="attributesSnippet" select="$attributes"/>
+          <xsl:with-param name="subTreeSnippet">
+            <xsl:apply-templates mode="mode-iso19139" select="*">
+              <xsl:with-param name="schema" select="$schema"/>
+              <xsl:with-param name="labels" select="$labels"/>
+            </xsl:apply-templates>
+          </xsl:with-param>
+        </xsl:call-template>
+    </xsl:otherwise>
+  </xsl:choose>
+
+  </xsl:template>
+
+
+  <xsl:template mode="mode-iso19139" match="gmd:MD_Keywords" priority="2000">
+
+
+    <xsl:variable name="thesaurusIdentifier"
+                 select="normalize-space(gmd:thesaurusName/gmd:CI_Citation/gmd:identifier/gmd:MD_Identifier/gmd:code/*/text())"/>
+
+    <xsl:variable name="thesaurusTitle"
+                  select="gmd:thesaurusName/gmd:CI_Citation/gmd:title/(gco:CharacterString|gmd:PT_FreeText/gmd:textGroup/gmd:LocalisedCharacterString)"/>
+
+
+    <xsl:variable name="thesaurusConfig"
+                  as="element()?"
+                  select="if ($thesaurusList/thesaurus[@key=substring-after($thesaurusIdentifier, 'geonetwork.thesaurus.')])
+                          then $thesaurusList/thesaurus[@key=substring-after($thesaurusIdentifier, 'geonetwork.thesaurus.')]
+                           else $listOfThesaurus/thesaurus[title=$thesaurusTitle]"/>
+
+    <xsl:choose>
+      <xsl:when test="$thesaurusConfig">
+
+        <!-- The thesaurus key may be contained in the MD_Identifier field or
+          get it from the list of thesaurus based on its title.
+          -->
+        <xsl:variable name="thesaurusInternalKey"
+                      select="if ($thesaurusIdentifier)
+          then $thesaurusIdentifier
+          else $thesaurusConfig/key"/>
+        <xsl:variable name="thesaurusKey"
+                      select="if (starts-with($thesaurusInternalKey, 'geonetwork.thesaurus.'))
+                      then substring-after($thesaurusInternalKey, 'geonetwork.thesaurus.')
+                      else $thesaurusInternalKey"/>
+
+        <!-- if gui lang eng > #EN -->
+        <xsl:variable name="guiLangId"
+                      select="
+                      if (count($metadata/gmd:locale/gmd:PT_Locale[gmd:languageCode/gmd:LanguageCode/@codeListValue = $lang]) = 1)
+                        then $metadata/gmd:locale/gmd:PT_Locale[gmd:languageCode/gmd:LanguageCode/@codeListValue = $lang]/@id
+                        else $metadata/gmd:locale/gmd:PT_Locale[gmd:languageCode/gmd:LanguageCode/@codeListValue = $metadataLanguage]/@id"/>
+
+        <!--
+        get keyword in gui lang
+        in default language
+        -->
+        <xsl:variable name="keywords" select="string-join(
+                  if ($guiLangId and gmd:keyword//*[@locale = concat('#', $guiLangId)]) then
+                    gmd:keyword//*[@locale = concat('#', $guiLangId)]/replace(text(), ',', ',,')
+                  else gmd:keyword/*[1]/replace(text(), ',', ',,'), ',')"/>
+
+        <!-- Define the list of transformation mode available. -->
+        <xsl:variable name="transformations"
+                      as="xs:string"
+                      select="if ($thesaurusConfig/@transformations != '')
+                              then $thesaurusConfig/@transformations
+                              else 'to-iso19139-keyword,to-iso19139-keyword-with-anchor,to-iso19139-keyword-as-xlink'"/>
+
+        <!-- Get current transformation mode based on XML fragment analysis -->
+        <xsl:variable name="transformation"
+                      select="if (parent::node()/@xlink:href) then 'to-iso19139-keyword-as-xlink'
+          else if (count(gmd:keyword/gmx:Anchor) > 0)
+          then 'to-iso19139-keyword-with-anchor'
+          else 'to-iso19139-keyword'"/>
+
+        <xsl:variable name="parentName" select="name(..)"/>
+
+        <!-- Create custom widget:
+              * '' for item selector,
+              * 'tagsinput' for tags
+              * 'tagsinput' and maxTags = 1 for only one tag
+              * 'multiplelist' for multiple selection list
+        -->
+        <xsl:variable name="widgetMode" select="'tagsinput'"/>
+        <xsl:variable name="maxTags"
+                      as="xs:string"
+                      select="if ($thesaurusConfig/@maxtags)
+                              then $thesaurusConfig/@maxtags
+                              else ''"/>
+        <xsl:variable name="orderById"
+                      as="xs:string"
+                      select="if ($thesaurusConfig/@orderById)
+                              then $thesaurusConfig/@orderById
+                              else 'false'"/>
+        <!--
+          Example: to restrict number of keyword to 1 for INSPIRE
+          <xsl:variable name="maxTags"
+          select="if ($thesaurusKey = 'external.theme.inspire-theme') then '1' else ''"/>
+        -->
+        <!-- Create a div with the directive configuration
+            * elementRef: the element ref to edit
+            * elementName: the element name
+            * thesaurusName: the thesaurus title to use
+            * thesaurusKey: the thesaurus identifier
+            * keywords: list of keywords in the element
+            * transformations: list of transformations
+            * transformation: current transformation
+          -->
+
+        <xsl:variable name="allLanguages"
+                      select="concat($metadataLanguage, ',', $metadataOtherLanguages)"/>
+        <div data-gn-keyword-selector="{$widgetMode}"
+             data-metadata-id="{$metadataId}"
+             data-element-ref="{concat('_X', ../gn:element/@ref, '_replace')}"
+             data-thesaurus-title="{if ($thesaurusConfig/@fieldset = 'false') then $thesaurusTitle else ''}"
+             data-thesaurus-key="{$thesaurusKey}"
+             data-keywords="{$keywords}" 
+             data-transformations="{$transformations}"
+             data-current-transformation="{$transformation}"
+             data-max-tags="{$maxTags}"
+             data-order-by-id="{$orderById}"
+             data-lang="{$metadataOtherLanguagesAsJson}"
+             data-textgroup-only="false">
+        </div>
+
+        <xsl:variable name="isTypePlace"
+                      select="count(gmd:type/gmd:MD_KeywordTypeCode[@codeListValue='place']) > 0"/>
+        <xsl:if test="$isTypePlace">
+          <xsl:call-template name="render-batch-process-button">
+            <xsl:with-param name="process-name" select="'add-extent-from-geokeywords'"/>
+            <xsl:with-param name="process-params">{"replace": true}</xsl:with-param>
+          </xsl:call-template>
+        </xsl:if>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates mode="mode-iso19139" select="*"/>
+      </xsl:otherwise>
+    </xsl:choose>
+
+  </xsl:template>
+
+
+  <xsl:template name="addAllThesaurus">
+    <xsl:param name="ref"/>
+    <xsl:if test="java:getSettingValue('system/metadata/allThesaurus') = 'true'">
+
+
+      <xsl:variable name="thesaurusConfig"
+                    as="element()?"
+                    select="$thesaurusList/thesaurus[@key='external.none.allThesaurus']"/>
+
+      <xsl:variable name="transformations"
+                    as="xs:string"
+                    select="if ($thesaurusConfig/@transformations != '')
+                              then $thesaurusConfig/@transformations
+                              else 'to-iso19139-keyword,to-iso19139-keyword-with-anchor,to-iso19139-keyword-as-xlink'"/>
+
+      <br></br>
+      <div
+              data-gn-keyword-selector="tagsinput"
+              data-metadata-id=""
+              data-element-ref="_X{$ref}_gmdCOLONdescriptiveKeywords"
+              data-thesaurus-title="{{{{'selectKeyword' | translate}}}}"
+              data-thesaurus-key="external.none.allThesaurus"
+              data-keywords=""
+              data-transformations="{$transformations}"
+              data-current-transformation="to-iso19139-keyword"
+              data-max-tags="" data-lang="{$metadataOtherLanguagesAsJson}"
+              data-textgroup-only="false"
+              class="">
+      </div>
+    </xsl:if>
+  </xsl:template>
+</xsl:stylesheet>
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/loc/fre/codelists.xml b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/loc/fre/codelists.xml
new file mode 100644
index 0000000000000000000000000000000000000000..52c69f6c32e65a6918a640481aff317e43bd4102
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/loc/fre/codelists.xml
@@ -0,0 +1,2127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<codelists xmlns:gmd="http://www.isotc211.org/2005/gmd">
+  <!-- ==================================================== -->
+  <codelist name="gmd:CI_DateTypeCode">
+    <entry>
+      <code>creation</code>
+      <label>Création</label>
+      <description>Date à laquelle la ressource est créée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>publication</code>
+      <label>Publication</label>
+      <description>Date à laquelle la ressource est publiée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>revision</code>
+      <label>Révision</label>
+      <description>Date à laquelle la ressource est révisée</description>
+    </entry>
+    <!-- ISO PROFIL FRA ONLY
+        <entry>
+            <code>validity</code>
+            <label>Validité</label>
+            <description>Date à laquelle la ressource est validée</description>
+        </entry>
+        <entry>
+            <code>useBy</code>
+            <label>Péremption</label>
+            <description>Date de péremption de la ressource</description>
+        </entry>
+-->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:CI_OnLineFunctionCode" alias="function">
+    <entry>
+      <code>download</code>
+      <label>Téléchargement</label>
+      <description>Téléchargement de la ressource</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>information</code>
+      <label>Information</label>
+      <description>Online information about the resource</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>offlineAccess</code>
+      <label>Commande hors ligne</label>
+      <description>Instruction pour une commande auprès du distributeur</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>order</code>
+      <label>Commande en ligne</label>
+      <description>Commande en ligne pour obtenir la ressource</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>search</code>
+      <label>Interface de recherche</label>
+      <description>Interface de recherche pour trouver la ressource</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:CI_PresentationFormCode">
+    <entry>
+      <code>documentDigital</code>
+      <label>Document numérique</label>
+      <description>Document numérique contenant du texte et pouvant contenir des illustrations
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>imageDigital</code>
+      <label>Image numérique</label>
+      <description>Aspects à travers la télédétection, stocké sous format numérique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>documentHardcopy</code>
+      <label>Document papier</label>
+      <description>Document papier contenant du texte et pouvant contenir des illustrations
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>imageHardcopy</code>
+      <label>Image papier</label>
+      <description>Aspects à travers la télédétection, reproduit sur un support utilisable par
+        l’homme
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>mapDigital</code>
+      <label>Carte numérique</label>
+      <description>Carte numérique au format raster ou vecteur</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>mapHardcopy</code>
+      <label>Carte papier</label>
+      <description>Carte imprimée sur papier ou autre support utilisable par l’homme</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>modelDigital</code>
+      <label>Modèle numérique de terrain</label>
+      <description>Modèle numérique 3D sous forme digitale</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>modelHardcopy</code>
+      <label>Modèle numérique physique</label>
+      <description>Modèle numérique 3D physique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>profileDigital</code>
+      <label>Profil numérique</label>
+      <description>Profil vertical sous forme numérique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>profileHardcopy</code>
+      <label>Profil papier</label>
+      <description>Profil vertical sous forme papier</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>tableDigital</code>
+      <label>Table numérique</label>
+      <description>Représentation numérique d’informations sous forme de colonnes</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>tableHardcopy</code>
+      <label>Table papier</label>
+      <description>Représentation d’informations sous forme de colonnes sur papier ou autre support
+        utilisable par l’homme
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>videoDigital</code>
+      <label>Vidéo numérique</label>
+      <description>Vidéo numérique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>videoHardcopy</code>
+      <label>Vidéo magnétique</label>
+      <description>Vidéo enregistré sur bande</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:CI_RoleCode" alias="roleCode">
+    <entry>
+      <code>resourceProvider</code>
+      <label>Fournisseur</label>
+      <description>Organisme qui fournit la ressource. Acteur qui délivre physiquement la ressource,
+        soit de manière directe au destinataire, soit par l’intermédiaire d’un diffuseur
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>custodian</code>
+      <label>Gestionnaire</label>
+      <description>Acteur responsable de la gestion et de la mise à jour de la ressource
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>owner</code>
+      <label>Propriétaire</label>
+      <description>Organisme qui est propriétaire de la ressource / Acteur qui détient les droits
+        patrimoniaux de la ressource
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>user</code>
+      <label>Utilisateur</label>
+      <description>Organisme qui utilise ou a utilisé la ressource</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>distributor</code>
+      <label>Distributeur</label>
+      <description>Organisme qui distribue la ressource. Diffuseur de second niveau de la
+        ressource
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>originator</code>
+      <label>A l’origine de</label>
+      <description>Organisme qui a commandé la ressource. Acteur qui a été habilité à créer la
+        ressource et qui a mis en place les moyens pour la constituer
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>pointOfContact</code>
+      <label>Point de contact</label>
+      <description>Organisme que l’on peut contacter pour avoir des renseignements détaillés sur la
+        ressource. Acteur à contacter en premier lieu pour obtenir des informations relatives à la
+        ressource
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>principalInvestigator</code>
+      <label>Point de recherche</label>
+      <description>Personne clé pour obtenir des informations sur la ressource et les recherches
+        conduites autour de la ressource&#xA;Acteur qui a assuré la réalisation de la
+        ressource,éventuellement en faisant appel à des co-traitants ou des sous traitants
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>processor</code>
+      <label>Exécutant</label>
+      <description>Organisme qui a réalisé des traitements sur la ressource. Acteur qui est
+        intervenu lors de la réalisation de la ressource
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>publisher</code>
+      <label>Editeur (publication)</label>
+      <description>Organisme qui assure la publication de la ressource.</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>author</code>
+      <label>Auteur</label>
+      <description>Organisme ou personne qui est auteur. Acteur qui dispose des droits moraux
+        relatifs à la ressource
+      </description>
+    </entry>
+    <!-- ISO PROFIL CHE ONLY
+        <entry>
+            <code>editor</code>
+            <label>Editeur</label>
+            <description></description>
+        </entry>
+        <entry>
+            <code>partner</code>
+            <label>Partenaire</label>
+            <description></description>
+        </entry>-->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:DQ_EvaluationMethodTypeCode">
+    <entry>
+      <code>directInternal</code>
+      <label>Directe interne</label>
+      <description>Méthode d’évaluation de la qualité d’un jeu de données basée sur l’analyse des
+        données du jeu où toutes les données requises sont internes au jeu de données
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>directExternal</code>
+      <label>Directe externe</label>
+      <description>Méthode d’évaluation de la qualité d’un jeu de données basée sur l’analyse des
+        données du jeu où les références vers des données externes sont requises.
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>indirect</code>
+      <label>Indirecte</label>
+      <description>Méthode d’évaluation de la qualité basée sur une connaissance externe.
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:DS_AssociationTypeCode" alias="associationType">
+    <entry>
+      <code>crossReference</code>
+      <label>Référence croisée</label>
+      <description>Référence d’un jeu de données à un autre</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>largerWorkCitation</code>
+      <label>Référence mère</label>
+      <description>Référence à un jeu de données maître</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>partOfSeamlessDatabase</code>
+      <label>Partie d'une même base de données</label>
+      <description>Référence à un jeu de données stocké dans une même base de données</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>source</code>
+      <label>Source</label>
+      <description>Références vers la source des données qui a permis de produire les cartes,…
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>stereoMate</code>
+      <label>Stéréo restitution</label>
+      <description>Partie d’un ensemble d’images qui, utilisé ensemble, fournit une vision 3D de
+        l’image.
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:DS_InitiativeTypeCode" alias="initiativeType">
+    <entry>
+      <code>campaign</code>
+      <label>Campagne</label>
+      <description>Séries d’actions planifiées</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>collection</code>
+      <label>Collection</label>
+      <description>Accumulation de données dans un but précis</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>exercise</code>
+      <label>Exercice</label>
+      <description>Action spécifique répondant à une ou des fonctions</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>experiment</code>
+      <label>Expérimentation</label>
+      <description>Recherche pour vérifier si une hypothèse est valide</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>investigation</code>
+      <label>Investigation</label>
+      <description>Recherche systématique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>mission</code>
+      <label>Mission</label>
+      <description>Spécifique opération d’une collecte de données</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>sensor</code>
+      <label>Capteur</label>
+      <description>Part d’un équipement qui détecte une information</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>operation</code>
+      <label>Opération</label>
+      <description>Action qui est une partie d’une série d’action</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>platform</code>
+      <label>Plate-forme</label>
+      <description>Véhicule ou autre support supportant un capteur</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>process</code>
+      <label>Processus</label>
+      <description>Méthode pour faire quelque chose</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>program</code>
+      <label>Programme</label>
+      <description>Action spécifiquement planifiée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>project</code>
+      <label>Projet</label>
+      <description>Recherche ou développement organisé</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>study</code>
+      <label>Etude</label>
+      <description>Investigation</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>task</code>
+      <label>Tâche</label>
+      <description>Partie d'un travail</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>trial</code>
+      <label>Essai</label>
+      <description>Processus visant à tester ou démontrer quelque chose</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_CellGeometryCode">
+    <entry>
+      <code>point</code>
+      <label>Point</label>
+      <description>Chaque cellule représente un point</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>area</code>
+      <label>Surface</label>
+      <description>Chaque cellule représente une surface</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_CharacterSetCode">
+    <entry>
+      <code>ucs2</code>
+      <label>Ucs2</label>
+      <description>16-bit fixed size Universal Character Set, based on ISO 10646</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>ucs4</code>
+      <label>Ucs4</label>
+      <description>32-bit fixed size Universal Character Set, based on ISO/IEC
+        10646
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>utf7</code>
+      <label>Utf7</label>
+      <description>7-bit variable size UCS Transfer Format, based on ISO/IEC 10646</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>utf8</code>
+      <label>Utf8</label>
+      <description>8-bit variable size UCS Transfer Format, based on ISO/IEC 10646</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>utf16</code>
+      <label>Utf16</label>
+      <description>16-bit variable size UCS Transfer Format, based on ISO/IEC 10646</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part1</code>
+      <label>8859part1</label>
+      <description>ISO/IEC 8859-1, Information technology - 8-bit single byte coded graphic
+        character sets - Part 1 : Latin alphabet No.1
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part2</code>
+      <label>8859part2</label>
+      <description>ISO/IEC 8859-2, Information technology - 8-bit single byte coded graphic
+        character sets - Part 2 : Latin alphabet No.2
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part3</code>
+      <label>8859part3</label>
+      <description>ISO/IEC 8859-3, Information technology - 8-bit single byte coded graphic
+        character sets - Part 3 : Latin alphabet No.3
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part4</code>
+      <label>8859part4</label>
+      <description>ISO/IEC 8859-4, Information technology - 8-bit single byte coded graphic
+        character sets - Part 4 : Latin alphabet No.4
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part5</code>
+      <label>8859part5</label>
+      <description>ISO/IEC 8859-5, Information technology - 8-bit single byte coded graphic
+        character sets - Part 5 : Latin/Cyrillic alphabet
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part6</code>
+      <label>8859part6</label>
+      <description>ISO/IEC 8859-6, Information technology - 8-bit single byte coded graphic
+        character sets - Part 6 : Latin/Arabic alphabet
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part7</code>
+      <label>8859part7</label>
+      <description>ISO/IEC 8859-7, Information technology - 8-bit single byte coded graphic
+        character sets - Part 7 : Latin/Greek alphabet
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part8</code>
+      <label>8859part8</label>
+      <description>ISO/IEC 8859-8, Information technology - 8-bit single byte coded graphic
+        character sets - Part 8 : Latin/Hebrew alphabet
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part9</code>
+      <label>8859part9</label>
+      <description>ISO/IEC 8859-9, Information technology - 8-bit single byte coded graphic
+        character sets - Part 9 : Latin alphabet No.5
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part10</code>
+      <label>8859part10</label>
+      <description>ISO/IEC 8859-10, Information technology - 8-bit single byte coded graphic
+        character sets - Part 10 : Latin alphabet No.6
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part11</code>
+      <label>8859part11</label>
+      <description>ISO/IEC 8859-11, Information technology - 8-bit single byte coded graphic
+        character sets - Part 11 : Latin/Thai alphabet
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part13</code>
+      <label>8859part13</label>
+      <description>ISO/IEC 8859-13, Information technology - 8-bit single byte coded graphic
+        character sets - Part 13 : Latin alphabet No.7
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part14</code>
+      <label>8859part14</label>
+      <description>ISO/IEC 8859-14, Information technology - 8-bit single byte coded graphic
+        character sets - Part 14 : Latin alphabet No.8 (Celtic)
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part15</code>
+      <label>8859part15</label>
+      <description>ISO/IEC 8859-15, Information technology - 8-bit single byte coded graphic
+        character sets - Part 15 : Latin alphabet No.9
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8859part16</code>
+      <label>8859part16</label>
+      <description>ISO/IEC 8859-16, Information technology - 8-bit single byte coded graphic
+        character sets - Part 16 : Latin alphabet No.10
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>jis</code>
+      <label>Jis</label>
+      <description>Japanese code set used for electronic transmission</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>shiftJIS</code>
+      <label>ShiftJIS</label>
+      <description>Japanese code set used on MS-DOS machines</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>eucJP</code>
+      <label>EucJP</label>
+      <description>Japanese code set used on UNIX based machines</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>usAscii</code>
+      <label>UsAscii</label>
+      <description>United States ASCII code set (ISO 646 US)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>ebcdic</code>
+      <label>Ebcdic</label>
+      <description>IBM mainframe code set</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>eucKR</code>
+      <label>EucKR</label>
+      <description>Korean code set</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>big5</code>
+      <label>Big5</label>
+      <description>Traditional Chinese code set used in Taiwan, Hong Kong of China and other
+        areas
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>GB2312</code>
+      <label>GB2312</label>
+      <description>Simplified Chinese code set</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_ClassificationCode">
+    <entry>
+      <code>unclassified</code>
+      <label>Non classifié</label>
+      <description>La ressource ne revêt pas un caractère sensible</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>restricted</code>
+      <label>Restreint</label>
+      <description>Le caractère sensible de la ressource restreint son utilisation ou sa diffusion
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>confidential</code>
+      <label>Confidentiel</label>
+      <description>La ressource présente un caractère confidentiel.</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>secret</code>
+      <label>Secret</label>
+      <description>La confidentialité de la ressource implique des mesures de protection
+        particulière
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>topSecret</code>
+      <label>Top secret</label>
+      <description>La confidentialité de la ressource implique des mesures de protection extrêmes
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_CoverageContentTypeCode">
+    <entry>
+      <code>image</code>
+      <label>Image</label>
+      <description>Représentation numérique d’un paramètre physique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>thematicClassification</code>
+      <label>Classification thématique</label>
+      <description>Codification selon une classification</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>physicalMeasurement</code>
+      <label>Mesure physique</label>
+      <description>Valeur physique mesurée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_DatatypeCode">
+    <entry>
+      <code>class</code>
+      <label>Classe</label>
+      <description>Description d’un ensemble d’objet qui ont les mêmes attributs, méthodes …
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>codelist</code>
+      <label>Liste de codes</label>
+      <description>Enumération modifiable, utilisée pour exprimée une liste de valeurs extensible
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>enumeration</code>
+      <label>Enumération</label>
+      <description>Enumération, utilisée pour exprimée une liste de valeurs non extensible
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>codelistElement</code>
+      <label>Elément d'une liste de codes</label>
+      <description>Valeur possible pour une liste de codes</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>abstractClass</code>
+      <label>Classe abstraite</label>
+      <description>Classe qui ne peut être directement instancée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>aggregateClass</code>
+      <label>Classe agrégée</label>
+      <description>Classe qui est composé d’un ensemble de classes connecté par une relation de type
+        Agrégation.
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>specifiedClass</code>
+      <label>Classe spécifique</label>
+      <description>Classe qui peut être substituée à une classe de niveau supérieur</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>datatypeClass</code>
+      <label>Classe de type de donnée</label>
+      <description>Classe avec peu ou aucune opération dont le rôle est de gérer l’état d’une autre
+        classe pour les informations relevant de la transmission, le stockage, l’encodage ou la
+        persistance.
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>interfaceClass</code>
+      <label>Classe d'interface</label>
+      <description>Noms des opérations qui caractérisent le comportement d’une ressource
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>unionClass</code>
+      <label>Classe d'union</label>
+      <description>Classe décrivant une sélection d’un type spécifique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>metaClass</code>
+      <label>Méta-classe</label>
+      <description>Classe dont les instances sont des classes</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>typeClass</code>
+      <label>Type de classe</label>
+      <description>Classe utilisée pour spécifier un domaine d’instance (objet) en relation avec les
+        opérations applicables à ces objets. Un type peut avoir des attributs et des associations
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>characterString</code>
+      <label>Chaîne de caractères</label>
+      <description>Texte libre</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>integer</code>
+      <label>Entier</label>
+      <description>Champ numérique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>association</code>
+      <label>Association</label>
+      <description>Relation entre deux classes</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_DimensionNameTypeCode">
+    <entry>
+      <code>row</code>
+      <label>Axe - Y</label>
+      <description>Axe des ordonnées (axe - Y)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>column</code>
+      <label>Axe - X</label>
+      <description>Axe des abscisses (axe X)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>vertical</code>
+      <label>Axe - Z</label>
+      <description>Axe vertical (axe Z)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>track</code>
+      <label>Piste</label>
+      <description>Dans la direction de la ...</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>crossTrack</code>
+      <label>Profil de piste</label>
+      <description>Perpendiculaire ...</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>line</code>
+      <label>Ligne</label>
+      <description>Ligne de scannage d'un capteur</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>sample</code>
+      <label>Echantillon</label>
+      <description>Elément le long d'une ligne de scannage</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>time</code>
+      <label>Temps</label>
+      <description>Durée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_GeometricObjectTypeCode">
+    <entry>
+      <code>complex</code>
+      <label>Complexe</label>
+      <description>Ensemble de primitives géométriques représentées comme l'union d'autres
+        primitives
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>composite</code>
+      <label>Composite</label>
+      <description>Ensemble de lignes connectées entre elles</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>curve</code>
+      <label>Ligne</label>
+      <description>Primitive géométrique à une dimension représentant une image continue d'une
+        ligne
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>point</code>
+      <label>Point</label>
+      <description>Primitive géométrique à zéro dimension représentant une position sans étendue
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>solid</code>
+      <label>Volume</label>
+      <description>Primitive géométrique à trois dimensions représentant un volume (définition à
+        revoir)
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>surface</code>
+      <label>Polygone</label>
+      <description>Primitive géométrique à deux dimensions représentant une surface</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_ImagingConditionCode">
+    <entry>
+      <code>blurredImage</code>
+      <label>Flou</label>
+      <description>Portion de l’image floue</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>cloud</code>
+      <label>Nuage</label>
+      <description>Portion de l’image partiellement occultée par des nuages</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>degradingObliquity</code>
+      <label>Dégradation oblique</label>
+      <description>Due à l’angle entre le plan de l’écliptique et le plan équatorial</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>fog</code>
+      <label>Brouillard</label>
+      <description>Portion de l’image partiellement occultée par du brouillard</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>heavySmokeOrDust</code>
+      <label>Fumée et poussière</label>
+      <description>Portion de l’image partiellement occultée des fumées ou des poussières
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>night</code>
+      <label>Nuit</label>
+      <description>Image prise la nuit</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>rain</code>
+      <label>Pluie</label>
+      <description>Image prise durant la pluie</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>semiDarkness</code>
+      <label>Semi obscurité</label>
+      <description>Image prise pendant une semi obscurité</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>shadow</code>
+      <label>Ombre</label>
+      <description>Image obscurcie par une ombre</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>snow</code>
+      <label>Neige</label>
+      <description>Image obscurcie par la neige</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>terrainMasking</code>
+      <label>Terrain masqué</label>
+      <description>Absence de données en raison des caractéristiques topographiques qui masquent les
+        informations recherchées
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_KeywordTypeCode">
+    <entry>
+      <code>discipline</code>
+      <label>Discipline</label>
+      <description>Mot-clé en relation avec une branche de la connaissance</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>place</code>
+      <label>Localisation</label>
+      <description>Mot-clé identifiant un lieu</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>stratum</code>
+      <label>Strate</label>
+      <description>Couche géologique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>temporal</code>
+      <label>Temps</label>
+      <description>Mot clef identifiant une période de temps</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>theme</code>
+      <label>Thème</label>
+      <description>Mot-clé identifiant un sujet particulier</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_MaintenanceFrequencyCode" sort="fixed">
+    <entry>
+      <code>continual</code>
+      <label>Continue</label>
+      <description>Mise à jour continue</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>daily</code>
+      <label>Journalière</label>
+      <description>Mise à jour quotidienne</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>weekly</code>
+      <label>Hebdomadaire</label>
+      <description>Mise à jour hebdomadaire</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>fortnightly</code>
+      <label>Bi-mensuelle</label>
+      <description>Mise à jour 2 fois par mois</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>monthly</code>
+      <label>Mensuelle</label>
+      <description>Mise à jour mensuelle</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>quarterly</code>
+      <label>Trimestrielle</label>
+      <description>Mise à jour trimestrielle</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>biannually</code>
+      <label>Bi-annuelle</label>
+      <description>Mise à jour bi-annuelle</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>annually</code>
+      <label>Annuelle</label>
+      <description>Mise à jour annuelle</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>asNeeded</code>
+      <label>Lorsque nécessaire</label>
+      <description>Mise à jour lorsque cela est jugé nécessaire</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>irregular</code>
+      <label>Irrégulière</label>
+      <description>Mise à jour irrégulière</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>notPlanned</code>
+      <label>Non planifiée</label>
+      <description>Mise à jour non planifiée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>unknown</code>
+      <label>Inconnue</label>
+      <description>Mise à jour inconnue</description>
+    </entry>
+    <!-- ISO PROFIL CHE ONLY
+        <entry>
+            <code>userDefined</code>
+            <label>Fréquence personnalisée</label>
+            <description>Dans ce cas l'attribut définissant une fréquence personnalisée doit être utilisée</description>
+        </entry>-->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_MediumFormatCode">
+    <entry>
+      <code>cpio</code>
+      <label>Cpio</label>
+      <description>Copie en entrée /sortie (commande et fichier au format UNIX)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>tar</code>
+      <label>Tar</label>
+      <description>Format d’archivage sur bande</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>highSierra</code>
+      <label>High Sierra</label>
+      <description>Système de fichiers High Sierra</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>iso9660</code>
+      <label>Iso9660</label>
+      <description>Système de fichier CD – ROM</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>iso9660RockRidge</code>
+      <label>Iso9660RockRidge</label>
+      <description>Protocole d’échange Rock Ridge (UNIX)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>iso9660AppleHFS</code>
+      <label>Iso9660AppleHFS</label>
+      <description>Système hiérarchique de fichiers (Macintosh)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_MediumNameCode">
+    <entry>
+      <code>cdRom</code>
+      <label>CD-ROM</label>
+      <description>Disque optique en lecture seule</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>dvd</code>
+      <label>DVD</label>
+      <description>Disque numérique universel</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>dvdRom</code>
+      <label>DVD-ROM</label>
+      <description>Disque numérique universel en lecture seule</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>3halfInchFloppy</code>
+      <label>Disquette 3.5 pouces</label>
+      <description>Disquette magnétique de 3.5 pouces</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>5quarterInchFloppy</code>
+      <label>Disquette 5.25 pouces</label>
+      <description>Disquette magnétique de 5.25 pouces</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>7trackTape</code>
+      <label>Bande magnétique 7 pistes</label>
+      <description>Bande magnétique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>9trackTape</code>
+      <label>Bande magnétique 9 pistes</label>
+      <description>Bande magnétique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>3480Cartridge</code>
+      <label>Cartouche 3480</label>
+      <description>Cartouche à bande magnétique 3480</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>3490Cartridge</code>
+      <label>Cartouche 3490</label>
+      <description>Cartouche à bande magnétique 3490</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>3580Cartridge</code>
+      <label>Cartouche 3580</label>
+      <description>Cartouche à bande magnétique 3580</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>4mmCartridgeTape</code>
+      <label>Bande magnétique 4 mm</label>
+      <description>Bande magnétique 4 mm</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>8mmCartridgeTape</code>
+      <label>Bande magnétique 8 mm</label>
+      <description>Bande magnétique 8 mm</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>1quarterInchCartridgeTape</code>
+      <label>Bande magnétique 0.25 pouces</label>
+      <description>Bande magnétique 0.25 pouces</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>digitalLinearTape</code>
+      <label>Bande magnétique 0.5 pouces</label>
+      <description>Bande magnétique 0.5 pouces</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>onLine</code>
+      <label>En ligne</label>
+      <description>En ligne</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>satellite</code>
+      <label>Satellite</label>
+      <description>Communication par satellite</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>telephoneLink</code>
+      <label>Communication téléphonique</label>
+      <description>Liens via un réseau téléphonique</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>hardcopy</code>
+      <label>Papier</label>
+      <description>Document papier</description>
+    </entry>
+    <!-- ISO PROFIL CHE ONLY
+            <entry>
+            <code>zip100</code>
+            <label>ZIP 100</label>
+            <description></description>
+        </entry>
+        <entry>
+            <code>zip250</code>
+            <label>ZIP 250</label>
+            <description></description>
+        </entry>      <entry>
+            <code>e-mail</code>
+            <label>E-mail</label>
+            <description></description>
+        </entry>      <entry>
+            <code>zip</code>
+            <label>ZIP</label>
+            <description></description>
+        </entry>      <entry>
+            <code>jaz</code>
+            <label>JAZ</label>
+            <description></description>
+        </entry>      <entry>
+            <code>other</code>
+            <label>Autre</label>
+            <description></description>
+        </entry>-->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_ObligationCode">
+    <entry>
+      <code>mandatory</code>
+      <label>Obligatoire</label>
+      <description>Obligatoire</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>optional</code>
+      <label>Optionnel</label>
+      <description>Optionnel</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>conditional</code>
+      <label>Conditionnel</label>
+      <description>Conditionnel</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_PixelOrientationCode">
+    <entry>
+      <code>center</code>
+      <label>Centre</label>
+      <description>Centre</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>lowerLeft</code>
+      <label>Bas gauche</label>
+      <description>Bas gauche</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>lowerRight</code>
+      <label>Bas droit</label>
+      <description>Bas droit</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>upperRight</code>
+      <label>Haut droit</label>
+      <description>Haut droit</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>upperLeft</code>
+      <label>Haut gauche</label>
+      <description>Haut gauche</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_ProgressCode">
+    <entry>
+      <code>completed</code>
+      <label>Finalisé</label>
+      <description>Production de la ressource finalisée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>historicalArchive</code>
+      <label>Archivé</label>
+      <description>Ressource archivée hors ligne</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>obsolete</code>
+      <label>Obsolète</label>
+      <description>Ressource obsolète</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>onGoing</code>
+      <label>Mise à jour continue</label>
+      <description>Ressource continuellement mise à jour</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>planned</code>
+      <label>Planifié</label>
+      <description>Ressource créée ou mise à jour sur base d'une date fixée</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>required</code>
+      <label>Création ou mise à jour requise</label>
+      <description>Ressource qui doit être générée ou mise à jour</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>underDevelopment</code>
+      <label>En cours de création</label>
+      <description>Ressource en cours de création</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry hideInEditMode="true">
+      <code>notobsolete</code>
+      <label>Non obsolète</label>
+      <description></description>
+    </entry>
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_RestrictionCode">
+    <entry>
+      <code>copyright</code>
+      <label>Droit d’auteur / Droit moral (copyright)</label>
+      <description>Restriction lié à l’exercice du droit moral</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>patent</code>
+      <label>Brevet</label>
+      <description>Restriction induite par l’existence d’un brevet</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>patentPending</code>
+      <label>Brevet en instance</label>
+      <description>Restriction induite par le dépôt d’un brevet en cours</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>trademark</code>
+      <label>Marque de commerce</label>
+      <description>Restriction lié à l’existence d’un dépôt de marque</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>license</code>
+      <label>Licence</label>
+      <description>Restriction induite par l’existence d’une licence</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>intellectualPropertyRights</code>
+      <label>Droit de propriété intellectuelle / Droit patrimonial</label>
+      <description>Restriction lié à l’exercice du droit patrimonial</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>restricted</code>
+      <label>Restreint</label>
+      <description>Cette valeur n’a pas d’application identifiée en France</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>otherRestrictions</code>
+      <label>Autres restrictions</label>
+      <description>Restrictions non prévues</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_ScopeCode" editorMode="radio">
+    <entry>
+      <code>attribute</code>
+      <label>Attribut</label>
+      <description>Informations appliquées aux caractéristiques de l’attribut</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>attributeType</code>
+      <label>Type d'attribut</label>
+      <description>Informations appliquées aux caractéristiques de l’entité</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>collectionHardware</code>
+      <label>Collection matérielle</label>
+      <description>Informations appliquées aux caractéristiques d’une collection matérielle
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>collectionSession</code>
+      <label>Collection de session</label>
+      <description>Informations appliquées aux caractéristiques d’une collection de session
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>dataset</code>
+      <label>Jeu de données</label>
+      <description>Informations appliquées aux caractéristiques de jeu de données</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>series</code>
+      <label>Collection de données</label>
+      <description>Informations appliquées aux caractéristiques de la collection de données
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>nonGeographicDataset</code>
+      <label>Jeux de données non géographiques</label>
+      <description>Informations appliquées aux caractéristiques de jeux de données non
+        géographiques
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>dimensionGroup</code>
+      <label>Dimension d'un groupe</label>
+      <description>Informations appliquées à un groupe</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>feature</code>
+      <label>Entité</label>
+      <description>Informations appliquées à une entité</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>featureType</code>
+      <label>Type d’entité</label>
+      <description>Informations appliquées à un type d’entité</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>propertyType</code>
+      <label>Type de propriété</label>
+      <description>Informations appliquées à un type de propriété</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>fieldSession</code>
+      <label>Champ de session</label>
+      <description>Informations appliquées aux caractéristiques d’un champ de session</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>software</code>
+      <label>Logiciel</label>
+      <description>Informations appliquées à programme ou à une routine</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>service</code>
+      <label>Service</label>
+      <description>Informations appliquées à un service Internet</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>model</code>
+      <label>Modèle</label>
+      <description>Informations appliquées à modèle décrivant les objets ou un ensemble d'objets
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>tile</code>
+      <label>Tuile</label>
+      <description>Tuile</description>
+    </entry>
+    <!-- ISO PROFIL CHE ONLY
+        <entry>
+            <code>project</code>
+            <label>Projet</label>
+            <description>Le projet décrit le cadre organisationnel défini pour l'accomplissement d'une tâche: il intègre la description des tenants et des aboutissants du problème, les objectifs, les activités prévues, les étapes de réalisation, les délais, les ressources...</description>
+        </entry>
+        <entry>
+            <code>stationSite</code>
+            <label>Station</label>
+            <description>Cet élément décrit les activités d'acquisition de données des stations de mesure ; il ne décrit pas les données mais la manière dont elles ont été saisies (paramètres de saisie, méthodes, instruments)</description>
+        </entry>
+        <entry>
+            <code>publication</code>
+            <label>Publication</label>
+            <description>Ce sont des produits finis tels que les ouvrages, brochures, articles, rapports, matériel audiovisuel...</description>
+        </entry>-->
+
+
+    <!-- Used for facet translation only and not displayed in editor -->
+    <entry>
+      <code>map</code>
+      <label>Carte</label>
+      <description></description>
+    </entry>
+    <entry>
+      <code>staticMap</code>
+      <label>Carte statique</label>
+      <description></description>
+    </entry>
+	<entry>
+      <code>chart</code>
+      <label>Graphe</label>
+      <description></description>
+    </entry>
+    <entry>
+      <code>interactiveMap</code>
+      <label>Carte interactive</label>
+      <description></description>
+    </entry>
+    <entry hideInEditMode="true">
+      <code>featureCatalog</code>
+      <label>Catalogue d'attributs</label>
+      <description></description>
+    </entry>
+  </codelist>
+  <!--
+      Example to customize scope code codelist for a service metadata record.
+      <codelist name="gmd:MD_ScopeCode" displayIf="/ancestor::node()[name()='gmd:MD_Metadata']/gmd:identificationInfo/srv:SV_ServiceIdentification">
+          <entry>
+              <code>service</code>
+              <label>Service</label>
+              <description>Informations appliquées à un service Internet</description>
+          </entry>
+      </codelist>-->
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_SpatialRepresentationTypeCode">
+    <entry>
+      <code>vector</code>
+      <label>Vecteur</label>
+      <description>Donnée vecteur (point, ligne, polygone)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>grid</code>
+      <label>Raster</label>
+      <description>Donnée raster ou matricielle</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>textTable</code>
+      <label>Tabulaire</label>
+      <description>Fichier texte ou table</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>tin</code>
+      <label>TIN</label>
+      <description>Réseau de triangle irrégulier (Triangulated Irregular Network)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>stereoModel</code>
+      <label>Modèle stéréoscopique</label>
+      <description>Vue tridimensionnelle formée par l'intersection des rayons homologues d'une paire
+        d'images se recouvrant
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>video</code>
+      <label>Vidéo</label>
+      <description>Enregistrement vidéo</description>
+    </entry>
+    <!-- ISO PROFIL CHE ONLY
+        <entry>
+            <code>paperMap</code>
+            <label>Carte papier</label>
+            <description></description>
+        </entry>-->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_TopicCategoryCode">
+    <entry>
+      <code>farming</code>
+      <label>Agriculture</label>
+      <description>Elevage et/ou cultures. Exemples : agriculture, irrigation, aquaculture,
+        plantations
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>biota</code>
+      <label>Biote</label>
+      <description>Flore et faune dans un écosystème naturel. Exemples : habitat, écologie, faune
+        sauvage, faune aquatique, sciences biologiques, zones humides, végétation, biodiversité
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>boundaries</code>
+      <label>Limites</label>
+      <description>Exemples : limites de pays, de provinces, de départements, de communes
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>climatologyMeteorologyAtmosphere</code>
+      <label>Climatologie/Météorologie/Atmosphère</label>
+      <description>Processus et phénomènes atmosphériques. Exemples : climat, météorologie,
+        conditions atmosphériques, changements climatiques, couverture nuageuse
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>economy</code>
+      <label>Economie</label>
+      <description>Activités économiques. Exemples : production, travail, revenu, commerce,
+        industrie, tourisme et éco-tourisme, foresterie, pêche, chasse, exploration et exploitation
+        des ressources minières, pétrole, gaz naturel
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>elevation</code>
+      <label>Altitude</label>
+      <description>Hauteurs au dessous et dessus du niveau de la mer. Exemples : altitude,
+        bathymétrie, MNT, pentes et calculs dérivés de l’altitude
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>environment</code>
+      <label>Environnement</label>
+      <description>Ressources naturelles, protection, conservation des ressources naturelles.
+        Exemples : pollution, traitement et stockage des déchets, suivi de l’environnement, gestion
+        du risque, réserves naturelles, paysage
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>geoscientificInformation</code>
+      <label>Informations géoscientifiques</label>
+      <description>Informations relatives aux sciences de la terre. Exemples : composants et
+        processus géophysiques, géologie, minéralogie, tectonique, risque sismique
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>health</code>
+      <label>Santé</label>
+      <description>Santé, services de santé, épidémiologie. Exemples : maladies et épidémie,
+        facteurs affectant la santé, santé mentale et physique, services de santé
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>imageryBaseMapsEarthCover</code>
+      <label>Imagerie/Cartes de base/Occupation des terres</label>
+      <description>Carte de référence. Exemples : occupation des terres, imagerie aérienne et
+        satellitale, carte thématiques, carte topographiques
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>intelligenceMilitary</code>
+      <label>Renseignement/Secteur militaire</label>
+      <description>Bases militaires et infrastructures</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>inlandWaters</code>
+      <label>Eaux intérieures</label>
+      <description>Exemples : fleuves, rivières, glaciers, lacs salés, systèmes hydrographiques,
+        barrages, débits, qualité de l’eau
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>location</code>
+      <label>Localisation</label>
+      <description>Exemples : zones postales, adresses, points de contrôle, réseau géodésique
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>oceans</code>
+      <label>Océans</label>
+      <description>Composants et caractéristiques du milieu maritime. Exemples : littoral, récifs,
+        marée, etc.
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>planningCadastre</code>
+      <label>Planification/Cadastre</label>
+      <description>Exemples : carte d’utilisation des terres, plan d’occupation des sols,
+        planification pour la prévention des risques
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>society</code>
+      <label>Société</label>
+      <description>Caractéristiques des sociétés et des cultures. Exemples :lois, anthropologie,
+        éducation, données démographiques, archéologique, suivi des systèmes sociaux, croyances, us
+        et coutumes, crimes et justices
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>structure</code>
+      <label>Structure</label>
+      <description>Aménagements urbains. Exemples : musée, église, usines, maisons, monuments,
+        boutiques, immeubles
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>transportation</code>
+      <label>Transport</label>
+      <description>Moyens de transports des personnes et des biens. Exemples : routes, aéroports,
+        tunnels, viaducs, ponts, chemin de fer
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>utilitiesCommunication</code>
+      <label>Services d'utilité publique/Communication</label>
+      <description>Systèmes de distribution de gestion ou de stockage de l’énergie, de l’eau, des
+        déchets. Infrastructures et services de communication. Exemples : source d’énergie solaire,
+        hydroélectrique, nucléaire, épuration et distribution des eaux, réseau de distribution
+        électrique, de gaz, réseau de télécommunication, radio.
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MD_TopologyLevelCode">
+    <entry>
+      <code>geometryOnly</code>
+      <label>Géométrie seulement</label>
+      <description>Objets vecteurs sans aucune structure qui décrit la topologie</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>topology1D</code>
+      <label>Topologie de réseau</label>
+      <description>Réseau sans surface (communément dénommée topologie réseau)</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>planarGraph</code>
+      <label>Graphe planaire</label>
+      <description>Topologie 1D planaire</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>fullPlanarGraph</code>
+      <label>Topologie de réseau complète</label>
+      <description>Topologie 2D planaire</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>surfaceGraph</code>
+      <label>Topologie de surface</label>
+      <description>Topologie 1D avec surfaces</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>fullSurfaceGraph</code>
+      <label>Topologie de surface complète</label>
+      <description>Topologie 2D avec surfaces</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>topology3D</code>
+      <label>Topologie 3D</label>
+      <description>Topologie 3D</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>fullTopology3D</code>
+      <label>Topologie 3D complète</label>
+      <description>Couverture complète d’un espace Euclidien 3D</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>abstract</code>
+      <label>Spaghetti</label>
+      <description>Objets géométriques sans description de la topologie</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="gmd:MX_ScopeCode">
+    <entry>
+      <code>attribute</code>
+      <label>Attribut</label>
+      <description>Informations appliquées aux caractéristiques de l’attribut</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>attributeType</code>
+      <label>Type d'attribut</label>
+      <description>Informations appliquées aux caractéristiques de l’entité</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>collectionHardware</code>
+      <label>Collection matérielle</label>
+      <description>Informations appliquées aux caractéristiques d’une collection matérielle
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>collectionSession</code>
+      <label>Collection de session</label>
+      <description>Informations appliquées aux caractéristiques d’une collection de session
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>dataset</code>
+      <label>Jeu de données</label>
+      <description>Informations appliquées aux caractéristiques de jeu de données</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>series</code>
+      <label>Collection de données</label>
+      <description>Informations appliquées aux caractéristiques de la collection de données
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>nonGeographicDataset</code>
+      <label>Jeux de données non géographiques</label>
+      <description>Informations appliquées aux caractéristiques de jeux de données non
+        géographiques
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>dimensionGroup</code>
+      <label>Dimension d'un groupe</label>
+      <description>Informations appliquées à un groupe</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>feature</code>
+      <label>Entité</label>
+      <description>Informations appliquées à une entité</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>featureType</code>
+      <label>Type d’entité</label>
+      <description>Informations appliquées à un type d’entité</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>propertyType</code>
+      <label>Type de propriété</label>
+      <description>Informations appliquées à un type de propriété</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>fieldSession</code>
+      <label>Champ de session</label>
+      <description>Informations appliquées aux caractéristiques d’un champ de session</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>software</code>
+      <label>Logiciel</label>
+      <description>Informations appliquées à programme ou à une routine</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>service</code>
+      <label>Service</label>
+      <description>Informations appliquées à un service Internet</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>model</code>
+      <label>Modèle</label>
+      <description>Informations appliquées à modèle décrivant les objets ou un ensemble d'objets
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>tile</code>
+      <label>Tile</label>
+      <description>Tile</description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>initiative</code>
+      <label>Initiative</label>
+      <description>The referencing entity applies to a transfer aggregate which was originally
+        identified as an initiative (DS_Initiative)
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>stereomate</code>
+      <label>Stereomate</label>
+      <description>The referencing entity applies to a transfer aggregate which was originally
+        identified as a stereo mate (DS_StereoMate)
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>sensor</code>
+      <label>Sensor</label>
+      <description>The referencing entity applies to a transfer aggregate which was originally
+        identified as a sensor (DS_Sensor)
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>platformSeries</code>
+      <label>PlatformSeries</label>
+      <description>The referencing entity applies to a transfer aggregate which was originally
+        identified as a platform series (DS_PlatformSeries)
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>sensorSeries</code>
+      <label>SensorSeries</label>
+      <description>The referencing entity applies to a transfer aggregate which was originally
+        identified as a sensor series (DS_SensorSeries)
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>productionSeries</code>
+      <label>ProductionSeries</label>
+      <description>The referencing entity applies to a transfer aggregate which was originally
+        identified as a production series (DS_ProductionSeries)
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>transferAggregate</code>
+      <label>TransferAggregate</label>
+      <description>The referencing entity applies to a transfer aggregate which has no existence
+        outside of the transfer context
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <entry>
+      <code>otherAggregate</code>
+      <label>OtherAggregate</label>
+      <description>The referencing entity applies to a transfer aggregate which has an existence
+        outside of the transfer context, but which does not pertains to a specific aggregate
+        type.
+      </description>
+    </entry>
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - -->
+  </codelist>
+  <!-- ==================================================== -->
+  <codelist name="srv:DCPList">
+    <entry>
+      <description>DCP is XML</description>
+      <code>XML</code>
+      <label>XML</label>
+    </entry>
+    <entry>
+      <description>DCP is CORBA</description>
+      <code>CORBA</code>
+      <label>CORBA</label>
+    </entry>
+    <entry>
+      <description>DCP is JAVA</description>
+      <code>JAVA</code>
+      <label>JAVA</label>
+    </entry>
+    <entry>
+      <description>DCP is COM</description>
+      <code>COM</code>
+      <label>COM</label>
+    </entry>
+    <entry>
+      <description>DCP is SQL</description>
+      <code>SQL</code>
+      <label>SQL</label>
+    </entry>
+    <entry>
+      <description>DCP is WebServices</description>
+      <code>WebServices</code>
+      <label>WebServices</label>
+    </entry>
+  </codelist>
+  <!--=== CouplingType from ISO19119 ===-->
+  <codelist name="srv:SV_CouplingType">
+    <entry>
+      <description>Présence d'une donnée associée</description>
+      <code>tight</code>
+      <label>Reserré</label>
+    </entry>
+    <entry>
+      <description>Présence de plusieurs données associées</description>
+      <code>mixed</code>
+      <label>Mixte</label>
+    </entry>
+    <entry>
+      <description>Absence de donnée associée</description>
+      <code>loose</code>
+      <label>Libre</label>
+    </entry>
+  </codelist>
+
+  <codelist name="srv:SV_ParameterDirection">
+    <entry>
+      <code>in</code>
+      <label>Entrée</label>
+    </entry>
+    <entry>
+      <code>out</code>
+      <label>Sortie</label>
+    </entry>
+    <entry>
+      <code>in/out</code>
+      <label>Entrée/Sortie</label>
+    </entry>
+  </codelist>
+
+  <codelist name="gco:nilReason">
+    <entry>
+      <code>missing</code>
+      <label>Manquant</label>
+    </entry>
+    <entry>
+      <code>inapplicable</code>
+      <label>Non appliquable</label>
+    </entry>
+    <entry>
+      <code>template</code>
+      <label>Modèle</label>
+    </entry>
+    <entry>
+      <code>unknown</code>
+      <label>Inconnu</label>
+    </entry>
+    <entry>
+      <code>withheld</code>
+      <label>Avec autorisation</label>
+    </entry>
+  </codelist>
+
+  <codelist name="indeterminatePosition">
+    <entry>
+      <code>after</code>
+      <label>Après</label>
+    </entry>
+    <entry>
+      <code>before</code>
+      <label>Avant</label>
+    </entry>
+    <entry>
+      <code>now</code>
+      <label>Maintenant</label>
+    </entry>
+    <entry>
+      <code>unknown</code>
+      <label>Inconnu</label>
+    </entry>
+  </codelist>
+</codelists>
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-geonetwork.sch b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-geonetwork.sch
new file mode 100644
index 0000000000000000000000000000000000000000..f319747cf553ea075f371cda2980396172d0deff
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-geonetwork.sch
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+    <sch:title xmlns="http://www.w3.org/2001/XMLSchema">Schematron validation / GeoNetwork recommendations</sch:title>
+    <sch:ns prefix="gml" uri="http://www.opengis.net/gml"/>
+    <sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/>
+    <sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/>
+    <sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/>
+    <sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/>
+    <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/>    
+
+    <!-- =============================================================
+    GeoNetwork schematron rules:
+    ============================================================= -->
+    <sch:pattern>
+        <sch:title>$loc/strings/M500</sch:title>
+        <sch:rule
+            context="//gmd:MD_Metadata|//*[@gco:isoType='gmd:MD_Metadata']">
+        	<sch:let name="language" value="gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue"/>
+            <sch:let name="localeAndNoLanguage" value="not(gmd:locale and gmd:language/@gco:nilReason='missing')
+                and not(gmd:locale and not(gmd:language))"/>
+            <sch:let name="duplicateLanguage" value="not(gmd:locale/gmd:PT_Locale/gmd:languageCode/gmd:LanguageCode/@codeListValue=$language)"/>
+   
+   
+            <!--  Check that main language is not defined and gmd:locale element exist. -->
+            <sch:assert test="$localeAndNoLanguage"
+                >$loc/strings/alert.M500</sch:assert>
+            <sch:report test="$localeAndNoLanguage"
+                ><sch:value-of select="$loc/strings/report.M500"/> "<sch:value-of select="normalize-space($language)"/>"</sch:report>
+            
+    
+            <!-- 
+                * Check that main language is defined and does not exist in gmd:locale.
+                * Do not declare a language twice in gmd:locale section.	
+                This should not happen due to XSD error
+                which is usually made before schematron validation:
+                "The value 'XX' of attribute 'id' on element 'gmd:PT_Locale' is not valid with respect to its type, 'ID'. 
+                (Element: gmd:PT_Locale with parent element: gmd:locale)"
+            -->
+            <sch:assert test="$duplicateLanguage"
+                >$loc/strings/alert.M501</sch:assert>
+            <sch:report test="$duplicateLanguage"
+                >$loc/strings/report.M501</sch:report>
+            
+        </sch:rule>
+    </sch:pattern>
+</sch:schema>
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-geonetwork.xsl b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-geonetwork.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..2963ccf0b57a9f01e1325254858e21c1b24e31f2
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-geonetwork.xsl
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xsl:stylesheet xmlns:xhtml="http://www.w3.org/1999/xhtml"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                xmlns:schold="http://www.ascc.net/xml/schematron"
+                xmlns:iso="http://purl.oclc.org/dsdl/schematron"
+                xmlns:gml="http://www.opengis.net/gml"
+                xmlns:gmd="http://www.isotc211.org/2005/gmd"
+                xmlns:srv="http://www.isotc211.org/2005/srv"
+                xmlns:gco="http://www.isotc211.org/2005/gco"
+                xmlns:geonet="http://www.fao.org/geonetwork"
+                xmlns:xlink="http://www.w3.org/1999/xlink"
+                exclude-result-prefixes="#all"
+                version="2.0"><!--Implementers: please note that overriding process-prolog or process-root is
+      the preferred method for meta-stylesheets to use where possible.
+    -->
+<xsl:param name="archiveDirParameter"/>
+   <xsl:param name="archiveNameParameter"/>
+   <xsl:param name="fileNameParameter"/>
+   <xsl:param name="fileDirParameter"/>
+   <xsl:variable name="document-uri">
+      <xsl:value-of select="document-uri(/)"/>
+   </xsl:variable>
+
+   <!--PHASES-->
+
+
+<!--PROLOG-->
+<xsl:output xmlns:svrl="http://purl.oclc.org/dsdl/svrl" method="xml"
+               omit-xml-declaration="no"
+               standalone="yes"
+               indent="yes"/>
+   <xsl:include xmlns:svrl="http://purl.oclc.org/dsdl/svrl" href="../../../xsl/utils-fn.xsl"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="lang"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="thesaurusDir"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="rule"/>
+   <xsl:variable xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="loc"
+                 select="document(concat('../loc/', $lang, '/', $rule, '.xml'))"/>
+
+   <!--XSD TYPES FOR XSLT2-->
+
+
+<!--KEYS AND FUNCTIONS-->
+
+
+<!--DEFAULT RULES-->
+
+
+<!--MODE: SCHEMATRON-SELECT-FULL-PATH-->
+<!--This mode can be used to generate an ugly though full XPath for locators
+    -->
+<xsl:template match="*" mode="schematron-select-full-path">
+      <xsl:apply-templates select="." mode="schematron-get-full-path"/>
+   </xsl:template>
+
+   <!--MODE: SCHEMATRON-FULL-PATH-->
+<!--This mode can be used to generate an ugly though full XPath for locators
+    -->
+<xsl:template match="*" mode="schematron-get-full-path">
+      <xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
+      <xsl:text>/</xsl:text>
+      <xsl:choose>
+         <xsl:when test="namespace-uri()=''">
+            <xsl:value-of select="name()"/>
+            <xsl:variable name="p_1"
+                          select="1+       count(preceding-sibling::*[name()=name(current())])"/>
+            <xsl:if test="$p_1&gt;1 or following-sibling::*[name()=name(current())]">[<xsl:value-of select="$p_1"/>]</xsl:if>
+         </xsl:when>
+         <xsl:otherwise>
+            <xsl:text>*[local-name()='</xsl:text>
+            <xsl:value-of select="local-name()"/>
+            <xsl:text>']</xsl:text>
+            <xsl:variable name="p_2"
+                          select="1+     count(preceding-sibling::*[local-name()=local-name(current())])"/>
+            <xsl:if test="$p_2&gt;1 or following-sibling::*[local-name()=local-name(current())]">[<xsl:value-of select="$p_2"/>]</xsl:if>
+         </xsl:otherwise>
+      </xsl:choose>
+   </xsl:template>
+   <xsl:template match="@*" mode="schematron-get-full-path">
+      <xsl:text>/</xsl:text>
+      <xsl:choose>
+         <xsl:when test="namespace-uri()=''">@
+              <xsl:value-of select="name()"/>
+         </xsl:when>
+         <xsl:otherwise>
+            <xsl:text>@*[local-name()='</xsl:text>
+            <xsl:value-of select="local-name()"/>
+            <xsl:text>' and namespace-uri()='</xsl:text>
+            <xsl:value-of select="namespace-uri()"/>
+            <xsl:text>']</xsl:text>
+         </xsl:otherwise>
+      </xsl:choose>
+   </xsl:template>
+
+   <!--MODE: SCHEMATRON-FULL-PATH-2-->
+<!--This mode can be used to generate prefixed XPath for humans-->
+<xsl:template match="node() | @*" mode="schematron-get-full-path-2">
+      <xsl:for-each select="ancestor-or-self::*">
+         <xsl:text>/</xsl:text>
+         <xsl:value-of select="name(.)"/>
+         <xsl:if test="preceding-sibling::*[name(.)=name(current())]">
+            <xsl:text>[</xsl:text>
+            <xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
+            <xsl:text>]</xsl:text>
+         </xsl:if>
+      </xsl:for-each>
+      <xsl:if test="not(self::*)">
+         <xsl:text/>/@
+        <xsl:value-of select="name(.)"/>
+      </xsl:if>
+   </xsl:template>
+   <!--MODE: SCHEMATRON-FULL-PATH-3-->
+<!--This mode can be used to generate prefixed XPath for humans
+      (Top-level element has index)
+    -->
+<xsl:template match="node() | @*" mode="schematron-get-full-path-3">
+      <xsl:for-each select="ancestor-or-self::*">
+         <xsl:text>/</xsl:text>
+         <xsl:value-of select="name(.)"/>
+         <xsl:if test="parent::*">
+            <xsl:text>[</xsl:text>
+            <xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
+            <xsl:text>]</xsl:text>
+         </xsl:if>
+      </xsl:for-each>
+      <xsl:if test="not(self::*)">
+         <xsl:text/>/@
+        <xsl:value-of select="name(.)"/>
+      </xsl:if>
+   </xsl:template>
+
+   <!--MODE: GENERATE-ID-FROM-PATH-->
+<xsl:template match="/" mode="generate-id-from-path"/>
+   <xsl:template match="text()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/>
+   </xsl:template>
+   <xsl:template match="comment()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/>
+   </xsl:template>
+   <xsl:template match="processing-instruction()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/>
+   </xsl:template>
+   <xsl:template match="@*" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.@', name())"/>
+   </xsl:template>
+   <xsl:template match="*" mode="generate-id-from-path" priority="-0.5">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:text>.</xsl:text>
+      <xsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/>
+   </xsl:template>
+
+   <!--MODE: GENERATE-ID-2-->
+<xsl:template match="/" mode="generate-id-2">U</xsl:template>
+   <xsl:template match="*" mode="generate-id-2" priority="2">
+      <xsl:text>U</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+   </xsl:template>
+   <xsl:template match="node()" mode="generate-id-2">
+      <xsl:text>U.</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+      <xsl:text>n</xsl:text>
+      <xsl:number count="node()"/>
+   </xsl:template>
+   <xsl:template match="@*" mode="generate-id-2">
+      <xsl:text>U.</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="string-length(local-name(.))"/>
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="translate(name(),':','.')"/>
+   </xsl:template>
+   <!--Strip characters--><xsl:template match="text()" priority="-1"/>
+
+   <!--SCHEMA SETUP-->
+<xsl:template match="/">
+      <svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                              title="Schematron validation / GeoNetwork recommendations"
+                              schemaVersion="">
+         <xsl:comment>
+            <xsl:value-of select="$archiveDirParameter"/>
+         
+        <xsl:value-of select="$archiveNameParameter"/>
+         
+        <xsl:value-of select="$fileNameParameter"/>
+         
+        <xsl:value-of select="$fileDirParameter"/>
+         </xsl:comment>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.opengis.net/gml" prefix="gml"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/gmd" prefix="gmd"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/srv" prefix="srv"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/gco" prefix="gco"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.fao.org/geonetwork" prefix="geonet"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/1999/xlink" prefix="xlink"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M500"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M7"/>
+      </svrl:schematron-output>
+   </xsl:template>
+
+   <!--SCHEMATRON PATTERNS-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">Schematron validation / GeoNetwork recommendations</svrl:text>
+
+   <!--PATTERN
+        $loc/strings/M500-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M500"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Metadata|//*[@gco:isoType='gmd:MD_Metadata']" priority="1000"
+                 mode="M7">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_Metadata|//*[@gco:isoType='gmd:MD_Metadata']"/>
+      <xsl:variable name="language"
+                    select="gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue"/>
+      <xsl:variable name="localeAndNoLanguage"
+                    select="not(gmd:locale and gmd:language/@gco:nilReason='missing')                 and not(gmd:locale and not(gmd:language))"/>
+      <xsl:variable name="duplicateLanguage"
+                    select="not(gmd:locale/gmd:PT_Locale/gmd:languageCode/gmd:LanguageCode/@codeListValue=$language)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$localeAndNoLanguage"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$localeAndNoLanguage">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M500"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$localeAndNoLanguage">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$localeAndNoLanguage">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M500"/>
+               <xsl:text/> "<xsl:text/>
+               <xsl:copy-of select="normalize-space($language)"/>
+               <xsl:text/>"</svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$duplicateLanguage"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$duplicateLanguage">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M501"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$duplicateLanguage">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$duplicateLanguage">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M501"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M7"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M7">
+      <xsl:apply-templates select="*|comment()|processing-instruction()" mode="M7"/>
+   </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-inspire.sch b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-inspire.sch
new file mode 100644
index 0000000000000000000000000000000000000000..508ad3c0978a7b0fa3ccfeb0a3cd08b896018d80
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-inspire.sch
@@ -0,0 +1,736 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    queryBinding="xslt2">
+    <!--
+
+This Schematron define INSPIRE IR on metadata for datasets and services.
+
+    @author Francois Prunayre, 2008-2010
+    @author Etienne Taffoureau, 2008-2010
+
+
+ * 2008-2010 (geosource and geocat.ch sandbox)
+  * First release
+ * 201004
+  * Updates based on INSPIRE metadata validator available here
+  http://www.inspire-geoportal.eu/index.cfm/pageid/48.
+  * Improve gco:nilReason check
+  * Add multilingual INSPIRE theme rule
+  * Add service taxonomy rules
+  * Don't generate error when conformity is missing. Then confomity is only non-evaluated
+
+NOTE : 
+ * A record could be "INSPIRE valid" in GeoNetwork
+and not in INSPIRE metadata validator if INSPIRE theme
+are defined in an other language than english for example (multilingual validation
+not available in INSPIRE geoportal for the time being).
+ * inspired by the schematron_rules.xml released under EUPL by 
+Kristian Senkler (conterra), Gianluca Luraschi (JRC), Ioannis Kanellopoulos (JRC)  
+
+
+TODO :
+ * Service taxonomy is using a codelist value instead of a label
+ (which is not user friendly).
+ * In case of multilingual metadata, some rules may be improved ?
+ * Do no check if keywords comes from realease X of GEMET as far
+ as we check we have one INSPIRE theme.
+ * INSPIRE metadata validation engine is not using same ISO19139 schema
+ gmd:language is a codelist not a gco:CharacterString.
+ 
+ 
+ 
+
+This work is licensed under the Creative Commons Attribution 2.5 License. 
+To view a copy of this license, visit 
+    http://creativecommons.org/licenses/by/2.5/ 
+
+or send a letter to:
+
+Creative Commons, 
+543 Howard Street, 5th Floor, 
+San Francisco, California, 94105, 
+USA.
+
+-->
+
+    <sch:title xmlns="http://www.w3.org/2001/XMLSchema">INSPIRE metadata implementing rule validation</sch:title>
+    <sch:ns prefix="gml" uri="http://www.opengis.net/gml"/>
+    <sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/>
+    <sch:ns prefix="gmx" uri="http://www.isotc211.org/2005/gmx"/>
+    <sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/>
+    <sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/>
+    <sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/>
+    <sch:ns prefix="skos" uri="http://www.w3.org/2004/02/skos/core#"/>
+    <sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/>
+
+
+    <!-- INSPIRE metadata rules / START -->
+    <sch:pattern>
+        <sch:title>$loc/strings/identification</sch:title>
+
+        <sch:rule context="//gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation">
+            <!-- Title -->
+            <sch:let name="noResourceTitle" value="not(gmd:title) or gmd:title/@gco:nilReason='missing'"/>
+            <sch:let name="resourceTitle" value="gmd:title/*/text()"/>
+
+            <sch:assert test="not($noResourceTitle)"><sch:value-of select="$loc/strings/alert.M35/div"/></sch:assert>
+            <sch:report test="not($noResourceTitle)">
+                <sch:value-of select="$loc/strings/report.M35/div"/><sch:value-of select="$resourceTitle"/>
+            </sch:report>
+
+
+        </sch:rule>
+
+
+        <!-- Online resource
+            Conditional for spatial dataset and spatial dataset
+            series: Mandatory if a URL is available to obtain
+            IR more information on the resources and/or access Obligation / condition related services.
+            • Conditional for services: Mandatory if linkage to the
+            service is available
+        -->
+        <sch:rule context="//gmd:distributionInfo/*/gmd:transferOptions/*/gmd:onLine/gmd:CI_OnlineResource">
+            <sch:let name="resourceLocator" value="gmd:linkage/*/text()"/>
+            <sch:let name="noResourceLocator" value="normalize-space(gmd:linkage/gmd:URL)=''
+					or not(gmd:linkage)"/>
+
+            <sch:assert test="not($noResourceLocator)">
+                <sch:value-of select="$loc/strings/alert.M52/div"/>
+            </sch:assert>
+            <sch:report test="not($noResourceLocator)">
+                <sch:value-of select="$loc/strings/report.M52/div"/>
+                <sch:value-of select="$resourceLocator"/>
+            </sch:report>
+        </sch:rule>
+
+
+
+        <!-- Resource type -->
+        <sch:rule context="//gmd:MD_Metadata">
+            <sch:let name="resourceType_present" value="gmd:hierarchyLevel/*/@codeListValue='dataset'
+				or gmd:hierarchyLevel/*/@codeListValue='series'
+				or gmd:hierarchyLevel/*/@codeListValue='service'"/>
+            <sch:let name="resourceType" value="string-join(gmd:hierarchyLevel/*/@codeListValue, ',')"/>
+
+            <sch:assert test="$resourceType_present">
+                <sch:value-of select="$loc/strings/alert.M37/div"/>
+            </sch:assert>
+            <sch:report test="$resourceType_present">
+                <sch:value-of select="$loc/strings/report.M37/div"/>
+                <sch:value-of select="$resourceType"/>
+            </sch:report>
+        </sch:rule>
+
+
+
+
+        <sch:rule context="//gmd:MD_DataIdentification|
+			//*[@gco:isoType='gmd:MD_DataIdentification']|
+			//srv:SV_ServiceIdentification|
+			//*[@gco:isoType='srv:SV_ServiceIdentification']">
+            <sch:let name="resourceAbstract" value="gmd:abstract/*/text()"/>
+            <sch:let name="noResourceAbstract" value="not(gmd:abstract) or gmd:abstract/@gco:nilReason='missing'"/>
+
+            <!-- Abstract -->
+            <sch:assert test="not($noResourceAbstract)">
+                <sch:value-of select="$loc/strings/alert.M36/div"/>
+            </sch:assert>
+            <sch:report test="not($noResourceAbstract)">
+                <sch:value-of select="$loc/strings/report.M36/div"/>
+                <sch:value-of select="$resourceAbstract"/>
+            </sch:report>
+
+
+        </sch:rule>
+    </sch:pattern>
+
+
+
+    <!-- Dataset and series only -->
+    <sch:pattern>
+        <sch:title>$loc/strings/dataIdentification</sch:title>
+
+        <sch:rule context="//gmd:MD_DataIdentification[
+			normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'
+			or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'
+			or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '']|
+			//*[@gco:isoType='gmd:MD_DataIdentification' and (
+			normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'
+			or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'
+			or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '')]">
+            <!-- resource language is only conditional for 'dataset' and 'series'.
+            -->
+            <sch:let name="resourceLanguage" value="string-join(gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue, ', ')"/>
+            <sch:let name="euLanguage" value="
+				not(gmd:language/@gco:nilReason='missing') and 
+				geonet:contains-any-of($resourceLanguage, 
+				('eng', 'fre', 'ger', 'spa', 'dut', 'ita', 'cze', 'lav', 'dan', 'lit', 'mlt', 
+				'pol', 'est', 'por', 'fin', 'rum', 'slo', 'slv', 'gre', 'bul', 
+				'hun', 'swe', 'gle'))"/>
+            <sch:assert test="$euLanguage">
+                <sch:value-of select="$loc/strings/alert.M55/div"/>
+            </sch:assert>
+            <sch:report test="$euLanguage">
+                <sch:value-of select="$loc/strings/report.M55/div"/><sch:value-of select="$resourceLanguage"/>
+            </sch:report>
+
+
+
+
+            <!-- Topic category -->
+            <sch:let name="topic" value="gmd:topicCategory/gmd:MD_TopicCategoryCode"/>
+            <sch:let name="noTopic" value="not(gmd:topicCategory)  or
+				gmd:topicCategory/gmd:MD_TopicCategoryCode/text() = ''"/>
+            <sch:assert test="not($noTopic)">
+                <sch:value-of select="$loc/strings/alert.M39/div"/></sch:assert>
+            <sch:report test="not($noTopic)">
+                <sch:value-of select="$loc/strings/report.M39/div"/><sch:value-of select="$topic"/></sch:report>
+
+
+
+
+            <!-- Unique identifier -->
+            <sch:let name="resourceIdentifier" value="gmd:citation/gmd:CI_Citation/gmd:identifier
+				and not(gmd:citation/gmd:CI_Citation/gmd:identifier[*/gmd:code/@gco:nilReason='missing'])"/>
+            <sch:let name="resourceIdentifier_code" value="gmd:citation/gmd:CI_Citation/gmd:identifier/*/gmd:code/*/text()"/>
+            <sch:let name="resourceIdentifier_codeSpace" value="gmd:citation/gmd:CI_Citation/gmd:identifier/*/gmd:codeSpace/*/text()"/>
+
+            <sch:assert test="$resourceIdentifier"><sch:value-of select="$loc/strings/alert.M38/div"/></sch:assert>
+            <sch:report test="$resourceIdentifier_code"><sch:value-of select="$loc/strings/report.M38/div"/>
+                <sch:value-of select="$resourceIdentifier_code"/>
+            </sch:report>
+            <sch:report test="$resourceIdentifier_codeSpace"><sch:value-of select="$loc/strings/report.M38.codespace/div"/>
+                <sch:value-of select="$resourceIdentifier_codeSpace"/>
+            </sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+
+
+    <!-- Service only -->
+    <sch:pattern>
+        <sch:title>$loc/strings/serviceIdentification</sch:title>
+
+        <!-- No operatesOn for services -->
+        <sch:rule context="//srv:SV_ServiceIdentification|
+			//*[@gco:isoType='srv:SV_ServiceIdentification']">
+            <sch:let name="coupledResourceHref" value="string-join(srv:operatesOn/@xlink:href, ', ')"/>
+            <sch:let name="coupledResourceUUID" value="string-join(srv:operatesOn/@uuidref, ', ')"/>
+            <sch:let name="coupledResource" value="../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='service'
+				and //srv:operatesOn"/>
+
+            <!--
+              "Conditional to services: Mandatory if linkage to
+              datasets on which the service operates are available."
+              TODO : maybe check if service couplingType=tight or serviceType=view ?
+            <sch:assert test="$coupledResource">
+                <sch:value-of select="$loc/strings/alert.M51/div"/>
+            </sch:assert>-->
+            <sch:report test="$coupledResource and $coupledResourceHref!=''">
+                <sch:value-of select="$loc/strings/report.M51/div"/><sch:value-of select="$coupledResourceHref"/>
+            </sch:report>
+            <sch:report test="$coupledResource and $coupledResourceUUID!=''">
+                <sch:value-of select="$loc/strings/report.M51/div"/><sch:value-of select="$coupledResourceUUID"/>
+            </sch:report>
+
+            <sch:let name="serviceType" value="srv:serviceType/gco:LocalName"/>
+            <sch:let name="noServiceType" value="geonet:contains-any-of(srv:serviceType/gco:LocalName,
+				('view', 'discovery', 'download', 'transformation', 'invoke', 'other'))"/>
+            <sch:assert test="$noServiceType">
+                <sch:value-of select="$loc/strings/alert.M60/div"/></sch:assert>
+            <sch:report test="$noServiceType">
+                <sch:value-of select="$loc/strings/report.M60/div"/><sch:value-of select="$serviceType"/></sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+
+
+    <sch:pattern>
+        <sch:title>$loc/strings/theme</sch:title>
+
+        <sch:rule context="//gmd:MD_DataIdentification|
+			//*[@gco:isoType='gmd:MD_DataIdentification']">
+            <!-- Check that INSPIRE theme are available.
+                Use INSPIRE thesaurus available on SVN to check keywords in all EU languages.
+            -->
+            <sch:let name="thesaurusURL" value="concat('file:///', $thesaurusDir, '/external/thesauri/theme/inspire-theme.rdf')"/>
+            <sch:let name="inspire-thesaurus" value="document($thesaurusURL)"/>
+            <sch:let name="inspire-theme" value="$inspire-thesaurus//skos:Concept"/>
+
+            <!-- Display error if INSPIRE Theme thesaurus is not available. -->
+            <sch:assert test="count($inspire-theme) > 0">
+                INSPIRE Theme thesaurus not found (at <sch:value-of select="$thesaurusURL" />. Check installation in codelist/external/thesauri/theme.
+                Download thesaurus from https://geonetwork.svn.sourceforge.net/svnroot/geonetwork/utilities/gemet/thesauri/.
+            </sch:assert>
+
+
+            <sch:let name="thesaurus_name" value="gmd:descriptiveKeywords/*/gmd:thesaurusName/*/gmd:title/*/text()"/>
+            <sch:let name="thesaurus_date" value="gmd:descriptiveKeywords/*/gmd:thesaurusName/*/gmd:date/*/gmd:date/*/text()"/>
+            <sch:let name="thesaurus_dateType" value="gmd:descriptiveKeywords/*/gmd:thesaurusName/*/gmd:date/*/gmd:dateType/*/@codeListValue/text()"/>
+            <sch:let name="keyword"
+                value="gmd:descriptiveKeywords/*/gmd:keyword/gco:CharacterString|
+				gmd:descriptiveKeywords/*/gmd:keyword/gmx:Anchor"/>
+            <sch:let name="inspire-theme-found"
+                value="count($inspire-thesaurus//skos:Concept[skos:prefLabel = $keyword])"/>
+            <sch:assert test="$inspire-theme-found > 0">
+                <sch:value-of select="$loc/strings/alert.M40/div"/>
+            </sch:assert>
+            <sch:report test="$inspire-theme-found > 0">
+                <sch:value-of select="$inspire-theme-found"/> <sch:value-of select="$loc/strings/report.M40/div"/>
+            </sch:report>
+            <sch:report test="$thesaurus_name">Thesaurus:
+                <sch:value-of select="$thesaurus_name"/>, <sch:value-of select="$thesaurus_date"/> (<sch:value-of select="$thesaurus_dateType"/>)
+            </sch:report>
+            <!-- TODO : We should check GEMET Thesaurus reference and date is set. -->
+        </sch:rule>
+
+    </sch:pattern>
+
+
+    <sch:pattern>
+        <sch:title>$loc/strings/serviceTaxonomy</sch:title>
+
+        <sch:rule context="//srv:SV_ServiceIdentification|//*[@gco:isoType='srv:SV_ServiceIdentification']">
+            <!-- Check that INSPIRE service taxonomy is available.
+                Use INSPIRE thesaurus available on SVN to check keywords in all EU languages.
+            -->
+            <sch:let name="inspire-thesaurus" value="document(concat('file:///', $thesaurusDir, '/external/thesauri/theme/inspire-service-taxonomy.rdf'))"/>
+            <sch:let name="inspire-st" value="$inspire-thesaurus//skos:Concept"/>
+
+            <!-- Display error if INSPIRE thesaurus is not available. -->
+            <sch:assert test="count($inspire-st) > 0">
+                INSPIRE service taxonomy thesaurus not found. Check installation in codelist/external/thesauri/theme.
+                Download thesaurus from https://geonetwork.svn.sourceforge.net/svnroot/geonetwork/utilities/gemet/thesauri/.
+            </sch:assert>
+
+
+            <sch:let name="keyword"
+                value="gmd:descriptiveKeywords/*/gmd:keyword/gco:CharacterString | gmd:descriptiveKeywords/*/gmd:keyword//gmd:LocalisedCharacterString |
+				gmd:descriptiveKeywords/*/gmd:keyword/gmx:Anchor"/>
+            <sch:let name="inspire-theme-found"
+                value="count($inspire-thesaurus//skos:Concept[skos:prefLabel = $keyword])"/>
+            <sch:assert test="$inspire-theme-found > 0">
+                <sch:value-of select="$loc/strings/alert.M58/div"/>
+            </sch:assert>
+            <sch:report test="$inspire-theme-found > 0">
+                <sch:value-of select="$inspire-theme-found"/> <sch:value-of select="$loc/strings/report.M58/div"/>
+            </sch:report>
+
+        </sch:rule>
+
+
+    </sch:pattern>
+
+
+
+    <sch:pattern>
+        <sch:title>$loc/strings/geo</sch:title>
+
+        <sch:rule context="//gmd:MD_DataIdentification[
+			normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'
+			or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'
+			or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '']
+			/gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox
+			|
+			//*[@gco:isoType='gmd:MD_DataIdentification' and (
+			normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'
+			or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'
+			or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '')]
+			/gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox
+			">
+
+            <sch:let name="west" value="number(gmd:westBoundLongitude/gco:Decimal/text())"/>
+            <sch:let name="east" value="number(gmd:eastBoundLongitude/gco:Decimal/text())"/>
+            <sch:let name="north" value="number(gmd:northBoundLatitude/gco:Decimal/text())"/>
+            <sch:let name="south" value="number(gmd:southBoundLatitude/gco:Decimal/text())"/>
+
+            <!-- assertions and report -->
+            <sch:assert test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)"><sch:value-of select="$loc/strings/alert.M41.W/div"/></sch:assert>
+            <sch:report test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)"><sch:value-of select="$loc/strings/report.M41.W/div"/>
+                <sch:value-of select="$west"/>
+            </sch:report>
+            <sch:assert test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)"><sch:value-of select="$loc/strings/alert.M41.E/div"/></sch:assert>
+            <sch:report test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)"><sch:value-of select="$loc/strings/report.M41.E/div"/>
+                <sch:value-of select="$east"/>
+            </sch:report>
+            <sch:assert test="(-90.00 &lt;= $south) and ($south &lt;= $north)"><sch:value-of select="$loc/strings/alert.M41.S/div"/></sch:assert>
+            <sch:report test="(-90.00 &lt;= $south) and ($south &lt;= $north)"><sch:value-of select="$loc/strings/report.M41.S/div"/>
+                <sch:value-of select="$south"/>
+            </sch:report>
+            <sch:assert test="($south &lt;= $north) and ($north &lt;= 90.00)"><sch:value-of select="$loc/strings/alert.M41.N/div"/></sch:assert>
+            <sch:report test="($south &lt;= $north) and ($north &lt;= 90.00)"><sch:value-of select="$loc/strings/report.M41.N/div"/>
+                <sch:value-of select="$north"/>
+            </sch:report>
+        </sch:rule>
+        <sch:rule context="//srv:SV_ServiceIdentification[
+			normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'service']
+			/srv:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox">
+            <sch:let name="west" value="number(gmd:westBoundLongitude/gco:Decimal/text())"/>
+            <sch:let name="east" value="number(gmd:eastBoundLongitude/gco:Decimal/text())"/>
+            <sch:let name="north" value="number(gmd:northBoundLatitude/gco:Decimal/text())"/>
+            <sch:let name="south" value="number(gmd:southBoundLatitude/gco:Decimal/text())"/>
+            <!-- report only but we should do assert if outOfBounds ? TODO -->
+            <sch:report test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)"><sch:value-of select="$loc/strings/report.M41.W/div"/>
+                <sch:value-of select="$west"/>
+            </sch:report>
+            <sch:report test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)"><sch:value-of select="$loc/strings/report.M41.E/div"/>
+                <sch:value-of select="$east"/>
+            </sch:report>
+            <sch:report test="(-90.00 &lt;= $south) and ($south &lt;= $north)"><sch:value-of select="$loc/strings/report.M41.S/div"/>
+                <sch:value-of select="$south"/>
+            </sch:report>
+            <sch:report test="($south &lt;= $north) and ($north &lt;= 90.00)"><sch:value-of select="$loc/strings/report.M41.N/div"/>
+                <sch:value-of select="$north"/>
+            </sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+
+
+    <sch:pattern>
+        <sch:title>$loc/strings/temporal</sch:title>
+        <sch:rule context="//gmd:MD_DataIdentification|
+			//*[@gco:isoType='gmd:MD_DataIdentification']|
+			//srv:SV_ServiceIdentification|
+			//*[@gco:isoType='srv:SV_ServiceIdentification']">
+            <sch:let name="temporalExtentBegin"
+                value="gmd:extent/*/gmd:temporalElement/*/gmd:extent/*/gml:beginPosition/text()"/>
+            <sch:let name="temporalExtentEnd"
+                value="gmd:extent/*/gmd:temporalElement/*/gmd:extent/*/gml:endPosition/text()"/>
+            <sch:let name="publicationDate"
+                value="gmd:citation/*/gmd:date[./*/gmd:dateType/*/@codeListValue='publication']/*/gmd:date/*"/>
+            <sch:let name="creationDate"
+                value="gmd:citation/*/gmd:date[./*/gmd:dateType/*/@codeListValue='creation']/*/gmd:date/*"/>
+            <sch:let name="no_creationDate"
+                value="count(gmd:citation/*/gmd:date[./*/gmd:dateType/*/@codeListValue='creation'])"/>
+            <sch:let name="revisionDate"
+                value="gmd:citation/*/gmd:date[./*/gmd:dateType/*/@codeListValue='revision']/*/gmd:date/*"/>
+
+
+            <sch:assert test="$no_creationDate &lt;= 1">
+                <sch:value-of select="$loc/strings/alert.M42.creation/div"/>
+            </sch:assert>
+
+            <sch:assert test="$publicationDate or $creationDate or $revisionDate or $temporalExtentBegin or $temporalExtentEnd">
+                <sch:value-of select="$loc/strings/alert.M42/div"/></sch:assert>
+            <sch:report test="$temporalExtentBegin">
+                <sch:value-of select="$loc/strings/report.M42.begin/div"/>
+                <sch:value-of select="$temporalExtentBegin"/>
+            </sch:report>
+            <sch:report test="$temporalExtentEnd">
+                <sch:value-of select="$loc/strings/report.M42.end/div"/>
+                <sch:value-of select="$temporalExtentEnd"/>
+            </sch:report>
+            <sch:report test="$publicationDate">
+                <sch:value-of select="$loc/strings/report.M42.publication/div"/>
+                <sch:value-of select="$publicationDate"/>
+            </sch:report>
+            <sch:report test="$revisionDate">
+                <sch:value-of select="$loc/strings/report.M42.revision/div"/>
+                <sch:value-of select="$revisionDate"/>
+            </sch:report>
+            <sch:report test="$creationDate">
+                <sch:value-of select="$loc/strings/report.M42.creation/div"/>
+                <sch:value-of select="$creationDate"/>
+            </sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+
+
+    <sch:pattern>
+        <sch:title>$loc/strings/quality</sch:title>
+        <sch:rule context="//gmd:DQ_DataQuality[../../gmd:identificationInfo/gmd:MD_DataIdentification
+			or ../../gmd:identificationInfo/*/@gco:isoType = 'gmd:MD_DataIdentification']">
+            <sch:let name="lineage" value="not(gmd:lineage/gmd:LI_Lineage/gmd:statement) or (gmd:lineage//gmd:statement/@gco:nilReason)"/>
+            <sch:assert test="not($lineage)"
+                >$loc/strings/alert.M43/div</sch:assert>
+            <sch:report test="not($lineage)"
+                >$loc/strings/report.M43/div</sch:report>
+        </sch:rule>
+
+        <sch:rule context="//gmd:MD_DataIdentification/gmd:spatialResolution|//*[@gco:isoType='gmd:MD_DataIdentification']/gmd:spatialResolution">
+            <sch:assert
+                test="*/gmd:equivalentScale or */gmd:distance"
+                >$loc/strings/alert.M56/div</sch:assert>
+            <sch:report
+                test="*/gmd:equivalentScale or */gmd:distance"
+                >$loc/strings/report.M56/div</sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+
+    <!-- Make a non blocker conformity check operation - no assertion here -->
+    <sch:pattern>
+        <sch:title>$loc/strings/conformity</sch:title>
+        <!-- Search for on quality report result with status ... We don't really know if it's an INSPIRE conformity report or not. -->
+        <sch:rule context="/gmd:MD_Metadata">
+            <sch:let name="degree" value="count(gmd:dataQualityInfo/*/gmd:report/*/gmd:result/*/gmd:pass)"/>
+            <sch:assert test="$degree">
+                <sch:value-of select="$loc/strings/alert.M44.nonev/div"/><sch:value-of select="$degree>0"/>
+            </sch:assert>
+            <sch:report test="$degree">
+                <sch:value-of select="$loc/strings/report.M44.nonev/div"/>
+            </sch:report>
+        </sch:rule>
+
+        <!-- Check specification names and status -->
+        <sch:rule context="//gmd:dataQualityInfo/*/gmd:report/*/gmd:result/*">
+            <sch:let name="degree" value="gmd:pass/*/text()"/>
+			<sch:let name="specification_title" value="gmd:specification/*/gmd:title/*/text()"/>
+            <sch:let name="specification_date" value="gmd:specification/*/gmd:date/*/gmd:date/*/text()"/>
+            <sch:let name="specification_dateType" value="normalize-space(gmd:specification/*/gmd:date/*/gmd:dateType/*/@codeListValue)"/>
+
+            <sch:report test="$specification_title"><sch:value-of select="$loc/strings/report.M44.spec/div"/>
+                <sch:value-of select="$specification_title"/>, (<sch:value-of select="$specification_date"/>, <sch:value-of select="$specification_dateType"/>)
+            </sch:report>
+            <sch:report test="$degree">
+                <sch:value-of select="$loc/strings/report.M44.degree/div"/>
+                <sch:value-of select="$degree"/>
+            </sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+
+
+
+    <sch:pattern>
+        <sch:title>$loc/strings/constraints</sch:title>
+        <sch:rule context="//gmd:MD_DataIdentification|
+			//*[@gco:isoType='gmd:MD_DataIdentification']|
+			//srv:SV_ServiceIdentification|
+			//*[@gco:isoType='srv:SV_ServiceIdentification']">
+            <sch:assert test="count(gmd:resourceConstraints/*) > 0">
+                <sch:value-of select="$loc/strings/alert.M45.rc/div"/>
+            </sch:assert>
+
+            <!-- cardinality of accessconstraints is [1..n] -->
+            <sch:let name="accessConstraints_count" value="count(gmd:resourceConstraints/*/gmd:accessConstraints[*/@codeListValue != ''])"/>
+            <sch:let name="accessConstraints_found" value="$accessConstraints_count > 0"/>
+
+            <!-- If the value of accessConstraints is otherRestrictions
+                there shall be instances of otherConstraints expressing
+                limitations on public access. This is because the
+                limitations on public access required by the INSPIRE
+                Directive may need the use of free text, and
+                otherConstraints is the only element allowing this data
+                type
+            -->
+            <sch:let name="accessConstraints"
+                value="
+				count(gmd:resourceConstraints/*/gmd:accessConstraints/gmd:MD_RestrictionCode[@codeListValue='otherRestrictions'])&gt;0 
+				and (
+				not(gmd:resourceConstraints/*/gmd:otherConstraints)     
+				or gmd:resourceConstraints/*/gmd:otherConstraints[@gco:nilReason='missing']
+				)"/>
+            <sch:let name="otherConstraints"
+                value="
+				gmd:resourceConstraints/*/gmd:otherConstraints and
+				gmd:resourceConstraints/*/gmd:otherConstraints/gco:CharacterString!='' and 
+				count(gmd:resourceConstraints/*/gmd:accessConstraints/gmd:MD_RestrictionCode[@codeListValue='otherRestrictions'])=0
+				"/>
+            <sch:let name="otherConstraintInfo"
+                value="gmd:resourceConstraints/*/gmd:otherConstraints/gco:CharacterString"/>
+
+            <sch:assert test="$accessConstraints_found">
+                <sch:value-of select="$loc/strings/alert.M45.ca/div"/>
+            </sch:assert>
+            <sch:report test="$accessConstraints_found">
+                <sch:value-of select="$accessConstraints_count"/> <sch:value-of select="$loc/strings/report.M45.ca/div"/>
+            </sch:report>
+            <sch:assert test="not($accessConstraints)">
+                <sch:value-of select="$loc/strings/alert.M45.or/div"/>
+            </sch:assert>
+            <sch:assert test="not($otherConstraints)">
+                <sch:value-of select="$loc/strings/alert.M45.or/div"/>
+            </sch:assert>
+            <sch:report test="$otherConstraintInfo!='' and not($accessConstraints) and not($otherConstraints)">
+                <sch:value-of select="$loc/strings/report.M45.or/div"/>
+                <sch:value-of select="$otherConstraintInfo"/>
+            </sch:report>
+
+        </sch:rule>
+
+
+
+        <sch:rule context="//gmd:MD_DataIdentification/gmd:resourceConstraints/*|
+			//*[@gco:isoType='gmd:MD_DataIdentification']/gmd:resourceConstraints/*|
+			//srv:SV_ServiceIdentification/gmd:resourceConstraints/*|
+			//*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:resourceConstraints/*">
+            <sch:let name="accessConstraints" value="string-join(gmd:accessConstraints/*/@codeListValue, ', ')"/>
+            <sch:let name="classification" value="string-join(gmd:classification/*/@codeListValue, ', ')"/>
+            <sch:let name="otherConstraints" value="gmd:otherConstraints/gco:CharacterString/text()"/>
+            <sch:report test="$accessConstraints!=''">
+                <sch:value-of select="$loc/strings/report.M45.ac/div"/>
+                <sch:value-of select="$accessConstraints"/>
+            </sch:report>
+            <sch:report test="$classification!=''">
+                <sch:value-of select="$loc/strings/report.M45.class/div"/>
+                <sch:value-of select="$classification"/>
+            </sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+    <sch:pattern>
+        <sch:title>$loc/strings/constraints</sch:title>
+        <sch:rule context="//gmd:MD_DataIdentification|
+			//*[@gco:isoType='gmd:MD_DataIdentification']|
+			//srv:SV_ServiceIdentification|
+			//*[@gco:isoType='srv:SV_ServiceIdentification']">
+            <sch:let name="useLimitation" value="gmd:resourceConstraints/*/gmd:useLimitation/*/text()"/>
+            <sch:let name="useLimitation_count" value="count(gmd:resourceConstraints/*/gmd:useLimitation/*/text())"/>
+            <sch:assert test="$useLimitation_count">
+                <sch:value-of select="$loc/strings/alert.M45.ul/div"/>
+            </sch:assert>
+            <sch:report test="$useLimitation_count">
+                <sch:value-of select="$loc/strings/report.M45.ul/div"/>
+                <sch:value-of select="$useLimitation"/>
+            </sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+    <sch:pattern>
+        <sch:title>$loc/strings/org</sch:title>
+
+        <sch:rule context="//gmd:identificationInfo">
+            <sch:let name="missing" value="not(*/gmd:pointOfContact)"/>
+            <sch:assert
+                test="not($missing)"
+                ><sch:value-of select="$loc/strings/alert.M47/div"/></sch:assert>
+            <sch:report
+                test="not($missing)"
+                ><sch:value-of select="$loc/strings/report.M47/div"/>
+            </sch:report>
+        </sch:rule>
+
+        <sch:rule context="//gmd:identificationInfo/*/gmd:pointOfContact
+			|//*[@gco:isoType='gmd:MD_DataIdentification']/gmd:pointOfContact
+			|//*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact">
+            <sch:let name="missing" value="not(*/gmd:organisationName)
+				or (*/gmd:organisationName/@gco:nilReason) 
+				or not(*/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress) 
+				or (*/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/@gco:nilReason)"/>
+            <sch:let name="organisationName" value="*/gmd:organisationName/*/text()"/>
+            <sch:let name="role" value="normalize-space(*/gmd:role/*/@codeListValue)"/>
+            <sch:let name="emptyRole" value="$role=''"/>
+            <sch:let name="emailAddress" value="*/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/*/text()"/>
+
+            <sch:assert
+                test="not($missing)"
+                ><sch:value-of select="$loc/strings/alert.M47.info/div"/></sch:assert>
+            <sch:assert
+                test="not($emptyRole)"
+                ><sch:value-of select="$loc/strings/alert.M48.role/div"/></sch:assert>
+            <sch:report
+                test="not($missing)"
+                ><sch:value-of select="$loc/strings/report.M47.info/div"/>
+                <sch:value-of select="$organisationName"/>
+                (<sch:value-of select="$role"/>)
+            </sch:report>
+        </sch:rule>
+
+
+    </sch:pattern>
+
+
+    <sch:pattern>
+        <sch:title>$loc/strings/metadata</sch:title>
+        <sch:rule context="//gmd:MD_Metadata">
+            <!--  Date stamp -->
+            <sch:let name="dateStamp" value="gmd:dateStamp/*/text()"/>
+            <sch:assert test="$dateStamp">
+                <sch:value-of select="$loc/strings/alert.M50/div"/>
+            </sch:assert>
+            <sch:report test="$dateStamp">
+                <sch:value-of select="$loc/strings/report.M50/div"/>
+                <sch:value-of select="$dateStamp"/>
+            </sch:report>
+
+
+            <!--  Language -->
+            <sch:let name="language" value="gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue"/>
+            <sch:let name="language_present" value="geonet:contains-any-of($language,
+				('eng', 'fre', 'ger', 'spa', 'dut', 'ita', 'cze', 'lav', 'dan', 'lit', 'mlt', 
+				'pol', 'est', 'por', 'fin', 'rum', 'slo', 'slv', 'gre', 'bul', 
+				'hun', 'swe', 'gle'))"/>
+
+            <sch:assert test="$language_present">
+                <sch:value-of select="$loc/strings/alert.M49/div"/>
+            </sch:assert>
+            <sch:report test="$language_present">
+                <sch:value-of select="$loc/strings/report.M49/div"/>
+                <sch:value-of select="normalize-space($language)"/>
+            </sch:report>
+
+
+            <!--  Contact -->
+            <sch:let name="missing" value="not(gmd:contact)"/>
+            <sch:assert
+                test="not($missing)"
+                ><sch:value-of select="$loc/strings/alert.M48/div"/></sch:assert>
+            <sch:report
+                test="not($missing)"
+                ><sch:value-of select="$loc/strings/report.M48/div"/>
+            </sch:report>
+        </sch:rule>
+
+        <sch:rule context="//gmd:MD_Metadata/gmd:contact">
+            <sch:let name="missing" value="not(gmd:CI_ResponsibleParty/gmd:organisationName)
+				or (gmd:CI_ResponsibleParty/gmd:organisationName/@gco:nilReason) 
+				or not(gmd:CI_ResponsibleParty/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress) 
+				or (gmd:CI_ResponsibleParty/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/@gco:nilReason)"/>
+            <sch:let name="organisationName" value="gmd:CI_ResponsibleParty/gmd:organisationName/*/text()"/>
+            <!--
+                2.11.1 "The role of the responsible party serving as a metadata
+                point of contact is out of scope of the INSPIRE
+                Implementing Rules, but this property is mandated by ISO
+                19115. The default value is pointOfContact."
+                JRC schematron 1.0 validate only if role=pointOfContact
+            -->
+            <sch:let name="role" value="normalize-space(gmd:CI_ResponsibleParty/gmd:role/*/@codeListValue)"/>
+            <sch:let name="emptyRole" value="$role=''"/>
+            <sch:let name="emailAddress" value="gmd:CI_ResponsibleParty/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/*/text()"/>
+
+            <sch:assert
+                test="not($emptyRole)"
+                ><sch:value-of select="$loc/strings/alert.M48.role/div"/></sch:assert>
+            <sch:assert
+                test="not($missing)"
+                ><sch:value-of select="$loc/strings/alert.M48.info/div"/></sch:assert>
+            <sch:report
+                test="not($missing)"
+                ><sch:value-of select="$loc/strings/report.M48.info/div"/>
+                <sch:value-of select="$organisationName"/>
+                (<sch:value-of select="$role"/>)
+            </sch:report>
+        </sch:rule>
+
+    </sch:pattern>
+
+    <!-- INSPIRE metadata rules / END -->
+
+</sch:schema>
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-inspire.xsl b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-inspire.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..7999b6090e2f633a5b9325ef2ea3a47012103dce
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-inspire.xsl
@@ -0,0 +1,2253 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xsl:stylesheet xmlns:xhtml="http://www.w3.org/1999/xhtml"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                xmlns:schold="http://www.ascc.net/xml/schematron"
+                xmlns:iso="http://purl.oclc.org/dsdl/schematron"
+                xmlns:gml="http://www.opengis.net/gml"
+                xmlns:gmd="http://www.isotc211.org/2005/gmd"
+                xmlns:gmx="http://www.isotc211.org/2005/gmx"
+                xmlns:srv="http://www.isotc211.org/2005/srv"
+                xmlns:gco="http://www.isotc211.org/2005/gco"
+                xmlns:geonet="http://www.fao.org/geonetwork"
+                xmlns:skos="http://www.w3.org/2004/02/skos/core#"
+                xmlns:xlink="http://www.w3.org/1999/xlink"
+                version="2.0"><!--Implementers: please note that overriding process-prolog or process-root is
+      the preferred method for meta-stylesheets to use where possible.
+    -->
+<xsl:param name="archiveDirParameter"/>
+   <xsl:param name="archiveNameParameter"/>
+   <xsl:param name="fileNameParameter"/>
+   <xsl:param name="fileDirParameter"/>
+   <xsl:variable name="document-uri">
+      <xsl:value-of select="document-uri(/)"/>
+   </xsl:variable>
+
+   <!--PHASES-->
+
+
+<!--PROLOG-->
+<xsl:output xmlns:svrl="http://purl.oclc.org/dsdl/svrl" method="xml"
+               omit-xml-declaration="no"
+               standalone="yes"
+               indent="yes"/>
+   <xsl:include xmlns:svrl="http://purl.oclc.org/dsdl/svrl" href="../../../xsl/utils-fn.xsl"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="lang"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="thesaurusDir"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="rule"/>
+   <xsl:variable xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="loc"
+                 select="document(concat('../loc/', $lang, '/', $rule, '.xml'))"/>
+
+   <!--XSD TYPES FOR XSLT2-->
+
+
+<!--KEYS AND FUNCTIONS-->
+
+
+<!--DEFAULT RULES-->
+
+
+<!--MODE: SCHEMATRON-SELECT-FULL-PATH-->
+<!--This mode can be used to generate an ugly though full XPath for locators
+    -->
+<xsl:template match="*" mode="schematron-select-full-path">
+      <xsl:apply-templates select="." mode="schematron-get-full-path"/>
+   </xsl:template>
+
+   <!--MODE: SCHEMATRON-FULL-PATH-->
+<!--This mode can be used to generate an ugly though full XPath for locators
+    -->
+<xsl:template match="*" mode="schematron-get-full-path">
+      <xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
+      <xsl:text>/</xsl:text>
+      <xsl:choose>
+         <xsl:when test="namespace-uri()=''">
+            <xsl:value-of select="name()"/>
+         </xsl:when>
+         <xsl:otherwise>
+            <xsl:text>*:</xsl:text>
+            <xsl:value-of select="local-name()"/>
+            <xsl:text>[namespace-uri()='</xsl:text>
+            <xsl:value-of select="namespace-uri()"/>
+            <xsl:text>']</xsl:text>
+         </xsl:otherwise>
+      </xsl:choose>
+      <xsl:variable name="preceding"
+                    select="count(preceding-sibling::*[local-name()=local-name(current())                                      and namespace-uri() = namespace-uri(current())])"/>
+      <xsl:text>[</xsl:text>
+      <xsl:value-of select="1+ $preceding"/>
+      <xsl:text>]</xsl:text>
+   </xsl:template>
+   <xsl:template match="@*" mode="schematron-get-full-path">
+      <xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
+      <xsl:text>/</xsl:text>
+      <xsl:choose>
+         <xsl:when test="namespace-uri()=''">@
+              <xsl:value-of select="name()"/>
+         </xsl:when>
+         <xsl:otherwise>
+            <xsl:text>@*[local-name()='</xsl:text>
+            <xsl:value-of select="local-name()"/>
+            <xsl:text>' and namespace-uri()='</xsl:text>
+            <xsl:value-of select="namespace-uri()"/>
+            <xsl:text>']</xsl:text>
+         </xsl:otherwise>
+      </xsl:choose>
+   </xsl:template>
+
+   <!--MODE: SCHEMATRON-FULL-PATH-2-->
+<!--This mode can be used to generate prefixed XPath for humans-->
+<xsl:template match="node() | @*" mode="schematron-get-full-path-2">
+      <xsl:for-each select="ancestor-or-self::*">
+         <xsl:text>/</xsl:text>
+         <xsl:value-of select="name(.)"/>
+         <xsl:if test="preceding-sibling::*[name(.)=name(current())]">
+            <xsl:text>[</xsl:text>
+            <xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
+            <xsl:text>]</xsl:text>
+         </xsl:if>
+      </xsl:for-each>
+      <xsl:if test="not(self::*)">
+         <xsl:text/>/@
+        <xsl:value-of select="name(.)"/>
+      </xsl:if>
+   </xsl:template>
+   <!--MODE: SCHEMATRON-FULL-PATH-3-->
+<!--This mode can be used to generate prefixed XPath for humans
+      (Top-level element has index)
+    -->
+<xsl:template match="node() | @*" mode="schematron-get-full-path-3">
+      <xsl:for-each select="ancestor-or-self::*">
+         <xsl:text>/</xsl:text>
+         <xsl:value-of select="name(.)"/>
+         <xsl:if test="parent::*">
+            <xsl:text>[</xsl:text>
+            <xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
+            <xsl:text>]</xsl:text>
+         </xsl:if>
+      </xsl:for-each>
+      <xsl:if test="not(self::*)">
+         <xsl:text/>/@
+        <xsl:value-of select="name(.)"/>
+      </xsl:if>
+   </xsl:template>
+
+   <!--MODE: GENERATE-ID-FROM-PATH-->
+<xsl:template match="/" mode="generate-id-from-path"/>
+   <xsl:template match="text()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/>
+   </xsl:template>
+   <xsl:template match="comment()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/>
+   </xsl:template>
+   <xsl:template match="processing-instruction()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/>
+   </xsl:template>
+   <xsl:template match="@*" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.@', name())"/>
+   </xsl:template>
+   <xsl:template match="*" mode="generate-id-from-path" priority="-0.5">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:text>.</xsl:text>
+      <xsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/>
+   </xsl:template>
+
+   <!--MODE: GENERATE-ID-2-->
+<xsl:template match="/" mode="generate-id-2">U</xsl:template>
+   <xsl:template match="*" mode="generate-id-2" priority="2">
+      <xsl:text>U</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+   </xsl:template>
+   <xsl:template match="node()" mode="generate-id-2">
+      <xsl:text>U.</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+      <xsl:text>n</xsl:text>
+      <xsl:number count="node()"/>
+   </xsl:template>
+   <xsl:template match="@*" mode="generate-id-2">
+      <xsl:text>U.</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="string-length(local-name(.))"/>
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="translate(name(),':','.')"/>
+   </xsl:template>
+   <!--Strip characters--><xsl:template match="text()" priority="-1"/>
+
+   <!--SCHEMA SETUP-->
+<xsl:template match="/">
+      <svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                              title="INSPIRE metadata implementing rule validation"
+                              schemaVersion="">
+         <xsl:comment>
+            <xsl:value-of select="$archiveDirParameter"/>
+         
+        <xsl:value-of select="$archiveNameParameter"/>
+         
+        <xsl:value-of select="$fileNameParameter"/>
+         
+        <xsl:value-of select="$fileDirParameter"/>
+         </xsl:comment>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.opengis.net/gml" prefix="gml"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/gmd" prefix="gmd"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/gmx" prefix="gmx"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/srv" prefix="srv"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/gco" prefix="gco"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.fao.org/geonetwork" prefix="geonet"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/2004/02/skos/core#" prefix="skos"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/1999/xlink" prefix="xlink"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/identification"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M9"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/dataIdentification"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M10"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/serviceIdentification"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M11"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/theme"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M12"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/serviceTaxonomy"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M13"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/geo"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M14"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/temporal"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M15"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/quality"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M16"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/conformity"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M17"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/constraints"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M18"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/constraints"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M19"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/org"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M20"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/metadata"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M21"/>
+      </svrl:schematron-output>
+   </xsl:template>
+
+   <!--SCHEMATRON PATTERNS-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">INSPIRE metadata implementing rule validation</svrl:text>
+
+   <!--PATTERN
+        $loc/strings/identification-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/identification"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation" priority="1003"
+                 mode="M9">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation"/>
+      <xsl:variable name="noResourceTitle"
+                    select="not(gmd:title) or gmd:title/@gco:nilReason='missing'"/>
+      <xsl:variable name="resourceTitle" select="gmd:title/*/text()"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($noResourceTitle)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($noResourceTitle)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M35/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($noResourceTitle)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($noResourceTitle)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M35/div"/>
+               <xsl:text/>
+               <xsl:text/>
+               <xsl:copy-of select="$resourceTitle"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M9"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:distributionInfo/*/gmd:transferOptions/*/gmd:onLine/gmd:CI_OnlineResource"
+                 priority="1002"
+                 mode="M9">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:distributionInfo/*/gmd:transferOptions/*/gmd:onLine/gmd:CI_OnlineResource"/>
+      <xsl:variable name="resourceLocator" select="gmd:linkage/*/text()"/>
+      <xsl:variable name="noResourceLocator"
+                    select="normalize-space(gmd:linkage/gmd:URL)=''      or not(gmd:linkage)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($noResourceLocator)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($noResourceLocator)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M52/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($noResourceLocator)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($noResourceLocator)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M52/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$resourceLocator"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M9"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Metadata" priority="1001" mode="M9">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:MD_Metadata"/>
+      <xsl:variable name="resourceType_present"
+                    select="gmd:hierarchyLevel/*/@codeListValue='dataset'     or gmd:hierarchyLevel/*/@codeListValue='series'     or gmd:hierarchyLevel/*/@codeListValue='service'"/>
+      <xsl:variable name="resourceType"
+                    select="string-join(gmd:hierarchyLevel/*/@codeListValue, ',')"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$resourceType_present"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$resourceType_present">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M37/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$resourceType_present">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$resourceType_present">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M37/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$resourceType"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M9"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']|    //srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"
+                 priority="1000"
+                 mode="M9">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']|    //srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"/>
+      <xsl:variable name="resourceAbstract" select="gmd:abstract/*/text()"/>
+      <xsl:variable name="noResourceAbstract"
+                    select="not(gmd:abstract) or gmd:abstract/@gco:nilReason='missing'"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($noResourceAbstract)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($noResourceAbstract)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M36/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($noResourceAbstract)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($noResourceAbstract)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M36/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$resourceAbstract"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M9"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M9"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M9">
+      <xsl:apply-templates select="*" mode="M9"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/dataIdentification-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/dataIdentification"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification[    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '']|    //*[@gco:isoType='gmd:MD_DataIdentification' and (    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '')]"
+                 priority="1000"
+                 mode="M10">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification[    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '']|    //*[@gco:isoType='gmd:MD_DataIdentification' and (    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '')]"/>
+      <xsl:variable name="resourceLanguage"
+                    select="string-join(gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue, ', ')"/>
+      <xsl:variable name="euLanguage"
+                    select="     not(gmd:language/@gco:nilReason='missing') and      geonet:contains-any-of($resourceLanguage,      ('eng', 'fre', 'ger', 'spa', 'dut', 'ita', 'cze', 'lav', 'dan', 'lit', 'mlt',      'pol', 'est', 'por', 'fin', 'rum', 'slo', 'slv', 'gre', 'bul',      'hun', 'swe', 'gle'))"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$euLanguage"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$euLanguage">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M55/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$euLanguage">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$euLanguage">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M55/div"/>
+               <xsl:text/>
+               <xsl:text/>
+               <xsl:copy-of select="$resourceLanguage"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:variable name="topic" select="gmd:topicCategory/gmd:MD_TopicCategoryCode"/>
+      <xsl:variable name="noTopic"
+                    select="not(gmd:topicCategory)  or     gmd:topicCategory/gmd:MD_TopicCategoryCode/text() = ''"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($noTopic)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($noTopic)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M39/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($noTopic)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($noTopic)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M39/div"/>
+               <xsl:text/>
+               <xsl:text/>
+               <xsl:copy-of select="$topic"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:variable name="resourceIdentifier"
+                    select="gmd:citation/gmd:CI_Citation/gmd:identifier     and not(gmd:citation/gmd:CI_Citation/gmd:identifier[*/gmd:code/@gco:nilReason='missing'])"/>
+      <xsl:variable name="resourceIdentifier_code"
+                    select="gmd:citation/gmd:CI_Citation/gmd:identifier/*/gmd:code/*/text()"/>
+      <xsl:variable name="resourceIdentifier_codeSpace"
+                    select="gmd:citation/gmd:CI_Citation/gmd:identifier/*/gmd:codeSpace/*/text()"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$resourceIdentifier"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$resourceIdentifier">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M38/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$resourceIdentifier_code">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$resourceIdentifier_code">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M38/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$resourceIdentifier_code"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$resourceIdentifier_codeSpace">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$resourceIdentifier_codeSpace">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M38.codespace/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$resourceIdentifier_codeSpace"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M10"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M10"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M10">
+      <xsl:apply-templates select="*" mode="M10"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/serviceIdentification-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/serviceIdentification"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"
+                 priority="1000"
+                 mode="M11">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"/>
+      <xsl:variable name="coupledResourceHref"
+                    select="string-join(srv:operatesOn/@xlink:href, ', ')"/>
+      <xsl:variable name="coupledResourceUUID" select="string-join(srv:operatesOn/@uuidref, ', ')"/>
+      <xsl:variable name="coupledResource"
+                    select="../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='service'     and //srv:operatesOn"/>
+
+      <!--REPORT
+      -->
+<xsl:if test="$coupledResource and $coupledResourceHref!=''">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$coupledResource and $coupledResourceHref!=''">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M51/div"/>
+               <xsl:text/>
+               <xsl:text/>
+               <xsl:copy-of select="$coupledResourceHref"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$coupledResource and $coupledResourceUUID!=''">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$coupledResource and $coupledResourceUUID!=''">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M51/div"/>
+               <xsl:text/>
+               <xsl:text/>
+               <xsl:copy-of select="$coupledResourceUUID"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:variable name="serviceType" select="srv:serviceType/gco:LocalName"/>
+      <xsl:variable name="noServiceType"
+                    select="geonet:contains-any-of(srv:serviceType/gco:LocalName,     ('view', 'discovery', 'download', 'transformation', 'invoke', 'other'))"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$noServiceType"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$noServiceType">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M60/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$noServiceType">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$noServiceType">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M60/div"/>
+               <xsl:text/>
+               <xsl:text/>
+               <xsl:copy-of select="$serviceType"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M11"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M11"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M11">
+      <xsl:apply-templates select="*" mode="M11"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/theme-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/theme"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']"
+                 priority="1000"
+                 mode="M12">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']"/>
+      <xsl:variable name="thesaurusURL"
+                    select="concat('file:///', $thesaurusDir, '/external/thesauri/theme/inspire-theme.rdf')"/>
+      <xsl:variable name="inspire-thesaurus" select="document($thesaurusURL)"/>
+      <xsl:variable name="inspire-theme" select="$inspire-thesaurus//skos:Concept"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="count($inspire-theme) &gt; 0"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="count($inspire-theme) &gt; 0">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                INSPIRE Theme thesaurus not found (at <xsl:text/>
+                  <xsl:copy-of select="$thesaurusURL"/>
+                  <xsl:text/>. Check installation in codelist/external/thesauri/theme.
+                Download thesaurus from https://geonetwork.svn.sourceforge.net/svnroot/geonetwork/utilities/gemet/thesauri/.
+            </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+      <xsl:variable name="thesaurus_name"
+                    select="gmd:descriptiveKeywords/*/gmd:thesaurusName/*/gmd:title/*/text()"/>
+      <xsl:variable name="thesaurus_date"
+                    select="gmd:descriptiveKeywords/*/gmd:thesaurusName/*/gmd:date/*/gmd:date/*/text()"/>
+      <xsl:variable name="thesaurus_dateType"
+                    select="gmd:descriptiveKeywords/*/gmd:thesaurusName/*/gmd:date/*/gmd:dateType/*/@codeListValue/text()"/>
+      <xsl:variable name="keyword"
+                    select="gmd:descriptiveKeywords/*/gmd:keyword/gco:CharacterString|     gmd:descriptiveKeywords/*/gmd:keyword/gmx:Anchor"/>
+      <xsl:variable name="inspire-theme-found"
+                    select="count($inspire-thesaurus//skos:Concept[skos:prefLabel = $keyword])"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$inspire-theme-found &gt; 0"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$inspire-theme-found &gt; 0">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M40/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$inspire-theme-found &gt; 0">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$inspire-theme-found &gt; 0">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$inspire-theme-found"/>
+               <xsl:text/> 
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M40/div"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$thesaurus_name">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$thesaurus_name">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>Thesaurus:
+                <xsl:text/>
+               <xsl:copy-of select="$thesaurus_name"/>
+               <xsl:text/>, <xsl:text/>
+               <xsl:copy-of select="$thesaurus_date"/>
+               <xsl:text/> (<xsl:text/>
+               <xsl:copy-of select="$thesaurus_dateType"/>
+               <xsl:text/>)
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M12"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M12"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M12">
+      <xsl:apply-templates select="*" mode="M12"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/serviceTaxonomy-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/serviceTaxonomy"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//srv:SV_ServiceIdentification|//*[@gco:isoType='srv:SV_ServiceIdentification']"
+                 priority="1000"
+                 mode="M13">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//srv:SV_ServiceIdentification|//*[@gco:isoType='srv:SV_ServiceIdentification']"/>
+      <xsl:variable name="inspire-thesaurus"
+                    select="document(concat('file:///', $thesaurusDir, '/external/thesauri/theme/inspire-service-taxonomy.rdf'))"/>
+      <xsl:variable name="inspire-st" select="$inspire-thesaurus//skos:Concept"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="count($inspire-st) &gt; 0"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="count($inspire-st) &gt; 0">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                INSPIRE service taxonomy thesaurus not found. Check installation in codelist/external/thesauri/theme.
+                Download thesaurus from https://geonetwork.svn.sourceforge.net/svnroot/geonetwork/utilities/gemet/thesauri/.
+            </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+      <xsl:variable name="keyword"
+                    select="gmd:descriptiveKeywords/*/gmd:keyword/gco:CharacterString | gmd:descriptiveKeywords/*/gmd:keyword//gmd:LocalisedCharacterString |     gmd:descriptiveKeywords/*/gmd:keyword/gmx:Anchor"/>
+      <xsl:variable name="inspire-theme-found"
+                    select="count($inspire-thesaurus//skos:Concept[skos:prefLabel = $keyword])"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$inspire-theme-found &gt; 0"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$inspire-theme-found &gt; 0">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M58/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$inspire-theme-found &gt; 0">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$inspire-theme-found &gt; 0">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$inspire-theme-found"/>
+               <xsl:text/> 
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M58/div"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M13"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M13"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M13">
+      <xsl:apply-templates select="*" mode="M13"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/geo-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/geo"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification[    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '']    /gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox    |    //*[@gco:isoType='gmd:MD_DataIdentification' and (    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '')]    /gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox    "
+                 priority="1001"
+                 mode="M14">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification[    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '']    /gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox    |    //*[@gco:isoType='gmd:MD_DataIdentification' and (    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'series'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'dataset'    or normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = '')]    /gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox    "/>
+      <xsl:variable name="west" select="number(gmd:westBoundLongitude/gco:Decimal/text())"/>
+      <xsl:variable name="east" select="number(gmd:eastBoundLongitude/gco:Decimal/text())"/>
+      <xsl:variable name="north" select="number(gmd:northBoundLatitude/gco:Decimal/text())"/>
+      <xsl:variable name="south" select="number(gmd:southBoundLatitude/gco:Decimal/text())"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M41.W/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M41.W/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$west"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M41.E/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M41.E/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$east"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="(-90.00 &lt;= $south) and ($south &lt;= $north)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="(-90.00 &lt;= $south) and ($south &lt;= $north)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M41.S/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="(-90.00 &lt;= $south) and ($south &lt;= $north)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="(-90.00 &lt;= $south) and ($south &lt;= $north)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M41.S/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$south"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="($south &lt;= $north) and ($north &lt;= 90.00)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="($south &lt;= $north) and ($north &lt;= 90.00)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M41.N/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="($south &lt;= $north) and ($north &lt;= 90.00)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="($south &lt;= $north) and ($north &lt;= 90.00)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M41.N/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$north"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M14"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//srv:SV_ServiceIdentification[    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'service']    /srv:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox"
+                 priority="1000"
+                 mode="M14">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//srv:SV_ServiceIdentification[    normalize-space(../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue) = 'service']    /srv:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox"/>
+      <xsl:variable name="west" select="number(gmd:westBoundLongitude/gco:Decimal/text())"/>
+      <xsl:variable name="east" select="number(gmd:eastBoundLongitude/gco:Decimal/text())"/>
+      <xsl:variable name="north" select="number(gmd:northBoundLatitude/gco:Decimal/text())"/>
+      <xsl:variable name="south" select="number(gmd:southBoundLatitude/gco:Decimal/text())"/>
+
+      <!--REPORT
+      -->
+<xsl:if test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="(-180.00 &lt;= $west) and ( $west &lt;= 180.00)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M41.W/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$west"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="(-180.00 &lt;= $east) and ($east &lt;= 180.00)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M41.E/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$east"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="(-90.00 &lt;= $south) and ($south &lt;= $north)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="(-90.00 &lt;= $south) and ($south &lt;= $north)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M41.S/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$south"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="($south &lt;= $north) and ($north &lt;= 90.00)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="($south &lt;= $north) and ($north &lt;= 90.00)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M41.N/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$north"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M14"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M14"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M14">
+      <xsl:apply-templates select="*" mode="M14"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/temporal-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/temporal"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']|    //srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"
+                 priority="1000"
+                 mode="M15">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']|    //srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"/>
+      <xsl:variable name="temporalExtentBegin"
+                    select="gmd:extent/*/gmd:temporalElement/*/gmd:extent/*/gml:beginPosition/text()"/>
+      <xsl:variable name="temporalExtentEnd"
+                    select="gmd:extent/*/gmd:temporalElement/*/gmd:extent/*/gml:endPosition/text()"/>
+      <xsl:variable name="publicationDate"
+                    select="gmd:citation/*/gmd:date[./*/gmd:dateType/*/@codeListValue='publication']/*/gmd:date/*"/>
+      <xsl:variable name="creationDate"
+                    select="gmd:citation/*/gmd:date[./*/gmd:dateType/*/@codeListValue='creation']/*/gmd:date/*"/>
+      <xsl:variable name="no_creationDate"
+                    select="count(gmd:citation/*/gmd:date[./*/gmd:dateType/*/@codeListValue='creation'])"/>
+      <xsl:variable name="revisionDate"
+                    select="gmd:citation/*/gmd:date[./*/gmd:dateType/*/@codeListValue='revision']/*/gmd:date/*"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$no_creationDate &lt;= 1"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$no_creationDate &lt;= 1">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M42.creation/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$publicationDate or $creationDate or $revisionDate or $temporalExtentBegin or $temporalExtentEnd"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$publicationDate or $creationDate or $revisionDate or $temporalExtentBegin or $temporalExtentEnd">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M42/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$temporalExtentBegin">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$temporalExtentBegin">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M42.begin/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$temporalExtentBegin"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$temporalExtentEnd">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$temporalExtentEnd">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M42.end/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$temporalExtentEnd"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$publicationDate">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$publicationDate">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M42.publication/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$publicationDate"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$revisionDate">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$revisionDate">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M42.revision/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$revisionDate"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$creationDate">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$creationDate">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M42.creation/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$creationDate"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M15"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M15"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M15">
+      <xsl:apply-templates select="*" mode="M15"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/quality-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/quality"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:DQ_DataQuality[../../gmd:identificationInfo/gmd:MD_DataIdentification    or ../../gmd:identificationInfo/*/@gco:isoType = 'gmd:MD_DataIdentification']"
+                 priority="1001"
+                 mode="M16">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:DQ_DataQuality[../../gmd:identificationInfo/gmd:MD_DataIdentification    or ../../gmd:identificationInfo/*/@gco:isoType = 'gmd:MD_DataIdentification']"/>
+      <xsl:variable name="lineage"
+                    select="not(gmd:lineage/gmd:LI_Lineage/gmd:statement) or (gmd:lineage//gmd:statement/@gco:nilReason)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($lineage)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($lineage)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M43/div"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($lineage)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($lineage)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M43/div"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M16"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification/gmd:spatialResolution|//*[@gco:isoType='gmd:MD_DataIdentification']/gmd:spatialResolution"
+                 priority="1000"
+                 mode="M16">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification/gmd:spatialResolution|//*[@gco:isoType='gmd:MD_DataIdentification']/gmd:spatialResolution"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="*/gmd:equivalentScale or */gmd:distance"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="*/gmd:equivalentScale or */gmd:distance">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M56/div"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="*/gmd:equivalentScale or */gmd:distance">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="*/gmd:equivalentScale or */gmd:distance">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M56/div"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M16"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M16"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M16">
+      <xsl:apply-templates select="*" mode="M16"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/conformity-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/conformity"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="/gmd:MD_Metadata" priority="1001" mode="M17">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/gmd:MD_Metadata"/>
+      <xsl:variable name="degree"
+                    select="count(gmd:dataQualityInfo/*/gmd:report/*/gmd:result/*/gmd:pass)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$degree"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$degree">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M44.nonev/div"/>
+                  <xsl:text/>
+                  <xsl:text/>
+                  <xsl:copy-of select="$degree&gt;0"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$degree">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$degree">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M44.nonev/div"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M17"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:dataQualityInfo/*/gmd:report/*/gmd:result/*" priority="1000"
+                 mode="M17">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:dataQualityInfo/*/gmd:report/*/gmd:result/*"/>
+      <xsl:variable name="degree" select="gmd:pass/*/text()"/>
+      <xsl:variable name="specification_title" select="gmd:specification/*/gmd:title/*/text()"/>
+      <xsl:variable name="specification_date"
+                    select="gmd:specification/*/gmd:date/*/gmd:date/*/text()"/>
+      <xsl:variable name="specification_dateType"
+                    select="normalize-space(gmd:specification/*/gmd:date/*/gmd:dateType/*/@codeListValue)"/>
+
+      <!--REPORT
+      -->
+<xsl:if test="$specification_title">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$specification_title">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M44.spec/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$specification_title"/>
+               <xsl:text/>, (<xsl:text/>
+               <xsl:copy-of select="$specification_date"/>
+               <xsl:text/>, <xsl:text/>
+               <xsl:copy-of select="$specification_dateType"/>
+               <xsl:text/>)
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$degree">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$degree">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M44.degree/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$degree"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M17"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M17"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M17">
+      <xsl:apply-templates select="*" mode="M17"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/constraints-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/constraints"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']|    //srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"
+                 priority="1001"
+                 mode="M18">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']|    //srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="count(gmd:resourceConstraints/*) &gt; 0"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="count(gmd:resourceConstraints/*) &gt; 0">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M45.rc/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+      <xsl:variable name="accessConstraints_count"
+                    select="count(gmd:resourceConstraints/*/gmd:accessConstraints[*/@codeListValue != ''])"/>
+      <xsl:variable name="accessConstraints_found" select="$accessConstraints_count &gt; 0"/>
+      <xsl:variable name="accessConstraints"
+                    select="     count(gmd:resourceConstraints/*/gmd:accessConstraints/gmd:MD_RestrictionCode[@codeListValue='otherRestrictions'])&gt;0      and (     not(gmd:resourceConstraints/*/gmd:otherConstraints)          or gmd:resourceConstraints/*/gmd:otherConstraints[@gco:nilReason='missing']     )"/>
+      <xsl:variable name="otherConstraints"
+                    select="     gmd:resourceConstraints/*/gmd:otherConstraints and     gmd:resourceConstraints/*/gmd:otherConstraints/gco:CharacterString!='' and      count(gmd:resourceConstraints/*/gmd:accessConstraints/gmd:MD_RestrictionCode[@codeListValue='otherRestrictions'])=0     "/>
+      <xsl:variable name="otherConstraintInfo"
+                    select="gmd:resourceConstraints/*/gmd:otherConstraints/gco:CharacterString"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$accessConstraints_found"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$accessConstraints_found">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M45.ca/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$accessConstraints_found">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$accessConstraints_found">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$accessConstraints_count"/>
+               <xsl:text/> 
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M45.ca/div"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($accessConstraints)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($accessConstraints)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M45.or/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($otherConstraints)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($otherConstraints)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M45.or/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$otherConstraintInfo!='' and not($accessConstraints) and not($otherConstraints)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$otherConstraintInfo!='' and not($accessConstraints) and not($otherConstraints)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M45.or/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$otherConstraintInfo"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M18"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification/gmd:resourceConstraints/*|    //*[@gco:isoType='gmd:MD_DataIdentification']/gmd:resourceConstraints/*|    //srv:SV_ServiceIdentification/gmd:resourceConstraints/*|    //*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:resourceConstraints/*"
+                 priority="1000"
+                 mode="M18">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification/gmd:resourceConstraints/*|    //*[@gco:isoType='gmd:MD_DataIdentification']/gmd:resourceConstraints/*|    //srv:SV_ServiceIdentification/gmd:resourceConstraints/*|    //*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:resourceConstraints/*"/>
+      <xsl:variable name="accessConstraints"
+                    select="string-join(gmd:accessConstraints/*/@codeListValue, ', ')"/>
+      <xsl:variable name="classification"
+                    select="string-join(gmd:classification/*/@codeListValue, ', ')"/>
+      <xsl:variable name="otherConstraints"
+                    select="gmd:otherConstraints/gco:CharacterString/text()"/>
+
+      <!--REPORT
+      -->
+<xsl:if test="$accessConstraints!=''">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$accessConstraints!=''">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M45.ac/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$accessConstraints"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="$classification!=''">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$classification!=''">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M45.class/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$classification"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M18"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M18"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M18">
+      <xsl:apply-templates select="*" mode="M18"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/constraints-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/constraints"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']|    //srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"
+                 priority="1000"
+                 mode="M19">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification|    //*[@gco:isoType='gmd:MD_DataIdentification']|    //srv:SV_ServiceIdentification|    //*[@gco:isoType='srv:SV_ServiceIdentification']"/>
+      <xsl:variable name="useLimitation"
+                    select="gmd:resourceConstraints/*/gmd:useLimitation/*/text()"/>
+      <xsl:variable name="useLimitation_count"
+                    select="count(gmd:resourceConstraints/*/gmd:useLimitation/*/text())"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$useLimitation_count"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$useLimitation_count">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M45.ul/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$useLimitation_count">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$useLimitation_count">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M45.ul/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$useLimitation"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M19"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M19"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M19">
+      <xsl:apply-templates select="*" mode="M19"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/org-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/org"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo" priority="1001" mode="M20">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:identificationInfo"/>
+      <xsl:variable name="missing" select="not(*/gmd:pointOfContact)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($missing)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($missing)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M47/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($missing)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($missing)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M47/div"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M20"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo/*/gmd:pointOfContact    |//*[@gco:isoType='gmd:MD_DataIdentification']/gmd:pointOfContact    |//*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact"
+                 priority="1000"
+                 mode="M20">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:identificationInfo/*/gmd:pointOfContact    |//*[@gco:isoType='gmd:MD_DataIdentification']/gmd:pointOfContact    |//*[@gco:isoType='srv:SV_ServiceIdentification']/gmd:pointOfContact"/>
+      <xsl:variable name="missing"
+                    select="not(*/gmd:organisationName)     or (*/gmd:organisationName/@gco:nilReason)      or not(*/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress)      or (*/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/@gco:nilReason)"/>
+      <xsl:variable name="organisationName" select="*/gmd:organisationName/*/text()"/>
+      <xsl:variable name="role" select="normalize-space(*/gmd:role/*/@codeListValue)"/>
+      <xsl:variable name="emptyRole" select="$role=''"/>
+      <xsl:variable name="emailAddress"
+                    select="*/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/*/text()"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($missing)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($missing)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M47.info/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($emptyRole)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($emptyRole)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M48.role/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($missing)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($missing)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M47.info/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$organisationName"/>
+               <xsl:text/>
+                (<xsl:text/>
+               <xsl:copy-of select="$role"/>
+               <xsl:text/>)
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M20"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M20"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M20">
+      <xsl:apply-templates select="*" mode="M20"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/metadata-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/metadata"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Metadata" priority="1001" mode="M21">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:MD_Metadata"/>
+      <xsl:variable name="dateStamp" select="gmd:dateStamp/*/text()"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$dateStamp"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$dateStamp">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M50/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$dateStamp">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$dateStamp">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M50/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$dateStamp"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:variable name="language"
+                    select="gmd:language/gco:CharacterString|gmd:language/gmd:LanguageCode/@codeListValue"/>
+      <xsl:variable name="language_present"
+                    select="geonet:contains-any-of($language,     ('eng', 'fre', 'ger', 'spa', 'dut', 'ita', 'cze', 'lav', 'dan', 'lit', 'mlt',      'pol', 'est', 'por', 'fin', 'rum', 'slo', 'slv', 'gre', 'bul',      'hun', 'swe', 'gle'))"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$language_present"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$language_present">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M49/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$language_present">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$language_present">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M49/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="normalize-space($language)"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:variable name="missing" select="not(gmd:contact)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($missing)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($missing)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M48/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($missing)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($missing)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M48/div"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M21"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Metadata/gmd:contact" priority="1000" mode="M21">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_Metadata/gmd:contact"/>
+      <xsl:variable name="missing"
+                    select="not(gmd:CI_ResponsibleParty/gmd:organisationName)     or (gmd:CI_ResponsibleParty/gmd:organisationName/@gco:nilReason)      or not(gmd:CI_ResponsibleParty/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress)      or (gmd:CI_ResponsibleParty/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/@gco:nilReason)"/>
+      <xsl:variable name="organisationName"
+                    select="gmd:CI_ResponsibleParty/gmd:organisationName/*/text()"/>
+      <xsl:variable name="role"
+                    select="normalize-space(gmd:CI_ResponsibleParty/gmd:role/*/@codeListValue)"/>
+      <xsl:variable name="emptyRole" select="$role=''"/>
+      <xsl:variable name="emailAddress"
+                    select="gmd:CI_ResponsibleParty/gmd:contactInfo/*/gmd:address/*/gmd:electronicMailAddress/*/text()"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($emptyRole)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($emptyRole)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M48.role/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="not($missing)"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="not($missing)">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M48.info/div"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="not($missing)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not($missing)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M48.info/div"/>
+               <xsl:text/>
+                <xsl:text/>
+               <xsl:copy-of select="$organisationName"/>
+               <xsl:text/>
+                (<xsl:text/>
+               <xsl:copy-of select="$role"/>
+               <xsl:text/>)
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M21"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M21"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M21">
+      <xsl:apply-templates select="*" mode="M21"/>
+   </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-iso.sch b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-iso.sch
new file mode 100644
index 0000000000000000000000000000000000000000..a55982ee45d36bbfe6c7581416a5745557ac6f03
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-iso.sch
@@ -0,0 +1,568 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+	<!--
+
+This Schematron schema merges three sets of Schematron rules
+1. Schematron rules embedded in the GML 3.2 schema
+2. Schematron rules implementing the Additional Constraints described in 
+   ISO 19139 Table A.1
+3. INSPIRE IR on metadata for datasets and services.
+
+
+This script was written by CSIRO for the Australia-New Zealand Land 
+Information Council (ANZLIC) as part of a project to develop an XML 
+implementation of the ANZLIC ISO Metadata Profile. 
+
+December 2006, March 2007
+
+Port back to good old Schematron-1.5 for use with schematron-report.xsl
+and change titles for use as bare bones 19115/19139 schematron checker 
+in GN 2.2 onwards.
+
+Simon Pigot, 2007
+Francois Prunayre, 2008
+Etienne Taffoureau, 2008
+
+This work is licensed under the Creative Commons Attribution 2.5 License. 
+To view a copy of this license, visit 
+    http://creativecommons.org/licenses/by/2.5/au/ 
+
+or send a letter to:
+
+Creative Commons, 
+543 Howard Street, 5th Floor, 
+San Francisco, California, 94105, 
+USA.
+
+-->
+
+	<sch:title xmlns="http://www.w3.org/2001/XMLSchema">Schematron validation for ISO
+		19115(19139)</sch:title>
+	<sch:ns prefix="gml" uri="http://www.opengis.net/gml"/>
+	<sch:ns prefix="gmd" uri="http://www.isotc211.org/2005/gmd"/>
+	<sch:ns prefix="srv" uri="http://www.isotc211.org/2005/srv"/>
+	<sch:ns prefix="gco" uri="http://www.isotc211.org/2005/gco"/>
+	<sch:ns prefix="geonet" uri="http://www.fao.org/geonetwork"/>
+	<sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/>
+
+	<!-- Test that every CharacterString element has content or it's parent has a
+   		 valid nilReason attribute value - this is not necessary for geonetwork 
+			 because update-fixed-info.xsl supplies a gco:nilReason of missing for 
+			 all gco:CharacterString elements with no content and removes it if the
+			 user fills in a value - this is the same for all gco:nilReason tests 
+			 used below - the test for gco:nilReason in 'inapplicable....' etc is
+			 "mickey mouse" for that reason. -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M6</sch:title>
+		<sch:rule context="*[gco:CharacterString]">
+			<sch:report
+				test="(normalize-space(gco:CharacterString) = '') and (not(@gco:nilReason) or not(contains('inapplicable missing template unknown withheld',@gco:nilReason)))"
+				>$loc/strings/alert.M6.characterString</sch:report>
+		</sch:rule>
+	</sch:pattern>
+
+	<sch:pattern>
+		<sch:title>$loc/strings/M7</sch:title>
+		<!-- UNVERIFIED -->
+		<sch:rule id="CRSLabelsPosType" context="//gml:DirectPositionType">
+			<sch:report test="not(@srsDimension) or @srsName"
+				>$loc/strings/alert.M6.directPosition</sch:report>
+			<sch:report test="not(@axisLabels) or @srsName"
+				>$loc/strings/alert.M7.axisAndSrs</sch:report>
+			<sch:report test="not(@uomLabels) or @srsName"
+				>$loc/strings/alert.M7.uomAndSrs</sch:report>
+			<sch:report
+				test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)"
+				>$loc/strings/alert.M7.uomAndAxis</sch:report>
+		</sch:rule>
+	</sch:pattern>
+
+	<!--anzlic/trunk/gml/3.2.0/gmd/citation.xsd-->
+	<!-- TEST 21 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M8</sch:title>
+		<sch:rule context="//*[gmd:CI_ResponsibleParty]">
+			<sch:let name="count" value="(count(gmd:CI_ResponsibleParty/gmd:individualName[@gco:nilReason!='missing' or not(@gco:nilReason)]) 
+				+ count(gmd:CI_ResponsibleParty/gmd:organisationName[@gco:nilReason!='missing' or not(@gco:nilReason)])
+				+ count(gmd:CI_ResponsibleParty/gmd:positionName[@gco:nilReason!='missing' or not(@gco:nilReason)]))"/>
+			<sch:assert
+				test="$count > 0"
+				>$loc/strings/alert.M8</sch:assert>
+			<sch:report
+				test="$count > 0"
+				><sch:value-of select="$loc/strings/report.M8"/> 
+				<sch:value-of select="gmd:CI_ResponsibleParty/gmd:organisationName"/>-
+				<sch:value-of select="gmd:CI_ResponsibleParty/gmd:individualName"/>
+			</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- anzlic/trunk/gml/3.2.0/gmd/constraints.xsd-->
+	<!-- TEST  4 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M9</sch:title>
+		<sch:rule context="//gmd:MD_LegalConstraints[gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']
+			|//*[@gco:isoType='gmd:MD_LegalConstraints' and gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']">
+			<sch:let name="access" value="not(gmd:otherConstraints) 
+				or count(gmd:otherConstraints[gco:CharacterString = '']) > 0 
+				or gmd:otherConstraints/@gco:nilReason='missing'"/>
+			<sch:assert
+				test="$access = false()"
+				>
+				<sch:value-of select="$loc/strings/alert.M9.access"/>
+			</sch:assert>
+			<sch:report
+				test="$access = false()"
+				><sch:value-of select="$loc/strings/report.M9"/>
+				<sch:value-of select="gmd:otherConstraints/gco:CharacterString"/>
+			</sch:report>
+		</sch:rule>
+		<sch:rule context="//gmd:MD_LegalConstraints[gmd:useConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']
+			|//*[@gco:isoType='gmd:MD_LegalConstraints' and gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']">
+			<sch:let name="use" value="(not(gmd:otherConstraints) or not(string(gmd:otherConstraints/gco:CharacterString)) or gmd:otherConstraints/@gco:nilReason='missing')"/>
+			<sch:assert
+				test="$use = false()"
+				><sch:value-of select="$loc/strings/alert.M9.use"/>
+			</sch:assert>
+			<sch:report
+				test="$use = false()"
+				><sch:value-of select="$loc/strings/report.M9"/>
+				<sch:value-of select="gmd:otherConstraints/gco:CharacterString"/>
+			</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- anzlic/trunk/gml/3.2.0/gmd/content.xsd-->
+	<!-- TEST 13 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M10</sch:title>
+		<sch:rule context="//gmd:MD_Band[gmd:maxValue or gmd:minValue]">
+			<sch:let name="values" value="(gmd:maxValue[@gco:nilReason!='missing' or not(@gco:nilReason)]
+				or gmd:minValue[@gco:nilReason!='missing' or not(@gco:nilReason)]) 
+				and not(gmd:units)"/>
+			<sch:assert test="$values = false()"
+				><sch:value-of select="$loc/strings/alert.M9"/>
+			</sch:assert>
+			<sch:report test="$values = false()"
+				>
+				<sch:value-of select="$loc/strings/report.M9.min"/>
+				<sch:value-of select="gmd:minValue"/> / 
+				<sch:value-of select="$loc/strings/report.M9.max"/>
+				<sch:value-of select="gmd:maxValue"/> [
+				<sch:value-of select="$loc/strings/report.M9.units"/>
+				<sch:value-of select="gmd:units"/>]
+			</sch:report>
+			<!-- FIXME : Rename to alert M10 -->
+		</sch:rule>
+	</sch:pattern>
+	<!-- anzlic/trunk/gml/3.2.0/gmd/dataQuality.xsd -->
+	<!-- TEST 10 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M11</sch:title>
+		<sch:rule context="//gmd:LI_Source">
+			<sch:let name="extent" value="gmd:description[@gco:nilReason!='missing' or not(@gco:nilReason)] or gmd:sourceExtent"/>
+			<sch:assert test="$extent"
+				>$loc/strings/alert.M11</sch:assert>
+			<sch:report test="$extent"
+				>$loc/strings/report.M11</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST  7 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M13</sch:title>
+		<sch:rule context="//gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset' 
+			or gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='series']">
+			<sch:let name="emptyStatement" value="
+				count(*/gmd:LI_Lineage/gmd:source) + count(*/gmd:LI_Lineage/gmd:processStep) = 0 
+				and not(gmd:lineage/gmd:LI_Lineage/gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)]) 
+				"/>
+			<sch:assert
+				test="$emptyStatement = false()"
+				>$loc/strings/alert.M13</sch:assert>
+			<sch:report
+				test="$emptyStatement = false()"
+				>$loc/strings/report.M13</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST  8 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M14</sch:title>
+		<sch:rule context="//gmd:LI_Lineage">
+			<sch:let name="emptySource" value="not(gmd:source) 
+				and not(gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)]) 
+				and not(gmd:processStep)"/>
+			<sch:assert test="$emptySource = false()"
+				>$loc/strings/alert.M14</sch:assert>
+			<sch:report test="$emptySource = false()"
+				>$loc/strings/report.M14</sch:report>
+
+			<sch:let name="emptyProcessStep" value="not(gmd:processStep) 
+				and not(gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)])
+				and not(gmd:source)"/>
+			<sch:assert test="$emptyProcessStep = false()"
+				>$loc/strings/alert.M15</sch:assert>
+			<sch:report test="$emptyProcessStep = false()"
+				>$loc/strings/report.M15</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST 5 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M16</sch:title>
+		<sch:rule context="//gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset']">
+			<sch:let name="noReportNorLineage" value="not(gmd:report) 
+				and not(gmd:lineage)"/>
+			<sch:assert
+				test="$noReportNorLineage = false()"
+				>$loc/strings/alert.M16</sch:assert>
+			<sch:report
+				test="$noReportNorLineage = false()"
+				>$loc/strings/report.M16</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST  6 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M17</sch:title>
+		<sch:rule context="//gmd:DQ_Scope">
+			<sch:let name="levelDesc" value="gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset' 
+				or gmd:level/gmd:MD_ScopeCode/@codeListValue='series' 
+				or (gmd:levelDescription and ((normalize-space(gmd:levelDescription) != '') 
+				or (gmd:levelDescription/gmd:MD_ScopeDescription) 
+				or (gmd:levelDescription/@gco:nilReason 
+				and contains('inapplicable missing template unknown withheld',gmd:levelDescription/@gco:nilReason))))"/>
+			<sch:assert
+				test="$levelDesc"
+				>$loc/strings/alert.M17</sch:assert>
+			<sch:report
+				test="$levelDesc"
+				><sch:value-of select="$loc/strings/report.M17"/> <sch:value-of select="gmd:levelDescription"/></sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- anzlic/trunk/gml/3.2.0/gmd/distribution.xsd-->
+	<!-- TEST 14 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M18</sch:title>
+		<sch:rule context="//gmd:MD_Medium">
+			<sch:let name="density" value="gmd:density and not(gmd:densityUnits[@gco:nilReason!='missing' or not(@gco:nilReason)])"/>
+			<sch:assert test="$density = false()"
+				>$loc/strings/alert.M18</sch:assert>
+			<sch:report test="$density = false()"
+				><sch:value-of select="$loc/strings/report.M18"/> <sch:value-of select="gmd:density"/> 
+				<sch:value-of select="gmd:densityUnits/gco:CharacterString"/></sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST15 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M19</sch:title>
+		<sch:rule context="//gmd:MD_Distribution">
+			<sch:let name="total" value="count(gmd:distributionFormat) +
+				count(gmd:distributor/gmd:MD_Distributor/gmd:distributorFormat)"/>
+			<sch:let name="count" value="count(gmd:distributionFormat)>0 
+				or count(gmd:distributor/gmd:MD_Distributor/gmd:distributorFormat)>0"/>
+			<sch:assert
+				test="$count"
+				>$loc/strings/alert.M19</sch:assert>
+			<sch:report
+				test="$count"
+				><sch:value-of select="$total"/> <sch:value-of select="$loc/strings/report.M19"/></sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- anzlic/trunk/gml/3.2.0/gmd/extent.xsd-->
+	<!-- TEST 20 FXCHECK -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M20</sch:title>
+		<sch:rule context="//gmd:EX_Extent">
+			<sch:let name="count" value="count(gmd:description[@gco:nilReason!='missing' or not(@gco:nilReason)])>0 
+				or count(gmd:geographicElement)>0 
+				or count(gmd:temporalElement)>0 
+				or count(gmd:verticalElement)>0"/>
+			<sch:assert
+				test="$count"
+				>$loc/strings/alert.M20</sch:assert>
+			<sch:report
+				test="$count"
+				>$loc/strings/report.M20</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST  1 -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M21</sch:title>
+		<sch:rule context="//gmd:MD_DataIdentification|//*[contains(@gco:isoType, 'MD_DataIdentification')]">
+			<sch:let name="extent" value="(not(../../gmd:hierarchyLevel) 
+				or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='dataset' 
+				or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='') 
+				and (count(gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox) 
+				+ count (gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicDescription))=0"/>
+			<sch:assert
+				test="$extent = false()"
+				>$loc/strings/alert.M21</sch:assert>
+			<sch:report
+				test="$extent = false()"
+				>$loc/strings/report.M21</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST  2 -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M22</sch:title>
+		<sch:rule context="//gmd:MD_DataIdentification|//*[contains(@gco:isoType, 'MD_DataIdentification')]">
+			<sch:let name="topic" value="(not(../../gmd:hierarchyLevel) 
+				or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='dataset' 
+				or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='series'  
+				or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='' )
+				and not(gmd:topicCategory)"/>
+			<sch:assert
+				test="$topic = false()"
+				>$loc/strings/alert.M6</sch:assert>
+			<sch:report
+				test="$topic = false()"
+			  ><sch:value-of select="$loc/strings/report.M6"/> "<sch:value-of select="gmd:topicCategory/gmd:MD_TopicCategoryCode/text()"/>"</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST  3 -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M23</sch:title>
+		<sch:rule context="//gmd:MD_AggregateInformation">
+			<sch:assert test="gmd:aggregateDataSetName or gmd:aggregateDataSetIdentifier"
+				>$loc/strings/alert.M23</sch:assert>
+			<sch:report test="gmd:aggregateDataSetName or gmd:aggregateDataSetIdentifier"
+				>$loc/strings/report.M23</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- anzlic/trunk/gml/3.2.0/gmd/metadataEntity.xsd: -->
+	<!--<sch:pattern>
+		<sch:title>$loc/strings/M24</sch:title>
+		<!-\- UNVERIFIED -\->
+		<sch:rule
+			context="//gmd:MD_Metadata/gmd:language|//*[@gco:isoType='gmd:MD_Metadata']/gmd:language">
+			<sch:assert
+				test=". and ((normalize-space(.) != '') 
+      				or (normalize-space(./gco:CharacterString) != '') 
+      				or (./gmd:LanguageCode) 
+      				or (./@gco:nilReason 
+      					and contains('inapplicable missing template unknown withheld',./@gco:nilReason)))"
+				>$loc/strings/alert.M24</sch:assert>
+			<!-\- language: documented if not defined by the encoding standard. 
+					 It can't be documented by the encoding because GML doesn't 
+					 include xml:language. -\->
+		</sch:rule>
+	</sch:pattern>-->
+	<sch:pattern>
+		<sch:title>$loc/strings/M25</sch:title>
+		<!-- UNVERIFIED -->
+		<sch:rule context="//gmd:MD_Metadata|//*[@gco:isoType='gmd:MD_Metadata']">
+			<!-- characterSet: documented if ISO/IEC 10646 not used and not defined by
+        the encoding standard. Can't tell if XML declaration has an encoding
+        attribute. -->
+		</sch:rule>
+	</sch:pattern>
+
+	<!-- anzlic/trunk/gml/3.2.0/gmd/metadataExtension.xsd-->
+	<!-- TEST 16 -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M26</sch:title>
+		<sch:rule context="//gmd:MD_ExtendedElementInformation">
+			<sch:assert
+				test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' 
+				or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' 
+				or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') 
+				or (gmd:obligation and ((normalize-space(gmd:obligation) != '')  
+				or (gmd:obligation/gmd:MD_ObligationCode) 
+				or (gmd:obligation/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:obligation/@gco:nilReason))))"
+				>$loc/strings/alert.M26.obligation</sch:assert>
+			<sch:assert
+				test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' 
+				or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' 
+				or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') 
+				or (gmd:maximumOccurrence and ((normalize-space(gmd:maximumOccurrence) != '')  
+				or (normalize-space(gmd:maximumOccurrence/gco:CharacterString) != '') 
+				or (gmd:maximumOccurrence/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:maximumOccurrence/@gco:nilReason))))"
+				>$loc/strings/alert.M26.maximumOccurence</sch:assert>
+			<sch:assert
+				test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' 
+				or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' 
+				or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') 
+				or (gmd:domainValue and ((normalize-space(gmd:domainValue) != '')  
+				or (normalize-space(gmd:domainValue/gco:CharacterString) != '') 
+				or (gmd:domainValue/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:domainValue/@gco:nilReason))))"
+				>$loc/strings/alert.M26.domainValue</sch:assert>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST 17 -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M27</sch:title>
+		<sch:rule context="//gmd:MD_ExtendedElementInformation">
+			<sch:let name="condition" value="gmd:obligation/gmd:MD_ObligationCode='conditional'
+				and (not(gmd:condition) or count(gmd:condition[@gco:nilReason='missing'])>0)"/>
+			<sch:assert
+				test="$condition = false()"
+				>
+				<sch:value-of select="$loc/strings/alert.M27"/>
+			</sch:assert>
+			<sch:report
+				test="$condition = false()"
+				>
+				<sch:value-of select="$loc/strings/report.M27"/>
+			</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST 18 -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M28</sch:title>
+		<sch:rule context="//gmd:MD_ExtendedElementInformation">
+			<sch:let name="domain" value="gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement' and not(gmd:domainCode)"/>
+			<sch:assert
+				test="$domain = false()"
+				>$loc/strings/alert.M28</sch:assert>
+			<sch:report
+				test="$domain = false()"
+				>$loc/strings/report.M28</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- TEST 19 -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M29</sch:title>
+		<sch:rule context="//gmd:MD_ExtendedElementInformation">
+			<sch:let name="shortName" value="gmd:dataType/gmd:MD_DatatypeCode/@codeListValue!='codelistElement' and not(gmd:shortName)"/>
+			<sch:assert
+				test="$shortName = false()"
+				>$loc/strings/alert.M29</sch:assert>
+			<sch:report
+				test="$shortName = false()"
+				>$loc/strings/report.M29</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!-- anzlic/trunk/gml/3.2.0/gmd/spatialRepresentation.xsd-->
+	<!-- TEST 12 -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M30</sch:title>
+		<sch:rule context="//gmd:MD_Georectified">
+			<sch:let name="cpd" value="(gmd:checkPointAvailability/gco:Boolean='1' or gmd:checkPointAvailability/gco:Boolean='true') and 
+				(not(gmd:checkPointDescription) or count(gmd:checkPointDescription[@gco:nilReason='missing'])>0)"/>
+			<sch:assert
+				test="$cpd = false()"
+				>$loc/strings/alert.M30</sch:assert>
+			<sch:report
+				test="$cpd = false()"
+				>$loc/strings/report.M30</sch:report>
+		</sch:rule>
+	</sch:pattern>
+	<!--  -->
+	<sch:pattern>
+		<sch:title>$loc/strings/M61</sch:title>
+		<sch:rule context="//gmd:MD_Metadata/gmd:hierarchyLevel|//*[@gco:isoType='gmd:MD_Metadata']/gmd:hierarchyLevel">
+			<sch:let name="hl" value="count(../gmd:hierarchyLevel/gmd:MD_ScopeCode[@codeListValue='dataset' or @codeListValue=''])=0 and 
+				(not(../gmd:hierarchyLevelName) or ../gmd:hierarchyLevelName/@gco:nilReason)"/>
+			<sch:let name="resourceType" value="string-join(../gmd:hierarchyLevel/*/@codeListValue, ',')"/>
+			
+			<sch:assert
+				test="$hl = false()"
+				>$loc/strings/alert.M61</sch:assert>
+			<sch:report
+				test="$hl = false()"
+				><sch:value-of select=" $loc/strings/report.M61"/> "<sch:value-of select="$resourceType"/>"</sch:report>
+		</sch:rule>
+	</sch:pattern>
+
+
+    <sch:pattern>
+        <sch:title>$loc/strings/requiredElements</sch:title>
+        <sch:rule context="//gmd:identificationInfo/*/gmd:abstract">
+            <sch:let name="text" value="(gco:CharacterString | .//gmd:LocalisedCharacterString)[normalize-space(text()) != '']"/>
+            <sch:let name="nilReason" value="@gco:nilReason and not(./node())"/>
+            <sch:assert test="$text or $nilReason">
+                <sch:value-of select="$loc/strings/alert.requiredAbstract"/>
+            </sch:assert>
+            <sch:report test="$text or $nilReason" >
+                <sch:value-of select="$loc/strings/report.requiredAbstract"/>
+            </sch:report>
+        </sch:rule>
+        <sch:rule context="//gmd:identificationInfo/*/gmd:citation/*/gmd:title">
+            <sch:let name="text" value="(gco:CharacterString | .//gmd:LocalisedCharacterString)[normalize-space(text()) != '']"/>
+            <sch:let name="nilReason" value="@gco:nilReason and not(./node())"/>
+            <sch:assert test="$text or $nilReason">
+                <sch:value-of select="$loc/strings/alert.requiredTitle"/>
+            </sch:assert>
+            <sch:report test="$text or $nilReason" >
+                <sch:value-of select="$loc/strings/report.requiredTitle"/>
+            </sch:report>
+        </sch:rule>
+        <sch:rule context="//gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:date">
+            <sch:let name="text" value="gco:Date|gco:DateTime"/>
+            <sch:let name="nilReason" value="@gco:nilReason and not(./node())"/>
+            <sch:assert test="$text or $nilReason">
+                <sch:value-of select="$loc/strings/alert.requiredDate"/>
+            </sch:assert>
+            <sch:report test="$text or $nilReason" >
+                <sch:value-of select="$loc/strings/report.requiredDate"/>
+            </sch:report>
+        </sch:rule>
+        <sch:rule context="//gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:dateType">
+            <sch:let name="text" value="gmd:CI_DateTypeCode"/>
+            <sch:let name="nilReason" value="@gco:nilReason and not(./node())"/>
+            <sch:assert test="$text or $nilReason">
+                <sch:value-of select="$loc/strings/alert.requiredDateType"/>
+            </sch:assert>
+            <sch:report test="$text or $nilReason" >
+                <sch:value-of select="$loc/strings/report.requiredDateType"/>
+            </sch:report>
+        </sch:rule>
+        <sch:rule context="/*/gmd:contact">
+            <sch:assert test="node() | @gco:nilReason">
+                <sch:value-of select="$loc/strings/alert.requiredContact"/>
+            </sch:assert>
+            <sch:report test="node() | @gco:nilReason" >
+                <sch:value-of select="$loc/strings/report.requiredContact"/>
+            </sch:report>
+        </sch:rule>
+        <sch:rule context="/*/gmd:language">
+            <sch:assert test="node() | @gco:nilReason">
+                <sch:value-of select="$loc/strings/alert.requiredLanguage"/>
+            </sch:assert>
+            <sch:report test="node() | @gco:nilReason" >
+                <sch:value-of select="$loc/strings/report.requiredLanguage"/>
+            </sch:report>
+        </sch:rule>
+        <sch:rule context="//gmd:identificationInfo/*/gmd:language">
+            <sch:assert test="node() | @gco:nilReason">
+                <sch:value-of select="$loc/strings/alert.requiredLanguage"/>
+            </sch:assert>
+            <sch:report test="node() | @gco:nilReason" >
+                <sch:value-of select="$loc/strings/report.requiredLanguage"/>
+            </sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+    <sch:pattern>
+        <sch:title>$loc/strings/requireCitation</sch:title>
+        <sch:rule context="//gmd:identificationInfo/*/gmd:citation">
+            <sch:assert test="gmd:CI_Citation | @gco:nilReason">
+                <sch:value-of select="$loc/strings/alert.requiredCitation"/>
+            </sch:assert>
+            <sch:report test="gmd:CI_Citation | @gco:nilReason" >
+                <sch:value-of select="$loc/strings/report.requiredCitation"/>
+            </sch:report>
+        </sch:rule>
+    </sch:pattern>
+
+</sch:schema>
diff --git a/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-iso.xsl b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-iso.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..1e91364179d5b36cddf23c1d43889a8447b10d6d
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/config/schema_plugins/iso19139/schematron/schematron-rules-iso.xsl
@@ -0,0 +1,2144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xsl:stylesheet xmlns:xhtml="http://www.w3.org/1999/xhtml"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                xmlns:schold="http://www.ascc.net/xml/schematron"
+                xmlns:iso="http://purl.oclc.org/dsdl/schematron"
+                xmlns:gml="http://www.opengis.net/gml"
+                xmlns:gmd="http://www.isotc211.org/2005/gmd"
+                xmlns:srv="http://www.isotc211.org/2005/srv"
+                xmlns:gco="http://www.isotc211.org/2005/gco"
+                xmlns:geonet="http://www.fao.org/geonetwork"
+                xmlns:xlink="http://www.w3.org/1999/xlink"
+                exclude-result-prefixes="#all"
+                version="2.0"><!--Implementers: please note that overriding process-prolog or process-root is
+      the preferred method for meta-stylesheets to use where possible.
+    -->
+<xsl:param name="archiveDirParameter"/>
+   <xsl:param name="archiveNameParameter"/>
+   <xsl:param name="fileNameParameter"/>
+   <xsl:param name="fileDirParameter"/>
+   <xsl:variable name="document-uri">
+      <xsl:value-of select="document-uri(/)"/>
+   </xsl:variable>
+
+   <!--PHASES-->
+
+
+<!--PROLOG-->
+<xsl:output xmlns:svrl="http://purl.oclc.org/dsdl/svrl" method="xml"
+               omit-xml-declaration="no"
+               standalone="yes"
+               indent="yes"/>
+   <xsl:include xmlns:svrl="http://purl.oclc.org/dsdl/svrl" href="../../../xsl/utils-fn.xsl"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="lang"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="thesaurusDir"/>
+   <xsl:param xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="rule"/>
+   <xsl:variable xmlns:svrl="http://purl.oclc.org/dsdl/svrl" name="loc"
+                 select="document(concat('../loc/', $lang, '/', $rule, '.xml'))"/>
+
+   <!--XSD TYPES FOR XSLT2-->
+
+
+<!--KEYS AND FUNCTIONS-->
+
+
+<!--DEFAULT RULES-->
+
+
+<!--MODE: SCHEMATRON-SELECT-FULL-PATH-->
+<!--This mode can be used to generate an ugly though full XPath for locators
+    -->
+<xsl:template match="*" mode="schematron-select-full-path">
+      <xsl:apply-templates select="." mode="schematron-get-full-path"/>
+   </xsl:template>
+
+   <!--MODE: SCHEMATRON-FULL-PATH-->
+<!--This mode can be used to generate an ugly though full XPath for locators
+    -->
+<xsl:template match="*" mode="schematron-get-full-path">
+      <xsl:apply-templates select="parent::*" mode="schematron-get-full-path"/>
+      <xsl:text>/</xsl:text>
+      <xsl:choose>
+         <xsl:when test="namespace-uri()=''">
+            <xsl:value-of select="name()"/>
+            <xsl:variable name="p_1"
+                          select="1+       count(preceding-sibling::*[name()=name(current())])"/>
+            <xsl:if test="$p_1&gt;1 or following-sibling::*[name()=name(current())]">[<xsl:value-of select="$p_1"/>]</xsl:if>
+         </xsl:when>
+         <xsl:otherwise>
+            <xsl:text>*[local-name()='</xsl:text>
+            <xsl:value-of select="local-name()"/>
+            <xsl:text>']</xsl:text>
+            <xsl:variable name="p_2"
+                          select="1+     count(preceding-sibling::*[local-name()=local-name(current())])"/>
+            <xsl:if test="$p_2&gt;1 or following-sibling::*[local-name()=local-name(current())]">[<xsl:value-of select="$p_2"/>]</xsl:if>
+         </xsl:otherwise>
+      </xsl:choose>
+   </xsl:template>
+   <xsl:template match="@*" mode="schematron-get-full-path">
+      <xsl:text>/</xsl:text>
+      <xsl:choose>
+         <xsl:when test="namespace-uri()=''">@
+              <xsl:value-of select="name()"/>
+         </xsl:when>
+         <xsl:otherwise>
+            <xsl:text>@*[local-name()='</xsl:text>
+            <xsl:value-of select="local-name()"/>
+            <xsl:text>' and namespace-uri()='</xsl:text>
+            <xsl:value-of select="namespace-uri()"/>
+            <xsl:text>']</xsl:text>
+         </xsl:otherwise>
+      </xsl:choose>
+   </xsl:template>
+
+   <!--MODE: SCHEMATRON-FULL-PATH-2-->
+<!--This mode can be used to generate prefixed XPath for humans-->
+<xsl:template match="node() | @*" mode="schematron-get-full-path-2">
+      <xsl:for-each select="ancestor-or-self::*">
+         <xsl:text>/</xsl:text>
+         <xsl:value-of select="name(.)"/>
+         <xsl:if test="preceding-sibling::*[name(.)=name(current())]">
+            <xsl:text>[</xsl:text>
+            <xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
+            <xsl:text>]</xsl:text>
+         </xsl:if>
+      </xsl:for-each>
+      <xsl:if test="not(self::*)">
+         <xsl:text/>/@
+        <xsl:value-of select="name(.)"/>
+      </xsl:if>
+   </xsl:template>
+   <!--MODE: SCHEMATRON-FULL-PATH-3-->
+<!--This mode can be used to generate prefixed XPath for humans
+      (Top-level element has index)
+    -->
+<xsl:template match="node() | @*" mode="schematron-get-full-path-3">
+      <xsl:for-each select="ancestor-or-self::*">
+         <xsl:text>/</xsl:text>
+         <xsl:value-of select="name(.)"/>
+         <xsl:if test="parent::*">
+            <xsl:text>[</xsl:text>
+            <xsl:value-of select="count(preceding-sibling::*[name(.)=name(current())])+1"/>
+            <xsl:text>]</xsl:text>
+         </xsl:if>
+      </xsl:for-each>
+      <xsl:if test="not(self::*)">
+         <xsl:text/>/@
+        <xsl:value-of select="name(.)"/>
+      </xsl:if>
+   </xsl:template>
+
+   <!--MODE: GENERATE-ID-FROM-PATH-->
+<xsl:template match="/" mode="generate-id-from-path"/>
+   <xsl:template match="text()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.text-', 1+count(preceding-sibling::text()), '-')"/>
+   </xsl:template>
+   <xsl:template match="comment()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.comment-', 1+count(preceding-sibling::comment()), '-')"/>
+   </xsl:template>
+   <xsl:template match="processing-instruction()" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.processing-instruction-', 1+count(preceding-sibling::processing-instruction()), '-')"/>
+   </xsl:template>
+   <xsl:template match="@*" mode="generate-id-from-path">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:value-of select="concat('.@', name())"/>
+   </xsl:template>
+   <xsl:template match="*" mode="generate-id-from-path" priority="-0.5">
+      <xsl:apply-templates select="parent::*" mode="generate-id-from-path"/>
+      <xsl:text>.</xsl:text>
+      <xsl:value-of select="concat('.',name(),'-',1+count(preceding-sibling::*[name()=name(current())]),'-')"/>
+   </xsl:template>
+
+   <!--MODE: GENERATE-ID-2-->
+<xsl:template match="/" mode="generate-id-2">U</xsl:template>
+   <xsl:template match="*" mode="generate-id-2" priority="2">
+      <xsl:text>U</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+   </xsl:template>
+   <xsl:template match="node()" mode="generate-id-2">
+      <xsl:text>U.</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+      <xsl:text>n</xsl:text>
+      <xsl:number count="node()"/>
+   </xsl:template>
+   <xsl:template match="@*" mode="generate-id-2">
+      <xsl:text>U.</xsl:text>
+      <xsl:number level="multiple" count="*"/>
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="string-length(local-name(.))"/>
+      <xsl:text>_</xsl:text>
+      <xsl:value-of select="translate(name(),':','.')"/>
+   </xsl:template>
+   <!--Strip characters--><xsl:template match="text()" priority="-1"/>
+
+   <!--SCHEMA SETUP-->
+<xsl:template match="/">
+      <svrl:schematron-output xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                              title="Schematron validation for ISO&#xA;&#x9;&#x9;19115(19139)"
+                              schemaVersion="">
+         <xsl:comment>
+            <xsl:value-of select="$archiveDirParameter"/>
+         
+        <xsl:value-of select="$archiveNameParameter"/>
+         
+        <xsl:value-of select="$fileNameParameter"/>
+         
+        <xsl:value-of select="$fileDirParameter"/>
+         </xsl:comment>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.opengis.net/gml" prefix="gml"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/gmd" prefix="gmd"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/srv" prefix="srv"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.isotc211.org/2005/gco" prefix="gco"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.fao.org/geonetwork" prefix="geonet"/>
+         <svrl:ns-prefix-in-attribute-values uri="http://www.w3.org/1999/xlink" prefix="xlink"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M6"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M7"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M7"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M8"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M8"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M9"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M9"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M10"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M10"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M11"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M11"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M12"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M13"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M13"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M14"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M14"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M16"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M15"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M17"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M16"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M18"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M17"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M19"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M18"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M20"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M19"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M21"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M20"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M22"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M21"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M23"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M22"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M25"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M23"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M26"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M24"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M27"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M25"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M28"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M26"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M29"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M27"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M30"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M28"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/M61"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M29"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/requiredElements"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M30"/>
+         <svrl:active-pattern>
+            <xsl:attribute name="document">
+               <xsl:value-of select="document-uri(/)"/>
+            </xsl:attribute>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$loc/strings/requireCitation"/>
+            </xsl:attribute>
+            <xsl:apply-templates/>
+         </svrl:active-pattern>
+         <xsl:apply-templates select="/" mode="M31"/>
+      </svrl:schematron-output>
+   </xsl:template>
+
+   <!--SCHEMATRON PATTERNS-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">Schematron validation for ISO
+		19115(19139)</svrl:text>
+
+   <!--PATTERN
+        $loc/strings/M6-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M6"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="*[gco:CharacterString]" priority="1000" mode="M7">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="*[gco:CharacterString]"/>
+
+      <!--REPORT
+      -->
+<xsl:if test="(normalize-space(gco:CharacterString) = '') and (not(@gco:nilReason) or not(contains('inapplicable missing template unknown withheld',@gco:nilReason)))">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="(normalize-space(gco:CharacterString) = '') and (not(@gco:nilReason) or not(contains('inapplicable missing template unknown withheld',@gco:nilReason)))">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/alert.M6.characterString"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M7"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M7"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M7">
+      <xsl:apply-templates select="*" mode="M7"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M7-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M7"/>
+   </svrl:text>
+
+  <!--RULE
+      CRSLabelsPosType-->
+<xsl:template match="//gml:DirectPositionType" priority="1000" mode="M8">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gml:DirectPositionType"
+                       id="CRSLabelsPosType"/>
+
+      <!--REPORT
+      -->
+<xsl:if test="not(@srsDimension) or @srsName">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not(@srsDimension) or @srsName">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/alert.M6.directPosition"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="not(@axisLabels) or @srsName">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not(@axisLabels) or @srsName">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/alert.M7.axisAndSrs"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="not(@uomLabels) or @srsName">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="not(@uomLabels) or @srsName">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/alert.M7.uomAndSrs"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+
+      <!--REPORT
+      -->
+<xsl:if test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/alert.M7.uomAndAxis"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M8"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M8"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M8">
+      <xsl:apply-templates select="*" mode="M8"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M8-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M8"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//*[gmd:CI_ResponsibleParty]" priority="1000" mode="M9">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//*[gmd:CI_ResponsibleParty]"/>
+      <xsl:variable name="count"
+                    select="(count(gmd:CI_ResponsibleParty/gmd:individualName[@gco:nilReason!='missing' or not(@gco:nilReason)])      + count(gmd:CI_ResponsibleParty/gmd:organisationName[@gco:nilReason!='missing' or not(@gco:nilReason)])     + count(gmd:CI_ResponsibleParty/gmd:positionName[@gco:nilReason!='missing' or not(@gco:nilReason)]))"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$count &gt; 0"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$count &gt; 0">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M8"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$count &gt; 0">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$count &gt; 0">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M8"/>
+               <xsl:text/> 
+				           <xsl:text/>
+               <xsl:copy-of select="gmd:CI_ResponsibleParty/gmd:organisationName"/>
+               <xsl:text/>-
+				<xsl:text/>
+               <xsl:copy-of select="gmd:CI_ResponsibleParty/gmd:individualName"/>
+               <xsl:text/>
+			         </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M9"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M9"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M9">
+      <xsl:apply-templates select="*" mode="M9"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M9-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M9"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_LegalConstraints[gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']    |//*[@gco:isoType='gmd:MD_LegalConstraints' and gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']"
+                 priority="1001"
+                 mode="M10">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_LegalConstraints[gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']    |//*[@gco:isoType='gmd:MD_LegalConstraints' and gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']"/>
+      <xsl:variable name="access"
+                    select="not(gmd:otherConstraints)      or count(gmd:otherConstraints[gco:CharacterString = '']) &gt; 0      or gmd:otherConstraints/@gco:nilReason='missing'"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$access = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$access = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+				              <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M9.access"/>
+                  <xsl:text/>
+			            </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$access = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$access = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M9"/>
+               <xsl:text/>
+				           <xsl:text/>
+               <xsl:copy-of select="gmd:otherConstraints/gco:CharacterString"/>
+               <xsl:text/>
+			         </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M10"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_LegalConstraints[gmd:useConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']    |//*[@gco:isoType='gmd:MD_LegalConstraints' and gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']"
+                 priority="1000"
+                 mode="M10">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_LegalConstraints[gmd:useConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']    |//*[@gco:isoType='gmd:MD_LegalConstraints' and gmd:accessConstraints/gmd:MD_RestrictionCode/@codeListValue='otherRestrictions']"/>
+      <xsl:variable name="use"
+                    select="(not(gmd:otherConstraints) or not(string(gmd:otherConstraints/gco:CharacterString)) or gmd:otherConstraints/@gco:nilReason='missing')"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$use = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$use = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M9.use"/>
+                  <xsl:text/>
+			            </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$use = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$use = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M9"/>
+               <xsl:text/>
+				           <xsl:text/>
+               <xsl:copy-of select="gmd:otherConstraints/gco:CharacterString"/>
+               <xsl:text/>
+			         </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M10"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M10"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M10">
+      <xsl:apply-templates select="*" mode="M10"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M10-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M10"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Band[gmd:maxValue or gmd:minValue]" priority="1000" mode="M11">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_Band[gmd:maxValue or gmd:minValue]"/>
+      <xsl:variable name="values"
+                    select="(gmd:maxValue[@gco:nilReason!='missing' or not(@gco:nilReason)]     or gmd:minValue[@gco:nilReason!='missing' or not(@gco:nilReason)])      and not(gmd:units)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$values = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$values = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M9"/>
+                  <xsl:text/>
+			            </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$values = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$values = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+				           <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M9.min"/>
+               <xsl:text/>
+				           <xsl:text/>
+               <xsl:copy-of select="gmd:minValue"/>
+               <xsl:text/> / 
+				<xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M9.max"/>
+               <xsl:text/>
+				           <xsl:text/>
+               <xsl:copy-of select="gmd:maxValue"/>
+               <xsl:text/> [
+				<xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M9.units"/>
+               <xsl:text/>
+				           <xsl:text/>
+               <xsl:copy-of select="gmd:units"/>
+               <xsl:text/>]
+			</svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M11"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M11"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M11">
+      <xsl:apply-templates select="*" mode="M11"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M11-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M11"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:LI_Source" priority="1000" mode="M12">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:LI_Source"/>
+      <xsl:variable name="extent"
+                    select="gmd:description[@gco:nilReason!='missing' or not(@gco:nilReason)] or gmd:sourceExtent"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$extent"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$extent">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M11"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$extent">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$extent">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M11"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M12"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M12"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M12">
+      <xsl:apply-templates select="*" mode="M12"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M13-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M13"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset'     or gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='series']"
+                 priority="1000"
+                 mode="M13">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset'     or gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='series']"/>
+      <xsl:variable name="emptyStatement"
+                    select="     count(*/gmd:LI_Lineage/gmd:source) + count(*/gmd:LI_Lineage/gmd:processStep) = 0      and not(gmd:lineage/gmd:LI_Lineage/gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)])      "/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$emptyStatement = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$emptyStatement = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M13"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$emptyStatement = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$emptyStatement = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M13"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M13"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M13"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M13">
+      <xsl:apply-templates select="*" mode="M13"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M14-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M14"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:LI_Lineage" priority="1000" mode="M14">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:LI_Lineage"/>
+      <xsl:variable name="emptySource"
+                    select="not(gmd:source)      and not(gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)])      and not(gmd:processStep)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$emptySource = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$emptySource = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M14"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$emptySource = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$emptySource = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M14"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:variable name="emptyProcessStep"
+                    select="not(gmd:processStep)      and not(gmd:statement[@gco:nilReason!='missing' or not(@gco:nilReason)])     and not(gmd:source)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$emptyProcessStep = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$emptyProcessStep = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M15"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$emptyProcessStep = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$emptyProcessStep = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M15"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M14"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M14"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M14">
+      <xsl:apply-templates select="*" mode="M14"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M16-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M16"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset']"
+                 priority="1000"
+                 mode="M15">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:DQ_DataQuality[gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset']"/>
+      <xsl:variable name="noReportNorLineage" select="not(gmd:report)      and not(gmd:lineage)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$noReportNorLineage = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$noReportNorLineage = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M16"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$noReportNorLineage = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$noReportNorLineage = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M16"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M15"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M15"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M15">
+      <xsl:apply-templates select="*" mode="M15"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M17-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M17"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:DQ_Scope" priority="1000" mode="M16">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:DQ_Scope"/>
+      <xsl:variable name="levelDesc"
+                    select="gmd:level/gmd:MD_ScopeCode/@codeListValue='dataset'      or gmd:level/gmd:MD_ScopeCode/@codeListValue='series'      or (gmd:levelDescription and ((normalize-space(gmd:levelDescription) != '')      or (gmd:levelDescription/gmd:MD_ScopeDescription)      or (gmd:levelDescription/@gco:nilReason      and contains('inapplicable missing template unknown withheld',gmd:levelDescription/@gco:nilReason))))"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$levelDesc"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$levelDesc">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M17"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$levelDesc">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$levelDesc">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M17"/>
+               <xsl:text/> 
+               <xsl:text/>
+               <xsl:copy-of select="gmd:levelDescription"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M16"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M16"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M16">
+      <xsl:apply-templates select="*" mode="M16"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M18-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M18"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Medium" priority="1000" mode="M17">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:MD_Medium"/>
+      <xsl:variable name="density"
+                    select="gmd:density and not(gmd:densityUnits[@gco:nilReason!='missing' or not(@gco:nilReason)])"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$density = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$density = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M18"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$density = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$density = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M18"/>
+               <xsl:text/> 
+               <xsl:text/>
+               <xsl:copy-of select="gmd:density"/>
+               <xsl:text/> 
+				           <xsl:text/>
+               <xsl:copy-of select="gmd:densityUnits/gco:CharacterString"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M17"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M17"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M17">
+      <xsl:apply-templates select="*" mode="M17"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M19-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M19"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Distribution" priority="1000" mode="M18">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:MD_Distribution"/>
+      <xsl:variable name="total"
+                    select="count(gmd:distributionFormat) +     count(gmd:distributor/gmd:MD_Distributor/gmd:distributorFormat)"/>
+      <xsl:variable name="count"
+                    select="count(gmd:distributionFormat)&gt;0      or count(gmd:distributor/gmd:MD_Distributor/gmd:distributorFormat)&gt;0"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$count"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$count">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M19"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$count">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$count">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$total"/>
+               <xsl:text/> 
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M19"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M18"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M18"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M18">
+      <xsl:apply-templates select="*" mode="M18"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M20-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M20"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:EX_Extent" priority="1000" mode="M19">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:EX_Extent"/>
+      <xsl:variable name="count"
+                    select="count(gmd:description[@gco:nilReason!='missing' or not(@gco:nilReason)])&gt;0      or count(gmd:geographicElement)&gt;0      or count(gmd:temporalElement)&gt;0      or count(gmd:verticalElement)&gt;0"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$count"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$count">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M20"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$count">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$count">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M20"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M19"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M19"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M19">
+      <xsl:apply-templates select="*" mode="M19"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M21-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M21"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification|//*[contains(@gco:isoType, 'MD_DataIdentification')]"
+                 priority="1000"
+                 mode="M20">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification|//*[contains(@gco:isoType, 'MD_DataIdentification')]"/>
+      <xsl:variable name="extent"
+                    select="(not(../../gmd:hierarchyLevel)      or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='dataset'      or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='')      and (count(gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicBoundingBox)      + count (gmd:extent/*/gmd:geographicElement/gmd:EX_GeographicDescription))=0"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$extent = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$extent = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M21"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$extent = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$extent = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M21"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M20"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M20"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M20">
+      <xsl:apply-templates select="*" mode="M20"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M22-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M22"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_DataIdentification|//*[contains(@gco:isoType, 'MD_DataIdentification')]"
+                 priority="1000"
+                 mode="M21">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_DataIdentification|//*[contains(@gco:isoType, 'MD_DataIdentification')]"/>
+      <xsl:variable name="topic"
+                    select="(not(../../gmd:hierarchyLevel)      or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='dataset'      or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='series'       or ../../gmd:hierarchyLevel/gmd:MD_ScopeCode/@codeListValue='' )     and not(gmd:topicCategory)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$topic = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$topic = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M6"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$topic = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$topic = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M6"/>
+               <xsl:text/> "<xsl:text/>
+               <xsl:copy-of select="gmd:topicCategory/gmd:MD_TopicCategoryCode/text()"/>
+               <xsl:text/>"</svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M21"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M21"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M21">
+      <xsl:apply-templates select="*" mode="M21"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M23-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M23"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_AggregateInformation" priority="1000" mode="M22">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_AggregateInformation"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="gmd:aggregateDataSetName or gmd:aggregateDataSetIdentifier"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="gmd:aggregateDataSetName or gmd:aggregateDataSetIdentifier">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M23"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="gmd:aggregateDataSetName or gmd:aggregateDataSetIdentifier">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="gmd:aggregateDataSetName or gmd:aggregateDataSetIdentifier">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M23"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M22"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M22"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M22">
+      <xsl:apply-templates select="*" mode="M22"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M25-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M25"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Metadata|//*[@gco:isoType='gmd:MD_Metadata']" priority="1000"
+                 mode="M23">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_Metadata|//*[@gco:isoType='gmd:MD_Metadata']"/>
+      <xsl:apply-templates select="*" mode="M23"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M23"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M23">
+      <xsl:apply-templates select="*" mode="M23"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M26-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M26"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_ExtendedElementInformation" priority="1000" mode="M24">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_ExtendedElementInformation"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist'      or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration'      or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement')      or (gmd:obligation and ((normalize-space(gmd:obligation) != '')       or (gmd:obligation/gmd:MD_ObligationCode)      or (gmd:obligation/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:obligation/@gco:nilReason))))"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') or (gmd:obligation and ((normalize-space(gmd:obligation) != '') or (gmd:obligation/gmd:MD_ObligationCode) or (gmd:obligation/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:obligation/@gco:nilReason))))">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M26.obligation"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist'      or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration'      or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement')      or (gmd:maximumOccurrence and ((normalize-space(gmd:maximumOccurrence) != '')       or (normalize-space(gmd:maximumOccurrence/gco:CharacterString) != '')      or (gmd:maximumOccurrence/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:maximumOccurrence/@gco:nilReason))))"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') or (gmd:maximumOccurrence and ((normalize-space(gmd:maximumOccurrence) != '') or (normalize-space(gmd:maximumOccurrence/gco:CharacterString) != '') or (gmd:maximumOccurrence/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:maximumOccurrence/@gco:nilReason))))">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M26.maximumOccurence"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist'      or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration'      or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement')      or (gmd:domainValue and ((normalize-space(gmd:domainValue) != '')       or (normalize-space(gmd:domainValue/gco:CharacterString) != '')      or (gmd:domainValue/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:domainValue/@gco:nilReason))))"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="(gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelist' or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='enumeration' or gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement') or (gmd:domainValue and ((normalize-space(gmd:domainValue) != '') or (normalize-space(gmd:domainValue/gco:CharacterString) != '') or (gmd:domainValue/@gco:nilReason and contains('inapplicable missing template unknown withheld',gmd:domainValue/@gco:nilReason))))">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M26.domainValue"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+      <xsl:apply-templates select="*" mode="M24"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M24"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M24">
+      <xsl:apply-templates select="*" mode="M24"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M27-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M27"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_ExtendedElementInformation" priority="1000" mode="M25">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_ExtendedElementInformation"/>
+      <xsl:variable name="condition"
+                    select="gmd:obligation/gmd:MD_ObligationCode='conditional'     and (not(gmd:condition) or count(gmd:condition[@gco:nilReason='missing'])&gt;0)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$condition = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$condition = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+				              <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.M27"/>
+                  <xsl:text/>
+			            </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$condition = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$condition = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+				           <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.M27"/>
+               <xsl:text/>
+			         </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M25"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M25"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M25">
+      <xsl:apply-templates select="*" mode="M25"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M28-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M28"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_ExtendedElementInformation" priority="1000" mode="M26">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_ExtendedElementInformation"/>
+      <xsl:variable name="domain"
+                    select="gmd:dataType/gmd:MD_DatatypeCode/@codeListValue='codelistElement' and not(gmd:domainCode)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$domain = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$domain = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M28"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$domain = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$domain = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M28"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M26"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M26"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M26">
+      <xsl:apply-templates select="*" mode="M26"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M29-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M29"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_ExtendedElementInformation" priority="1000" mode="M27">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_ExtendedElementInformation"/>
+      <xsl:variable name="shortName"
+                    select="gmd:dataType/gmd:MD_DatatypeCode/@codeListValue!='codelistElement' and not(gmd:shortName)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$shortName = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$shortName = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M29"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$shortName = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$shortName = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M29"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M27"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M27"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M27">
+      <xsl:apply-templates select="*" mode="M27"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M30-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M30"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Georectified" priority="1000" mode="M28">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="//gmd:MD_Georectified"/>
+      <xsl:variable name="cpd"
+                    select="(gmd:checkPointAvailability/gco:Boolean='1' or gmd:checkPointAvailability/gco:Boolean='true') and      (not(gmd:checkPointDescription) or count(gmd:checkPointDescription[@gco:nilReason='missing'])&gt;0)"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$cpd = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$cpd = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M30"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$cpd = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$cpd = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:copy-of select="$loc/strings/report.M30"/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M28"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M28"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M28">
+      <xsl:apply-templates select="*" mode="M28"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/M61-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/M61"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:MD_Metadata/gmd:hierarchyLevel|//*[@gco:isoType='gmd:MD_Metadata']/gmd:hierarchyLevel"
+                 priority="1000"
+                 mode="M29">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:MD_Metadata/gmd:hierarchyLevel|//*[@gco:isoType='gmd:MD_Metadata']/gmd:hierarchyLevel"/>
+      <xsl:variable name="hl"
+                    select="count(../gmd:hierarchyLevel/gmd:MD_ScopeCode[@codeListValue='dataset' or @codeListValue=''])=0 and      (not(../gmd:hierarchyLevelName) or ../gmd:hierarchyLevelName/@gco:nilReason)"/>
+      <xsl:variable name="resourceType"
+                    select="string-join(../gmd:hierarchyLevel/*/@codeListValue, ',')"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$hl = false()"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$hl = false()">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:copy-of select="$loc/strings/alert.M61"/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$hl = false()">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$hl = false()">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+               <xsl:text/>
+               <xsl:copy-of select=" $loc/strings/report.M61"/>
+               <xsl:text/> "<xsl:text/>
+               <xsl:copy-of select="$resourceType"/>
+               <xsl:text/>"</svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M29"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M29"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M29">
+      <xsl:apply-templates select="*" mode="M29"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/requiredElements-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/requiredElements"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo/*/gmd:abstract" priority="1006" mode="M30">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:identificationInfo/*/gmd:abstract"/>
+      <xsl:variable name="text"
+                    select="(gco:CharacterString | .//gmd:LocalisedCharacterString)[normalize-space(text()) != '']"/>
+      <xsl:variable name="nilReason" select="@gco:nilReason and not(./node())"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$text or $nilReason"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$text or $nilReason">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.requiredAbstract"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$text or $nilReason">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$text or $nilReason">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.requiredAbstract"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M30"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo/*/gmd:citation/*/gmd:title" priority="1005"
+                 mode="M30">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:identificationInfo/*/gmd:citation/*/gmd:title"/>
+      <xsl:variable name="text"
+                    select="(gco:CharacterString | .//gmd:LocalisedCharacterString)[normalize-space(text()) != '']"/>
+      <xsl:variable name="nilReason" select="@gco:nilReason and not(./node())"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$text or $nilReason"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$text or $nilReason">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.requiredTitle"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$text or $nilReason">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$text or $nilReason">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.requiredTitle"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M30"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:date"
+                 priority="1004"
+                 mode="M30">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:date"/>
+      <xsl:variable name="text" select="gco:Date|gco:DateTime"/>
+      <xsl:variable name="nilReason" select="@gco:nilReason and not(./node())"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$text or $nilReason"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$text or $nilReason">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.requiredDate"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$text or $nilReason">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$text or $nilReason">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.requiredDate"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M30"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:dateType"
+                 priority="1003"
+                 mode="M30">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:identificationInfo/*/gmd:citation/*/gmd:date/*/gmd:dateType"/>
+      <xsl:variable name="text" select="gmd:CI_DateTypeCode"/>
+      <xsl:variable name="nilReason" select="@gco:nilReason and not(./node())"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="$text or $nilReason"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="$text or $nilReason">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.requiredDateType"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="$text or $nilReason">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="$text or $nilReason">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.requiredDateType"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M30"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="/*/gmd:contact" priority="1002" mode="M30">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/*/gmd:contact"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="node() | @gco:nilReason"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="node() | @gco:nilReason">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.requiredContact"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="node() | @gco:nilReason">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="node() | @gco:nilReason">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.requiredContact"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M30"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="/*/gmd:language" priority="1001" mode="M30">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl" context="/*/gmd:language"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="node() | @gco:nilReason"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="node() | @gco:nilReason">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.requiredLanguage"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="node() | @gco:nilReason">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="node() | @gco:nilReason">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.requiredLanguage"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M30"/>
+   </xsl:template>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo/*/gmd:language" priority="1000" mode="M30">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:identificationInfo/*/gmd:language"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="node() | @gco:nilReason"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="node() | @gco:nilReason">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.requiredLanguage"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="node() | @gco:nilReason">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="node() | @gco:nilReason">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.requiredLanguage"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M30"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M30"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M30">
+      <xsl:apply-templates select="*" mode="M30"/>
+   </xsl:template>
+
+   <!--PATTERN
+        $loc/strings/requireCitation-->
+<svrl:text xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
+      <xsl:copy-of select="$loc/strings/requireCitation"/>
+   </svrl:text>
+
+  <!--RULE
+      -->
+<xsl:template match="//gmd:identificationInfo/*/gmd:citation" priority="1000" mode="M31">
+      <svrl:fired-rule xmlns:svrl="http://purl.oclc.org/dsdl/svrl"
+                       context="//gmd:identificationInfo/*/gmd:citation"/>
+
+      <!--ASSERT
+      -->
+<xsl:choose>
+         <xsl:when test="gmd:CI_Citation | @gco:nilReason"/>
+         <xsl:otherwise>
+            <svrl:failed-assert xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                test="gmd:CI_Citation | @gco:nilReason">
+               <xsl:attribute name="location">
+                  <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+               </xsl:attribute>
+               <svrl:text>
+                  <xsl:text/>
+                  <xsl:copy-of select="$loc/strings/alert.requiredCitation"/>
+                  <xsl:text/>
+               </svrl:text>
+            </svrl:failed-assert>
+         </xsl:otherwise>
+      </xsl:choose>
+
+      <!--REPORT
+      -->
+<xsl:if test="gmd:CI_Citation | @gco:nilReason">
+         <svrl:successful-report xmlns:svrl="http://purl.oclc.org/dsdl/svrl" ref="#_{geonet:element/@ref}"
+                                 test="gmd:CI_Citation | @gco:nilReason">
+            <xsl:attribute name="location">
+               <xsl:apply-templates select="." mode="schematron-select-full-path"/>
+            </xsl:attribute>
+            <svrl:text>
+                <xsl:text/>
+               <xsl:copy-of select="$loc/strings/report.requiredCitation"/>
+               <xsl:text/>
+            </svrl:text>
+         </svrl:successful-report>
+      </xsl:if>
+      <xsl:apply-templates select="*" mode="M31"/>
+   </xsl:template>
+   <xsl:template match="text()" priority="-1" mode="M31"/>
+   <xsl:template match="@*|node()" priority="-2" mode="M31">
+      <xsl:apply-templates select="*" mode="M31"/>
+   </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Functions.groovy b/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Functions.groovy
new file mode 100644
index 0000000000000000000000000000000000000000..12cf4df359050d0ffaa83f4eeb259058e8c6530d
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Functions.groovy
@@ -0,0 +1,69 @@
+package common
+
+import org.fao.geonet.api.records.formatters.FormatType
+import org.fao.geonet.api.records.formatters.groovy.Environment
+import org.nibor.autolink.*;
+
+public class Functions {
+    org.fao.geonet.api.records.formatters.groovy.Handlers handlers;
+    def org.fao.geonet.api.records.formatters.groovy.Functions f
+    def Environment env
+
+    def isHtmlOutput = {
+        env.formatType == FormatType.html || env.formatType == FormatType.pdf ||
+                env.formatType == FormatType.testpdf
+    }
+
+    def isPDFOutput = {
+        env.formatType == FormatType.pdf || env.formatType == FormatType.testpdf
+    }
+
+    /**
+     * Creates the default html for a label -> text pair.  This is the element for primitive/simple data.
+     * This does not return a function it is returns the actual html and thus can be used within handlers/functions to
+     * directly get the html
+     */
+    def textEl(label, text) {
+        return handlers.fileResult("html/text-el.html", ["label": label, "text" : text])
+    }
+
+    /**
+     * Same as textEl but doesn't escape the XML
+     */
+    def wikiTextEl(label, text) {
+        return handlers.fileResult("html/wikitext-el.html", ["label": label, "text" : text])
+    }
+
+    /**
+     * Creates the default html for a label -> text pair.  This is the element for primitive/simple data.
+     * This does not return a function it is returns the actual html and thus can be used within handlers/functions to
+     * directly get the html
+     */
+    def urlEl(label, href, text) {
+        return handlers.fileResult("html/url-el.html", ["label": label, "href" : href, "text" :
+                text.length() > 50 ? (text.substring(0, 50) + "...") : text])
+    }
+
+    def textColEl(content, cols) {
+        return '<div class="col-md-' + cols + '">' + content + '</div>'
+    }
+
+    def urlToHtml(content) {
+        LinkExtractor linkExtractor = LinkExtractor.builder()
+                .linkTypes(EnumSet.of(LinkType.URL)) // limit to URLs
+                .build();
+
+        Iterable<LinkSpan> links = linkExtractor.extractLinks(content);
+        String result = Autolink.renderLinks(content, links, new LinkRenderer()  {
+            void render(LinkSpan link, CharSequence text, StringBuilder sb) {
+                sb.append("<a target=\"_blank\" href=\"");
+                sb.append(text, link.getBeginIndex(), link.getEndIndex());
+                sb.append("\">");
+                sb.append(text, link.getBeginIndex(), link.getEndIndex());
+                sb.append("</a>");
+            }
+        });
+        return result
+    }
+
+}
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Handlers.groovy b/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Handlers.groovy
new file mode 100644
index 0000000000000000000000000000000000000000..517380877131f60467af7de1681b8228bc1040ce
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Handlers.groovy
@@ -0,0 +1,270 @@
+package common
+
+import jeeves.server.context.ServiceContext
+import org.fao.geonet.api.records.MetadataUtils
+import org.fao.geonet.api.records.formatters.groovy.Environment
+import org.fao.geonet.api.records.formatters.groovy.util.*
+import org.fao.geonet.api.records.model.related.RelatedItemType
+import org.fao.geonet.constants.Geonet
+import org.fao.geonet.kernel.GeonetworkDataDirectory
+import org.fao.geonet.utils.Xml
+import org.jdom.Element
+
+public class Handlers {
+    private org.fao.geonet.api.records.formatters.groovy.Handlers handlers;
+    private org.fao.geonet.api.records.formatters.groovy.Functions f
+    private Environment env
+
+    common.Matchers matchers
+    common.Functions func
+    boolean requireValidMetadataForPublish = false;
+
+    public Handlers(handlers, f, env) {
+        this.handlers = handlers
+        this.f = f
+        this.env = env
+        func = new common.Functions(handlers: handlers, f:f, env:env)
+        matchers =  new common.Matchers(handlers: handlers, f:f, env:env)
+    }
+
+    def addDefaultStartAndEndHandlers() {
+        handlers.start htmlOrXmlStart
+        handlers.end htmlOrXmlEnd
+    }
+
+    def entryEl(labeller) {
+        return entryEl(labeller, null)
+    }
+    /**
+     * Creates a function that will process all children and sort then according to the sorter that applies to the elements. Then
+     * returns the default html for the container elements.
+     *
+     * @param labeller a function for creating a label from the element
+     * @param classer a function taking the element class(es) to add to the entry element.  The method should return a string.
+     */
+    def entryEl(labeller, classer) {
+        return { el ->
+            def childData = handlers.processElements(el.children(), el);
+            def replacement = [label: labeller(el), childData: childData, name:'']
+
+            if (classer != null) {
+                replacement.name = classer(el);
+            }
+
+            if (!childData.isEmpty()) {
+                return handlers.fileResult('html/2-level-entry.html', replacement)
+            }
+            return null
+        }
+    }
+    def processChildren(childSelector) {
+        return {el ->
+            handlers.processElements(childSelector(el), el);
+        }
+    }
+    /**
+     * Creates a function which will:
+     *
+     * 1. Select a single element using the selector function
+     * 2. Process all children of the element selected in step 1 with sorter that applies to the element selected in step 1
+     * 3. Create a label using executing the labeller on the element passed to handler functions (not element selected in step 1)
+     *
+     * @param selector a function that will select a single element from the descendants of the element passed to it
+     * @param labeller a function for creating a label from the element
+     */
+    def flattenedEntryEl(selector, labeller) {
+        return { parentEl ->
+            def el = selector(parentEl)
+            def childData = handlers.processElements(el.children(), el);
+
+            if (!childData.isEmpty()) {
+                return handlers.fileResult('html/2-level-entry.html', [label: labeller(el), childData: childData])
+            }
+            return null
+        }
+    }
+
+    def selectIsotype(name) {
+        return {
+            it.children().find { ch ->
+                ch.name() == name || ch['@gco:isoType'].text() == name
+            }
+        }
+    }
+
+
+    def htmlOrXmlStart = {
+        if (func.isHtmlOutput()) {
+            def minimize = ''
+            def baseUrl = func.f.fparams.url;
+            if (env.param("debug").toBool()) {
+                minimize = '?minimize=false'
+            }
+            String cssLinks = """
+    <link rel="stylesheet" href="$baseUrl../../static/gn_bootstrap.css$minimize"/>
+    <link rel="stylesheet" href="$baseUrl../../static/gn_metadata.css$minimize"/>""";
+
+            if (func.isPDFOutput()) {
+                cssLinks = """<link rel="stylesheet" href="$baseUrl../../static/gn_metadata_pdf.css$minimize"/>"""
+            }
+            return """
+<!DOCTYPE html>
+<html>
+<head lang="en">
+    <meta charset="UTF-8"/>
+    $cssLinks
+    <script src="$baseUrl../../static/lib.js$minimize"></script>
+    <script src="$baseUrl../../static/gn_formatter_lib.js$minimize"></script>
+</head>
+<body>
+"""
+        } else {
+            return ''
+        }
+    }
+
+    def htmlOrXmlEnd = {
+        def required = "";
+        if (!func.isPDFOutput()) {
+            required = """
+<script type="text/javascript">
+//<![CDATA[
+    gnFormatter.formatterOnComplete();
+//]]>
+</script>"""
+        }
+        if (func.isHtmlOutput()) {
+            return required + '</body></html>'
+        } else {
+            return required
+        }
+    }
+
+
+    NavBarItem createXmlNavBarItem() {
+        return new NavBarItem(f.translate("xml"), f.translate("xml"), "", "xml.metadata.get?uuid=${env.metadataUUID}")
+    }
+
+    def loadHierarchyLinkBlocks() {
+        def uuid = this.env.metadataUUID
+        def id = this.env.metadataId
+
+        LinkBlock hierarchy = new LinkBlock("associated-link", "fa fa-sitemap")
+        Element related = getRelatedReport(id, uuid)
+
+        related.getChildren().each { rel ->
+            def type = rel.name
+
+            rel.getChildren("item").each { item ->
+                def direction = Direction.CHILD
+                def association
+                if (type == "siblings") {
+                    association = item.getChildText("associationType")
+                    if (association != null && association != '') {
+                        type = association;
+                        direction = Direction.PARENT
+                    }
+                } else if (type == "services" || type == "sources" || type == "parent" || type == "fcats") {
+                    direction = Direction.PARENT
+                } else if( type == 'associated') {
+                    Element aggIndexEl = item.getChildren().find{it.getName() startsWith "agg_"}
+                    if (aggIndexEl != null) {
+                        type = aggIndexEl.name.substring(4)
+                    }
+                } else if (type == "onlines" || type == "thumbnails") {
+                    return;
+                }
+
+                def relatedIdInfo = addRelation(hierarchy, uuid, item, type, direction)
+
+                if (relatedIdInfo != null && direction == Direction.PARENT) {
+                    def parentUUID = relatedIdInfo['uuid'] as String
+                    def report = getRelatedReport(relatedIdInfo['id'] as int, parentUUID)
+
+                    report.getChildren().each { potentialSiblingRel ->
+                        def relType = potentialSiblingRel.name
+                        potentialSiblingRel.getChildren("item").each { potentialSiblingItem ->
+                            if (association != null) {
+                                boolean isAggSibling = potentialSiblingItem.getChildren("agg_$association").any {
+                                    it.getTextTrim() == parentUUID
+                                }
+                                if (isAggSibling) {
+                                    addRelation(hierarchy, parentUUID, potentialSiblingItem, association, Direction.SIBLING)
+                                }
+                            } else if (relType == 'datasets' || relType == 'hassource' || relType == 'hasfeaturecat') {
+                                addRelation(hierarchy, parentUUID, potentialSiblingItem, relType, Direction.SIBLING)
+                            } else if (relType == 'children') {
+                                addRelation(hierarchy, parentUUID, potentialSiblingItem, "siblings", Direction.SIBLING)
+                            }
+
+                        }
+                    }
+                }
+            }
+        }
+        return hierarchy;
+    }
+
+    private Element getRelatedReport(int id, String uuid) {
+        def relatedXsl = this.env.getBean(GeonetworkDataDirectory).getWebappDir().resolve("xslt/services/metadata/relation.xsl");
+        def RelatedItemType[] types = [];
+        def raw = MetadataUtils.getRelated(ServiceContext.get(), id, uuid, types, 1, 1000, true)
+        def withGui = new Element("root").addContent(Arrays.asList(
+                new Element("gui").addContent(Arrays.asList(
+                        new Element("language").setText(env.lang3),
+                        new Element("locUrl").setText(env.getLocalizedUrl())
+                )),
+                raw));
+        def related = Xml.transform(withGui, relatedXsl);
+        related
+    }
+
+    private Map addRelation(hierarchy, uuid, rel, type, direction) {
+        def arrow;
+        switch (direction) {
+            case Direction.CHILD:
+                arrow = "pad-left fa-long-arrow-down"
+                break
+            case Direction.PARENT:
+                arrow = "pad-left fa-long-arrow-up"
+                break
+            default:
+                arrow = "fa-arrows-h"
+        }
+        def linkType = new LinkType()
+        linkType.name = type
+        linkType.relationDirection = direction
+        linkType.iconHtml = """
+  <i class="fa ${arrow}" title="${f.translate(direction.name().toLowerCase() + "-plural")}"></i>
+"""
+      def relUuid = rel.getChild("id").getText()
+      def relId = rel.getChild("mdid").getText()
+      def title = rel.getChild("title").getChild("value").getText()
+      def desc = rel.getChild("description").getChild("value").getText()
+      if (title == null || title.isEmpty()) {
+        title = relUuid;
+      }
+
+      def href = createShowMetadataHref(relUuid)
+      def cls = uuid.trim().isEmpty() ? "text-muted" : ''
+
+      def link = new AssociatedLink(href, title, cls)
+      link.setAbstract(desc);
+      link.metadataId = relUuid;
+      link.setLogo(rel.getChildText('logo'));
+
+      hierarchy.put(linkType, link)
+
+      return ['uuid': relUuid, 'id': relId]
+
+    }
+
+    private String createShowMetadataHref(String uuid) {
+        if (uuid.trim().isEmpty()) {
+            return "javascript:alert('" + this.f.translate("noUuidInLink") + "');"
+        } else {
+            return this.env.localizedUrl + "display#/" + URLEncoder.encode(uuid, "UTF-8") + "/formatters/full_view"
+        }
+    }
+
+}
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Matchers.groovy b/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Matchers.groovy
new file mode 100644
index 0000000000000000000000000000000000000000..4d522a1013e474e196a33bdff44202ee224ed9bb
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/groovy/common/Matchers.groovy
@@ -0,0 +1,11 @@
+package common
+
+public class Matchers {
+    def handlers;
+    def f
+    def env
+
+    def hasChild(childName) {
+        return { !it.children().find {it.name() == childName}.isEmpty() }
+    }
+}
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/hierarchy_view/config.properties b/src/main/webapp/WEB-INF/data/data/formatter/hierarchy_view/config.properties
new file mode 100644
index 0000000000000000000000000000000000000000..10e79565120b647f47bf00ee6a7402fa7e6e1264
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/hierarchy_view/config.properties
@@ -0,0 +1 @@
+published=false
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/hierarchy_view/view.groovy b/src/main/webapp/WEB-INF/data/data/formatter/hierarchy_view/view.groovy
new file mode 100644
index 0000000000000000000000000000000000000000..750399fb5c249ec2a28d8ea3f10f67da35dc0f13
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/hierarchy_view/view.groovy
@@ -0,0 +1,3 @@
+handlers.add select: ~/.*/, {els ->
+    handlers.fileResult("html/associated.html", ["associated" : new common.Handlers(handlers, f, env).loadHierarchyLinkBlocks()])
+}
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/2-level-entry.html b/src/main/webapp/WEB-INF/data/data/formatter/html/2-level-entry.html
new file mode 100644
index 0000000000000000000000000000000000000000..0e8e44fa8b127851ad0abbef6103af8a1543b06f
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/2-level-entry.html
@@ -0,0 +1,15 @@
+<div class="entry {{name}}">
+
+  <h3>
+    <button type="button" class="btn btn-default toggler" target="{{'' | generateUUID}}">
+      <i class="fa fa-arrow-circle-down"></i>
+    </button>
+    {{label}}
+  </h3>
+
+  <div id="{{'' | lastUUID}}">
+    <dl class="dl-horizontal">
+      {{childData}}
+    </dl>
+  </div>
+</div>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/associated.html b/src/main/webapp/WEB-INF/data/data/formatter/html/associated.html
new file mode 100644
index 0000000000000000000000000000000000000000..d414cceaa27cfcba9cdea25fd01b03033545c1b9
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/associated.html
@@ -0,0 +1,54 @@
+<div fmt-repeat="linkBlock in associated"
+     class="summary-links summary-links-{{linkBlock.name | escapeXmlAttrs}}">
+  <div fmt-if="isPDF">
+    <div fmt-include="html/single-link.html" fmt-include-replace="true"/>
+  </div>
+  <div fmt-if="!isPDF">
+    <h3>
+      <button type="button" class="btn btn-default toggler" target="{{'' | generateUUID}}">
+        <i class="fa fa-arrow-circle-down"></i>
+      </button>
+      <i fmt-if="linkBlock.iconClasses" class="{{linkBlock.iconClasses}} pad-right"></i><span
+      fmt-translate="">{{linkBlock.name | escapeXmlContent}}</span>
+    </h3>
+    <table id="{{'' | lastUUID}}" class="table row">
+      <tr fmt-repeat="link in linkBlock.links" class="row">
+        <td class="col-md-2 link-block-title">
+          <h3>
+            <button type="button" class="btn btn-default toggler" target="{{'' | generateUUID}}">
+              <i class="fa fa-arrow-circle-down"></i>
+            </button>
+            <span fmt-if="link.type.iconHtml" fmt-only-children="true">{{link.type.iconHtml}}</span>
+            <i fmt-if="link.type.iconClasses" class="{{link.type.iconClasses}} pad-right"
+               title="{{link.type.iconTitle | capitalize}}"></i>
+            <img fmt-if="link.type.icon" src="{{link.type.icon}}"
+                 title="{{link.type.iconTitle | capitalize}}" class="icon pad-right"></img>
+            <span fmt-translate="">{{link.type.name}}-link</span>
+          </h3>
+        </td>
+        <td class="col-md-10">
+          <div id="{{'' | lastUUID}}">
+            <div fmt-repeat="link in link.links">
+              <a onclick="gnFormatter.loadAssociated(event, 'div#associated-{{- | generateUUID}}', '{{link.metadataId}}');"
+                 title="{{link.tip}}" class="{{link.cls}} associated-link-a"
+                 target="{{'' | lastUUID}}">{{link.text | escapeXmlContent}}</a>
+              <a href="{{link.href}}" target="_blank" title="{{link.href}}" class="{{link.cls}}">
+                <i class="fa fa-external-link"></i>
+              </a>
+
+              <div id="{{'' | lastUUID}}" style="display: none;" class="associated-link-row">
+                <img class="logo" src="{{link.logo}}" fmt-if="link.logo"/>
+                <h3 class="text-justify" >{{link.tip | capitalize}}</h3>
+                <p class="text-justify" fmt-if="link.abstract">{{link.abstract}}</p>
+
+
+                <div id="associated-{{'' | lastUUID}}"/>
+              </div>
+            </div>
+          </div>
+        </td>
+      </tr>
+      <span fmt-if="linkBlock.html">{{linkBlock.html}}</span>
+    </table>
+  </div>
+</div>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/bbox.html b/src/main/webapp/WEB-INF/data/data/formatter/html/bbox.html
new file mode 100644
index 0000000000000000000000000000000000000000..b0fa51203de630057805e5b27ff9faea71b71313
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/bbox.html
@@ -0,0 +1,36 @@
+<div fmt-transclude="html/2-level-entry.html" fmt-transclude-model="childData">
+  <div class="thumbnail extent">
+    <span fmt-if="!pdfOutput" fmt-only-children="true">
+      <div class="input-group coord coord-north">
+        <input type="text" class="form-control" value="{{n}}" readonly=""/>
+        <span class="input-group-addon">N</span>
+      </div>
+      <div class="input-group coord coord-south">
+        <input type="text" class="form-control" value="{{s}}" readonly=""/>
+        <span class="input-group-addon">S</span>
+      </div>
+      <div class="input-group coord coord-east">
+        <input type="text" class="form-control" value="{{e}}" readonly=""/>
+        <span class="input-group-addon">E</span>
+      </div>
+      <div class="input-group coord coord-west">
+        <input type="text" class="form-control" value="{{w}}" readonly=""/>
+        <span class="input-group-addon">W</span>
+      </div>
+    </span>
+    <img
+      src="region.getmap.png?mapsrs={{mapconfig.mapproj}}&amp;amp;width={{mapconfig.width}}&amp;amp;background={{mapconfig.background}}&amp;amp;geom=Polygon(({{w}}%20{{n}},{{e}}%20{{n}},{{e}}%20{{s}},{{w}}%20{{s}},{{w}}%20{{n}}))&amp;amp;geomsrs={{geomproj}}"
+      style="min-width:{{minwidth}}px; min-height:{{minheight}}px;"
+      alt=""/>
+    <div fmt-if="pdfOutput">
+      <div>
+        <span class="value">{{n}}</span> <span class="input-group-addon">N</span>
+        <span class="value">{{s}}</span> <span class="input-group-addon">S</span>
+      </div>
+      <div>
+        <span class="value">{{w}}</span> <span class="input-group-addon">W</span>
+        <span class="value">{{e}}</span> <span class="input-group-addon">E</span>
+      </div>
+    </div>
+  </div>
+</div>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/links.html b/src/main/webapp/WEB-INF/data/data/formatter/html/links.html
new file mode 100644
index 0000000000000000000000000000000000000000..a729d50587276f9f5af55c5e0cfe10f57d48a5ce
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/links.html
@@ -0,0 +1,4 @@
+<div fmt-repeat="linkBlock in links"
+     class="summary-links summary-links-{{linkBlock.name | escapeXmlAttrs}}">
+  <div fmt-include="html/single-link.html" fmt-include-replace="true"/>
+</div>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/list-entry.html b/src/main/webapp/WEB-INF/data/data/formatter/html/list-entry.html
new file mode 100644
index 0000000000000000000000000000000000000000..05d393d6e41fbc3ddd1712e3c9f2fa0d7bec0919
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/list-entry.html
@@ -0,0 +1,7 @@
+<div fmt-transclude="html/2-level-entry.html" fmt-transclude-model="childData">
+  <ul class="md-value-list">
+    <li fmt-repeat="item in listItems">
+      {{item}}
+    </li>
+  </ul>
+</div>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/single-link.html b/src/main/webapp/WEB-INF/data/data/formatter/html/single-link.html
new file mode 100644
index 0000000000000000000000000000000000000000..d8751409d8f65ef50f50b06c43a3063ebe787b19
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/single-link.html
@@ -0,0 +1,31 @@
+<div>
+  <h3>
+    <button type="button" class="btn btn-default toggler" target="{{'' | generateUUID}}">
+      <i class="fa fa-arrow-circle-down"></i>
+    </button>
+    <i fmt-if="linkBlock.iconClasses" class="{{linkBlock.iconClasses}} pad-right"></i><span
+    fmt-translate="">{{linkBlock.name | escapeXmlContent}}</span>
+  </h3>
+  <table id="{{'' | lastUUID}}" class="table row target">
+    <tr fmt-repeat="link in linkBlock.links" class="row">
+      <td class="col-md-2 link-block-title">
+        <span fmt-if="link.type.iconHtml" fmt-only-children="true">{{link.type.iconHtml}}</span>
+        <i fmt-if="link.type.iconClasses" title="{{link.type.iconTitle | capitalize}}"
+           class="{{link.type.iconClasses}} pad-right"></i>
+        <img fmt-if="link.type.icon" src="{{link.type.icon}}"
+             title="{{link.type.iconTitle | capitalize}}" class="icon pad-right"></img>
+        <span fmt-translate="">{{link.type.name}}-link</span>
+      </td>
+      <td class="col-md-10">
+        <div fmt-repeat="link in link.links">
+          <a fmt-if="isPDF" href="{{link.href | escapeXmlAttrs}}" target="_blank"
+             title="{{link.tip | escapeXmlAttrs}}" class="{{link.cls}}">{{link.text |
+            escapeXmlContent}}</a>
+          <a fmt-if="!isPDF" href="{{link.href}}" target="_blank" title="{{link.tip}}"
+             class="{{link.cls}}">{{link.text | escapeXmlContent}}</a>
+        </div>
+      </td>
+    </tr>
+    <span fmt-if="linkBlock.html">{{linkBlock.html}}</span>
+  </table>
+</div>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/text-el.html b/src/main/webapp/WEB-INF/data/data/formatter/html/text-el.html
new file mode 100644
index 0000000000000000000000000000000000000000..5fc7a2a6a11ee0b0071ffc81509128da5b3b67e5
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/text-el.html
@@ -0,0 +1,4 @@
+<div fmt-if="text" class="md-text">
+    <dt title="{{label | escapeXmlContent}}">{{label | escapeXmlContent}}</dt>
+    <dd>{{text | escapeXmlContent}}</dd>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/url-el.html b/src/main/webapp/WEB-INF/data/data/formatter/html/url-el.html
new file mode 100644
index 0000000000000000000000000000000000000000..4a3fa2bdb1e43438fedc350a6768e5e47a03aa85
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/url-el.html
@@ -0,0 +1,4 @@
+<div fmt-if="text" class="md-text">
+    <dt title="{{label | escapeXmlContent}}">{{label | escapeXmlContent}}</dt>
+    <dd><a href="{{href | escapeXmlAttrs}}" title="{{href | escapeXmlAttrs}}">{{text | escapeXmlContent}}</a></dd>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/view-header.html b/src/main/webapp/WEB-INF/data/data/formatter/html/view-header.html
new file mode 100644
index 0000000000000000000000000000000000000000..2fc948ad9de46ef1c8a21b138b1b9bb9b02722de
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/view-header.html
@@ -0,0 +1,83 @@
+<div class="container gn-metadata-view gn-metadata-view-groovy">
+  <script type="application/javascript" fmt-if="isHTML">
+    //<![CDATA[
+    document.title = "{{pageTitle}}";
+    var headEl = $("head");
+    var iconLink = headEl.children("link[rel='shortcut icon']");
+    if (iconLink.length > 0) {
+      iconLink.attr("href", "{{logo}}");
+    } else {
+      headEl.append("<link rel='shortcut icon' type='image/x-icon' href='{{logo}}'></link>");
+    }
+    //]]>
+  </script>
+  <h1>
+    <img fmt-if="logo" class="logo" src="{{logo | escapeXmlAttrs}}"></img>
+    <i fmt-if="!logo" class="fa fa-arrow-circle-down"></i>
+    <span class="title">{{title | escapeXmlContent}}</span>
+  </h1>
+  <ul fmt-if="!isPDF" class="view-outline nav nav-tabs">
+    <li fmt-if="addOverviewNavItem"><a href="" rel=".overview" fmt-translate="">overview</a></li>
+    <li fmt-if="associated">
+      <a href="" rel=".container > .associated"><span fmt-translate="">associated-link</span>&amp;nbsp;
+        <i class="fa fa-circle-o-notch fa-spin associated-spinner"></i></a>
+    </li>
+    <li fmt-if="addCompleteNavItem"><a fmt-translate="" href=""
+                                       rel=".container > .entry:not(.overview)">complete</a></li>
+    <li fmt-repeat="item in navBar" title="{{item.name | escapeXmlAttrs}}">
+      <a fmt-if="item.href" href="{{item.href | escapeXmlAttrs}}" target="_blank">{{item.abbrName |
+        escapeXmlContent}}</a>
+      <a fmt-if="item.rel" rel="{{item.rel | escapeXmlAttrs}}">{{item.abbrName |
+        escapeXmlContent}}</a>
+    </li>
+    <li fmt-if="showNavOverflow" class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" title="More information"><i
+        class="fa fa-ellipsis-h"></i><b class="caret"></b></a>
+      <ul class="dropdown-menu">
+        <li fmt-repeat="item in navBarOverflow">
+          <a fmt-if="item.href" href="{{item.href | escapeXmlAttrs}}" target="_blank">{{item.abbrName
+            | escapeXmlContent}}</a>
+          <a fmt-if="item.rel" rel="{{item.rel | escapeXmlAttrs}}">{{item.abbrName |
+            escapeXmlContent}}</a>
+        </li>
+      </ul>
+    </li>
+  </ul>
+  <div class="entry overview" data-fmt-if="!isPDF">
+    <h3>
+      <button type="button" class="btn btn-default toggler" target="{{'' | generateUUID}}">
+        <i class="fa fa-arrow-circle-down"></i>
+      </button>
+      <span fmt-translate="">overview</span>
+    </h3>
+
+    <div id="{{'' | lastUUID}}" class="entry target">
+      <img fmt-if="thumbnail" class="thumbnail" src="{{thumbnail | escapeXmlAttrs}}"></img>
+      <div fmt-if="abstract" class="entry abstract">
+        <h3>
+          <button type="button" class="btn btn-default toggler" target="{{'' | generateUUID}}">
+            <i class="fa fa-arrow-circle-down"></i>
+          </button>
+          <span fmt-translate="">abstract</span>
+        </h3>
+
+        <dd id="{{'' | lastUUID}}" class="target">
+          {{abstract}}
+        </dd>
+      </div>
+      {{keywords}}
+      {{formats}}
+      {{extents}}
+
+      <div fmt-include="html/links.html" fmt-include-replace="true"/>
+    </div>
+  </div>
+
+  {{content}}
+  <div class="entry associated">
+        <span data-fmt-if="isPDF">
+            <div fmt-include="html/links.html" fmt-include-replace="true"/>
+        </span>
+    <div fmt-include="html/associated.html" fmt-include-replace="true"/>
+  </div>
+</div>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/html/wikitext-el.html b/src/main/webapp/WEB-INF/data/data/formatter/html/wikitext-el.html
new file mode 100644
index 0000000000000000000000000000000000000000..c2a47b93dea857349e74a1f5071a71877a569378
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/html/wikitext-el.html
@@ -0,0 +1,4 @@
+<div fmt-if="text" class="md-text">
+    <dt title="{{label | escapeXmlContent}}">{{label | escapeXmlContent}}</dt>
+    <dd>{{text}}</dd>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/xml_view/highlight-json-xml.js b/src/main/webapp/WEB-INF/data/data/formatter/xml_view/highlight-json-xml.js
new file mode 100644
index 0000000000000000000000000000000000000000..543a36d370b5cb5ea65145f04cef5d56e8d6467b
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/xml_view/highlight-json-xml.js
@@ -0,0 +1 @@
+var hljs=new function(){function e(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function n(e,t){var n=e&&e.exec(t);return n&&0==n.index}function r(e){var t=(e.className+" "+(e.parentNode?e.parentNode.className:"")).split(/\s+/);return t=t.map(function(e){return e.replace(/^lang(uage)?-/,"")}),t.filter(function(e){return m(e)||/no(-?)highlight/.test(e)})[0]}function i(e,t){var n={};for(var r in e)n[r]=e[r];if(t)for(var r in t)n[r]=t[r];return n}function a(e){var n=[];return function r(e,i){for(var a=e.firstChild;a;a=a.nextSibling)3==a.nodeType?i+=a.nodeValue.length:1==a.nodeType&&(n.push({event:"start",offset:i,node:a}),i=r(a,i),t(a).match(/br|hr|img|input/)||n.push({event:"stop",offset:i,node:a}));return i}(e,0),n}function s(n,r,i){function a(){return n.length&&r.length?n[0].offset!=r[0].offset?n[0].offset<r[0].offset?n:r:"start"==r[0].event?n:r:n.length?n:r}function s(n){function r(t){return" "+t.nodeName+'="'+e(t.value)+'"'}l+="<"+t(n)+Array.prototype.map.call(n.attributes,r).join("")+">"}function o(e){l+="</"+t(e)+">"}function c(e){("start"==e.event?s:o)(e.node)}for(var u=0,l="",f=[];n.length||r.length;){var h=a();if(l+=e(i.substr(u,h[0].offset-u)),u=h[0].offset,h==n){f.reverse().forEach(o);do c(h.splice(0,1)[0]),h=a();while(h==n&&h.length&&h[0].offset==u);f.reverse().forEach(s)}else"start"==h[0].event?f.push(h[0].node):f.pop(),c(h.splice(0,1)[0])}return l+e(i.substr(u))}function o(e){function t(e){return e&&e.source||e}function n(n,r){return RegExp(t(n),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,s){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},c=function(t,n){e.cI&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");o[n[0]]=[t,n[1]?Number(n[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=o}a.lR=n(a.l||/\b[A-Za-z0-9_]+\b/,!0),s&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=n(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=n(a.e)),a.tE=t(a.e)||"",a.eW&&s.tE&&(a.tE+=(a.e?"|":"")+s.tE)),a.i&&(a.iR=n(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var u=[];a.c.forEach(function(e){e.v?e.v.forEach(function(t){u.push(i(e,t))}):u.push("self"==e?a:e)}),a.c=u,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,s);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(t).filter(Boolean);a.t=l.length?n(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function c(t,r,i,a){function s(e,t){for(var r=0;r<t.c.length;r++)if(n(t.c[r].bR,e))return t.c[r]}function l(e,t){return n(e.eR,t)?e:e.eW?l(e.parent,t):void 0}function f(e,t){return!i&&n(t.iR,e)}function h(e,t){var n=x.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(n)&&e.k[n]}function g(e,t,n,r){var i=r?"":N.classPrefix,a='<span class="'+i,s=n?"":"</span>";return a+=e+'">',a+t+s}function p(){if(!w.k)return e(B);var t="",n=0;w.lR.lastIndex=0;for(var r=w.lR.exec(B);r;){t+=e(B.substr(n,r.index-n));var i=h(w,r);i?(y+=i[1],t+=g(i[0],e(r[0]))):t+=e(r[0]),n=w.lR.lastIndex,r=w.lR.exec(B)}return t+e(B.substr(n))}function v(){if(w.sL&&!E[w.sL])return e(B);var t=w.sL?c(w.sL,B,!0,L[w.sL]):u(B);return w.r>0&&(y+=t.r),"continuous"==w.subLanguageMode&&(L[w.sL]=t.top),g(t.language,t.value,!1,!0)}function b(){return void 0!==w.sL?v():p()}function d(t,n){var r=t.cN?g(t.cN,"",!0):"";t.rB?(M+=r,B=""):t.eB?(M+=e(n)+r,B=""):(M+=r,B=n),w=Object.create(t,{parent:{value:w}})}function R(t,n){if(B+=t,void 0===n)return M+=b(),0;var r=s(n,w);if(r)return M+=b(),d(r,n),r.rB?0:n.length;var i=l(w,n);if(i){var a=w;a.rE||a.eE||(B+=n),M+=b();do w.cN&&(M+="</span>"),y+=w.r,w=w.parent;while(w!=i.parent);return a.eE&&(M+=e(n)),B="",i.starts&&d(i.starts,""),a.rE?0:n.length}if(f(n,w))throw new Error('Illegal lexeme "'+n+'" for mode "'+(w.cN||"<unnamed>")+'"');return B+=n,n.length||1}var x=m(t);if(!x)throw new Error('Unknown language: "'+t+'"');o(x);for(var w=a||x,L={},M="",k=w;k!=x;k=k.parent)k.cN&&(M=g(k.cN,"",!0)+M);var B="",y=0;try{for(var C,I,j=0;;){if(w.t.lastIndex=j,C=w.t.exec(r),!C)break;I=R(r.substr(j,C.index-j),C[0]),j=C.index+I}R(r.substr(j));for(var k=w;k.parent;k=k.parent)k.cN&&(M+="</span>");return{r:y,value:M,language:t,top:w}}catch(A){if(-1!=A.message.indexOf("Illegal"))return{r:0,value:e(r)};throw A}}function u(t,n){n=n||N.languages||Object.keys(E);var r={r:0,value:e(t)},i=r;return n.forEach(function(e){if(m(e)){var n=c(e,t,!1);n.language=e,n.r>i.r&&(i=n),n.r>r.r&&(i=r,r=n)}}),i.language&&(r.second_best=i),r}function l(e){return N.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,t){return t.replace(/\t/g,N.tabReplace)})),N.useBR&&(e=e.replace(/\n/g,"<br>")),e}function f(e,t,n){var r=t?R[t]:n,i=[e.trim()];return e.match(/(\s|^)hljs(\s|$)/)||i.push("hljs"),r&&i.push(r),i.join(" ").trim()}function h(e){var t=r(e);if(!/no(-?)highlight/.test(t)){var n;N.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):n=e;var i=n.textContent,o=t?c(t,i,!0):u(i),h=a(n);if(h.length){var g=document.createElementNS("http://www.w3.org/1999/xhtml","div");g.innerHTML=o.value,o.value=s(h,a(g),i)}o.value=l(o.value),e.innerHTML=o.value,e.className=f(e.className,t,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function g(e){N=i(N,e)}function p(){if(!p.called){p.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,h)}}function v(){addEventListener("DOMContentLoaded",p,!1),addEventListener("load",p,!1)}function b(e,t){var n=E[e]=t(this);n.aliases&&n.aliases.forEach(function(t){R[t]=e})}function d(){return Object.keys(E)}function m(e){return E[e]||E[R[e]]}var N={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},E={},R={};this.highlight=c,this.highlightAuto=u,this.fixMarkup=l,this.highlightBlock=h,this.configure=g,this.initHighlighting=p,this.initHighlightingOnLoad=v,this.registerLanguage=b,this.listLanguages=d,this.getLanguage=m,this.inherit=i,this.IR="[a-zA-Z][a-zA-Z0-9_]*",this.UIR="[a-zA-Z_][a-zA-Z0-9_]*",this.NR="\\b\\d+(\\.\\d+)?",this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",this.BNR="\\b(0b[01]+)",this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",this.BE={b:"\\\\[\\s\\S]",r:0},this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]},this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]},this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]},this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]},this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]},this.NM={cN:"number",b:this.NR,r:0},this.CNM={cN:"number",b:this.CNR,r:0},this.BNM={cN:"number",b:this.BNR,r:0},this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},this.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]},this.TM={cN:"title",b:this.IR,r:0},this.UTM={cN:"title",b:this.UIR,r:0}};hljs.registerLanguage("xml",function(){var t="[A-Za-z0-9\\._:-]+",e={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"},c={eW:!0,i:/</,r:0,c:[e,{cN:"attribute",b:t,r:0},{b:"=",r:0,c:[{cN:"value",c:[e],v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[c],starts:{e:"</style>",rE:!0,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[c],starts:{e:"</script>",rE:!0,sL:"javascript"}},e,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},c]}]}});
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/xml_view/highlightjs.css b/src/main/webapp/WEB-INF/data/data/formatter/xml_view/highlightjs.css
new file mode 100644
index 0000000000000000000000000000000000000000..bdaaa356ae7a445a9dd971aa504007b2377e52a7
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/xml_view/highlightjs.css
@@ -0,0 +1,153 @@
+/*
+
+Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
+
+*/
+
+.hljs {
+  display: block;
+  overflow-x: auto;
+  padding: 0.5em;
+  background: #f0f0f0;
+  -webkit-text-size-adjust: none;
+}
+
+.hljs,
+.hljs-subst,
+.hljs-tag .hljs-title,
+.nginx .hljs-title {
+  color: black;
+}
+
+.hljs-string,
+.hljs-title,
+.hljs-constant,
+.hljs-parent,
+.hljs-tag .hljs-value,
+.hljs-rules .hljs-value,
+.hljs-preprocessor,
+.hljs-pragma,
+.haml .hljs-symbol,
+.ruby .hljs-symbol,
+.ruby .hljs-symbol .hljs-string,
+.hljs-template_tag,
+.django .hljs-variable,
+.smalltalk .hljs-class,
+.hljs-addition,
+.hljs-flow,
+.hljs-stream,
+.bash .hljs-variable,
+.apache .hljs-tag,
+.apache .hljs-cbracket,
+.tex .hljs-command,
+.tex .hljs-special,
+.erlang_repl .hljs-function_or_atom,
+.asciidoc .hljs-header,
+.markdown .hljs-header,
+.coffeescript .hljs-attribute {
+  color: #800;
+}
+
+.smartquote,
+.hljs-comment,
+.hljs-annotation,
+.hljs-template_comment,
+.diff .hljs-header,
+.hljs-chunk,
+.asciidoc .hljs-blockquote,
+.markdown .hljs-blockquote {
+  color: #888;
+}
+
+.hljs-number,
+.hljs-date,
+.hljs-regexp,
+.hljs-literal,
+.hljs-hexcolor,
+.smalltalk .hljs-symbol,
+.smalltalk .hljs-char,
+.go .hljs-constant,
+.hljs-change,
+.lasso .hljs-variable,
+.makefile .hljs-variable,
+.asciidoc .hljs-bullet,
+.markdown .hljs-bullet,
+.asciidoc .hljs-link_url,
+.markdown .hljs-link_url {
+  color: #080;
+}
+
+.hljs-label,
+.hljs-javadoc,
+.ruby .hljs-string,
+.hljs-decorator,
+.hljs-filter .hljs-argument,
+.hljs-localvars,
+.hljs-array,
+.hljs-attr_selector,
+.hljs-important,
+.hljs-pseudo,
+.hljs-pi,
+.haml .hljs-bullet,
+.hljs-doctype,
+.hljs-deletion,
+.hljs-envvar,
+.hljs-shebang,
+.apache .hljs-sqbracket,
+.nginx .hljs-built_in,
+.tex .hljs-formula,
+.erlang_repl .hljs-reserved,
+.hljs-prompt,
+.asciidoc .hljs-link_label,
+.markdown .hljs-link_label,
+.vhdl .hljs-attribute,
+.clojure .hljs-attribute,
+.asciidoc .hljs-attribute,
+.lasso .hljs-attribute,
+.coffeescript .hljs-property,
+.hljs-phony {
+  color: #88f;
+}
+
+.hljs-keyword,
+.hljs-id,
+.hljs-title,
+.hljs-built_in,
+.css .hljs-tag,
+.hljs-javadoctag,
+.hljs-phpdoc,
+.hljs-dartdoc,
+.hljs-yardoctag,
+.smalltalk .hljs-class,
+.hljs-winutils,
+.bash .hljs-variable,
+.apache .hljs-tag,
+.hljs-type,
+.hljs-typename,
+.tex .hljs-command,
+.asciidoc .hljs-strong,
+.markdown .hljs-strong,
+.hljs-request,
+.hljs-status {
+  font-weight: bold;
+}
+
+.asciidoc .hljs-emphasis,
+.markdown .hljs-emphasis {
+  font-style: italic;
+}
+
+.nginx .hljs-built_in {
+  font-weight: normal;
+}
+
+.coffeescript .javascript,
+.javascript .xml,
+.lasso .markup,
+.tex .hljs-formula,
+.xml .javascript,
+.xml .vbscript,
+.xml .css,
+.xml .hljs-cdata {
+  opacity: 0.5;
+}
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/xml_view/view.groovy b/src/main/webapp/WEB-INF/data/data/formatter/xml_view/view.groovy
new file mode 100644
index 0000000000000000000000000000000000000000..4f1e59c5ce7e739b8dbafaf660d28d5e84e80bfd
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/xml_view/view.groovy
@@ -0,0 +1,19 @@
+import groovy.xml.XmlUtil
+
+new common.Handlers(handlers, f, env).addDefaultStartAndEndHandlers()
+
+handlers.add {true} { el ->
+    def out = new StringWriter()
+    new XmlNodePrinter(new PrintWriter(out)).print(new XmlParser().parseText(XmlUtil.serialize(el)))
+    def xmlString = XmlUtil.escapeXml(out.toString())
+    """
+<link rel='stylesheet' href='${env.resourceUrl}highlightjs.css' />
+ <pre>
+  <code class='html'>
+  $xmlString
+  </code>
+ </pre>
+ <script src="${env.resourceUrl}highlight-json-xml.js"></script>
+ <script>hljs.initHighlightingOnLoad();</script>
+"""
+}
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-functions.xsl b/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-functions.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..dbe52cbdb871eda7212b673ebe7c67bb7027cd73
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-functions.xsl
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                xmlns:util="java:org.fao.geonet.util.XslUtil"
+                xmlns:gn-fn-render="http://geonetwork-opensource.org/xsl/functions/render"
+                version="2.0"
+                exclude-result-prefixes="#all">
+
+
+  <xsl:function name="gn-fn-render:get-schema-strings" as="xs:string">
+    <xsl:param name="strings" as="node()"/>
+    <xsl:param name="key" as="xs:string"/>
+
+    <xsl:variable name="nameInStrings"
+                  select="$strings/*[name() = $key]"/>
+    <xsl:value-of select="if ($nameInStrings != '')
+                          then $nameInStrings
+                          else $key"/>
+  </xsl:function>
+
+  <!-- Render coordinates of bbox and an images of the geometry
+  using the region API -->
+  <xsl:function name="gn-fn-render:bbox">
+    <xsl:param name="west" as="xs:double"/>
+    <xsl:param name="south" as="xs:double"/>
+    <xsl:param name="east" as="xs:double"/>
+    <xsl:param name="north" as="xs:double"/>
+
+    <xsl:variable name="boxGeometry"
+                  select="concat('POLYGON((',
+                  $east, ' ', $south, ',',
+                  $east, ' ', $north, ',',
+                  $west, ' ', $north, ',',
+                  $west, ' ', $south, ',',
+                  $east, ' ', $south, '))')"/>
+    <xsl:variable name="numberFormat" select="'0.00'"/>
+
+    <div class="thumbnail extent"
+         itemprop="spatial"
+         itemscope="itemscope"
+         itemtype="http://schema.org/Place">
+      <span itemprop="geo"
+            itemscope="itemscope"
+            itemtype="http://schema.org/geoShape">
+        <div class="input-group coord coord-north">
+          <input type="text" class="form-control"
+                 value="{format-number($north, $numberFormat)}" readonly=""/>
+          <span class="input-group-addon">N</span>
+        </div>
+        <div class="input-group coord coord-south">
+          <input type="text" class="form-control"
+                 value="{format-number($south, $numberFormat)}" readonly=""/>
+          <span class="input-group-addon">S</span>
+        </div>
+        <div class="input-group coord coord-east">
+          <input type="text" class="form-control"
+                 value="{format-number($east, $numberFormat)}" readonly=""/>
+          <span class="input-group-addon">E</span>
+        </div>
+        <div class="input-group coord coord-west">
+          <input type="text" class="form-control"
+                 value="{format-number($west, $numberFormat)}" readonly=""/>
+          <span class="input-group-addon">W</span>
+        </div>
+        <meta itemprop="box"
+              content="{$south},{$east} {$north},{$west}"/>
+
+      </span>
+      <xsl:copy-of select="gn-fn-render:geometry($boxGeometry)"/>
+    </div>
+  </xsl:function>
+
+
+  <!-- Use region API to display an image -->
+  <xsl:function name="gn-fn-render:geometry">
+    <xsl:param name="geometry" as="xs:string"/>
+
+    <!-- TODO get system config -->
+    <xsl:if test="$geometry">
+      <xsl:variable name="background"
+                    select="util:getSettingValue('region/getmap/background')"/>
+      <xsl:variable name="width"
+                    select="util:getSettingValue('region/getmap/width')"/>
+      <xsl:variable name="mapproj"
+                    select="util:getSettingValue('region/getmap/mapproj')"/>
+
+      <img class="gn-img-extent"
+           src="{$baseUrl}region.getmap.png?mapsrs={if ($mapproj != '')
+                                         then $mapproj
+                                         else 'EPSG:3857'}&amp;width={
+                                         if ($width != '')
+                                         then $width
+                                         else '600'
+                                         }&amp;background={
+                                         if ($background != '')
+                                         then $background
+                                         else 'osm'
+                                         }&amp;geomsrs=EPSG:4326&amp;geom={$geometry}"/>
+    </xsl:if>
+
+  </xsl:function>
+
+  <!-- Template to get metadata title using its uuid.
+         Title is loaded from current language index if available.
+         If not, default title is returned.
+         If failed, return uuid. -->
+  <xsl:function name="gn-fn-render:getMetadataTitle">
+    <xsl:param name="uuid" as="xs:string"/>
+    <xsl:param name="language" as="xs:string"/>
+
+    <xsl:variable name="metadataTitle"
+                  select="util:getIndexField(
+                  $language,
+                  $uuid,
+                  'title',
+                  $language)"/>
+    <xsl:choose>
+      <xsl:when test="$metadataTitle=''">
+        <xsl:variable name="metadataDefaultTitle"
+                      select="util:getIndexField(
+                      $language,
+                      $uuid,
+                      '_defaultTitle',
+                      $language)"/>
+        <xsl:choose>
+          <xsl:when test="$metadataDefaultTitle=''">
+            <xsl:value-of select="$uuid"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:value-of select="$metadataDefaultTitle"/>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:value-of select="$metadataTitle"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:function>
+</xsl:stylesheet>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-layout-fields.xsl b/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-layout-fields.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..aa4790885b7f0effd3a95c49b63416c082065196
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-layout-fields.xsl
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xs="http://www.w3.org/2001/XMLSchema"
+                exclude-result-prefixes="#all"
+                version="2.0">
+
+
+  <!-- This template should be overriden in the
+  schema plugin for other types of layouts. -->
+  <xsl:template mode="render-field" match="*|@*">
+    <xsl:param name="fieldName" select="''" as="xs:string"/>
+    <dl>
+      <dt>
+        <xsl:value-of select="if ($fieldName != '')
+                              then $fieldName
+                              else name(.)"/>
+      </dt>
+      <dd>
+        <xsl:apply-templates mode="render-value"/>
+      </dd>
+    </dl>
+  </xsl:template>
+
+  <xsl:template mode="render-value" match="*|@*">
+    <xsl:value-of select="."/>
+  </xsl:template>
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-layout.xsl b/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-layout.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..fc40b3d7b8b93db0adb0ca890d24a126d17f6dba
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-layout.xsl
@@ -0,0 +1,408 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:gn-fn-render="http://geonetwork-opensource.org/xsl/functions/render"
+                xmlns:gn-fn-core="http://geonetwork-opensource.org/xsl/functions/core"
+                xmlns:saxon="http://saxon.sf.net/"
+                extension-element-prefixes="saxon"
+                exclude-result-prefixes="#all"
+                version="2.0">
+
+  <xsl:import href="common/render-html.xsl"/>
+  <xsl:import href="common/functions-core.xsl"/>
+  <xsl:import href="render-variables.xsl"/>
+  <xsl:import href="render-functions.xsl"/>
+  <xsl:import href="render-layout-fields.xsl"/>
+
+  <xsl:output method="html"/>
+
+  <!-- Those templates should be overriden in the schema plugin - start -->
+  <xsl:template mode="getMetadataTitle" match="*"/>
+  <xsl:template mode="getMetadataAbstract" match="*"/>
+  <xsl:template mode="getMetadataHierarchyLevel" match="*"/>
+  <xsl:template mode="getOverviews" match="*"/>
+  <xsl:template mode="getMetadataHeader" match="*"/>
+  <!-- Those templates should be overriden in the schema plugin - end -->
+
+  <!-- Starting point -->
+  <xsl:template match="/">
+    <xsl:choose>
+      <xsl:when test="$root = 'div'">
+        <!-- Render only a DIV with the record details -->
+        <xsl:call-template name="render-record"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <!-- Render complete HTML page -->
+        <xsl:call-template name="render-html">
+          <xsl:with-param name="content">
+            <xsl:call-template name="render-record"/>
+          </xsl:with-param>
+          <xsl:with-param name="title">
+            <xsl:apply-templates mode="getMetadataTitle" select="$metadata"/>
+          </xsl:with-param>
+          <xsl:with-param name="description">
+            <xsl:apply-templates mode="getMetadataAbstract" select="$metadata"/>
+          </xsl:with-param>
+        </xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="render-record">
+    <div class="container-fluid gn-metadata-view gn-schema-{$schema}">
+
+      <xsl:variable name="type">
+        <xsl:apply-templates mode="getMetadataHierarchyLevel" select="$metadata"/>
+      </xsl:variable>
+
+      <xsl:variable name="title">
+        <xsl:apply-templates mode="getMetadataTitle" select="$metadata"/>
+      </xsl:variable>
+
+
+      <article id="gn-metadata-view-{$metadataId}"
+               class="gn-md-view gn-metadata-display"
+               itemscope="itemscope"
+               itemtype="{gn-fn-core:get-schema-org-class($type)}">
+
+
+
+        <div class="row">
+          <div class="col-md-8">
+
+            <header>
+              <h1 itemprop="name"
+                  itemscope="itemscope"
+                  itemtype="http://schema.org/name">
+                <i class="fa gn-icon-{$type}">&#160;</i>
+                <xsl:value-of select="$title"/>
+              </h1>
+
+              <xsl:apply-templates mode="getMetadataHeader" select="$metadata"/>
+
+              <div gn-related="md"
+                   data-user="user"
+                   data-types="onlines">&#160;</div>
+            </header>
+
+            <div>
+              <xsl:apply-templates mode="render-toc" select="$viewConfig"/>
+              <!-- Tab panes -->
+              <div class="tab-content">
+                <xsl:for-each select="$viewConfig/*">
+                  <xsl:sort select="@formatter-order"
+                            data-type="number"/>
+                  <xsl:apply-templates mode="render-view"
+                                       select="."/>
+                </xsl:for-each>
+              </div>
+            </div>
+          </div>
+          <div class="gn-md-side gn-md-side-advanced col-md-4">
+            <xsl:apply-templates mode="getOverviews" select="$metadata"/>
+
+            <section class="gn-md-side-providedby">
+              <h4>
+                <i class="fa fa-fw fa-cog">&#160;</i>
+                <span><xsl:value-of select="$schemaStrings/providedBy"/></span>
+              </h4>
+              <img class="gn-source-logo"
+                   src="{$nodeUrl}../images/logos/{$source}.png" />
+            </section>
+
+            <section class="gn-md-side-social">
+              <h4>
+                <i class="fa fa-fw fa-share-square-o">&#160;</i>
+                <span><xsl:value-of select="$schemaStrings/shareOnSocialSite"/></span>
+              </h4>
+              <a href="https://twitter.com/share?url={encode-for-uri($nodeUrl)}api%2Frecords%2F{$metadataUuid}"
+                 target="_blank" class="btn btn-default">
+                <i class="fa fa-fw fa-twitter">&#160;</i>
+              </a>
+              <a href="https://plus.google.com/share?url={encode-for-uri($nodeUrl)}api%2Frecords%2F{$metadataUuid}"
+                 target="_blank" class="btn btn-default">
+                <i class="fa fa-fw fa-google-plus">&#160;</i>
+              </a>
+              <a href="https://www.facebook.com/sharer.php?u={encode-for-uri($nodeUrl)}api%2Frecords%2F{$metadataUuid}"
+                 target="_blank" class="btn btn-default">
+                <i class="fa fa-fw fa-facebook">&#160;</i>
+              </a>
+              <a href="http://www.linkedin.com/shareArticle?mini=true&amp;summary=Hydrological Basins in Africa (Sample record, please remove!)&amp;url={encode-for-uri($nodeUrl)}api%2Frecords%2F{$metadataUuid}"
+                 target="_blank" class="btn btn-default">
+                <i class="fa fa-fw fa-linkedin">&#160;</i>
+              </a>
+              <a href="mailto:?subject={$title}&amp;body={encode-for-uri($nodeUrl)}api%2Frecords%2F{$metadataUuid}"
+                 target="_blank" class="btn btn-default">
+                <i class="fa fa-fw fa-envelope-o">&#160;</i>
+              </a>
+            </section>
+
+            <section class="gn-md-side-viewmode">
+              <h4>
+                <i class="fa fa-fw fa-eye">&#160;</i>
+                <span><xsl:value-of select="$schemaStrings/viewMode"/></span>
+              </h4>
+              <xsl:for-each select="$configuration/editor/views/view[not(@disabled)]">
+                <ul>
+                  <li>
+                    <a>
+                      <xsl:attribute name="href">
+                        <xsl:choose>
+                          <xsl:when test="@name = 'xml'">
+                            <xsl:value-of select="concat($nodeUrl, 'api/records/', $metadataUuid, '/formatters/xml')"/>
+                          </xsl:when>
+                          <xsl:otherwise>
+                            <xsl:value-of select="concat($nodeUrl, 'api/records/', $metadataUuid, '/formatters/xsl-view?view=', @name, '&amp;portalLink=', $portalLink)"/>
+                          </xsl:otherwise>
+                        </xsl:choose>
+                      </xsl:attribute>
+                      <xsl:variable name="name" select="@name"/>
+                      <xsl:value-of select="$schemaStrings/*[name(.) = $name]"/>
+                    </a>
+                  </li>
+                </ul>
+              </xsl:for-each>
+            </section>
+
+            <section class="gn-md-side-access">
+              <div class="well text-center">
+                <span itemprop="identifier"
+                    itemscope="itemscope"
+                    itemtype="http://schema.org/identifier" 
+                    class="hidden">
+                  <xsl:value-of select="$metadataUuid"/>
+                </span>
+                <a itemprop="url"
+                   itemscope="itemscope"
+                   itemtype="http://schema.org/url" 
+                   class="btn btn-block btn-primary"
+                   href="{if ($portalLink != '')
+                          then replace($portalLink, '\$\{uuid\}', $metadataUuid)
+                          else concat($nodeUrl, $language, '/catalog.search#/metadata/', $metadataUuid)}">
+                  <i class="fa fa-fw fa-link">&#160;</i>
+                  <xsl:value-of select="$schemaStrings/linkToPortal"/>
+                </a>
+                <xsl:value-of select="$schemaStrings/linkToPortal-help"/>
+              </div>
+            </section>
+
+            <section class="gn-md-side-associated">
+              <h4>
+                <i class="fa fa-fw fa-link">&#160;</i>
+                <span><xsl:value-of select="$schemaStrings/associatedResources"/></span>
+              </h4>
+              <div gn-related="md"
+                   data-user="user"
+                   data-types="parent|children|services|datasets|hassources|sources|fcats|siblings|associated">
+                Not available
+              </div>
+            </section>
+          </div>
+        </div>
+
+        <!--
+        TODO: scrollspy or tabs on header ?
+        <div class="gn-scroll-spy"
+             data-gn-scroll-spy="gn-metadata-view-{$metadataId}"
+             data-watch=""
+             data-filter="div > h3"/>-->
+        <footer>
+
+        </footer>
+      </article>
+      <br/>
+      <br/>
+    </div>
+  </xsl:template>
+
+  <!-- Render list of tabs in the current view -->
+  <xsl:template mode="render-toc" match="view">
+    <xsl:if test="count(tab) > 1">
+      <ul class="view-outline nav nav-tabs nav-tabs-advanced">
+        <xsl:for-each select="tab">
+          <li>
+            <a href="#gn-tab-{@id}">
+              <xsl:value-of select="gn-fn-render:get-schema-strings($schemaStrings, @id)"/>
+            </a>
+          </li>
+        </xsl:for-each>
+      </ul>
+    </xsl:if>
+  </xsl:template>
+
+
+  <!-- Render a tab. Tab id is defined in strings
+  and set the title of the section -->
+  <xsl:template mode="render-view" match="tab">
+    <xsl:variable name="content">
+      <xsl:apply-templates mode="render-view" select="*|@*"/>
+    </xsl:variable>
+
+    <!-- Display a tab only if it contains something -->
+    <xsl:if test="$content != ''">
+      <xsl:variable name="title"
+                    select="gn-fn-render:get-schema-strings($schemaStrings, @id)"/>
+
+      <div id="gn-tab-{@id}" class="tab-pane">
+        <xsl:if test="count(following-sibling::tab) > 0">
+          <h1 class="view-header">
+            <xsl:value-of select="$title"/>
+          </h1>
+        </xsl:if>
+        <xsl:choose>
+          <xsl:when test="normalize-space($content) = ''">
+            No information
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:copy-of select="$content"/>&#160;
+          </xsl:otherwise>
+        </xsl:choose>
+      </div>
+    </xsl:if>
+  </xsl:template>
+
+
+  <!-- Render sections. 2 types of sections could be
+  defined:
+  1) section with xpath matching an element
+  2) section with name create a set of fields
+  -->
+  <xsl:template mode="render-view"
+                match="section[@xpath]">
+    <div id="gn-view-{generate-id()}" class="gn-tab-content">
+      <xsl:apply-templates mode="render-view" select="@xpath"/>
+    </div>
+  </xsl:template>
+
+
+  <xsl:template mode="render-view"
+                match="section[not(@xpath)]">
+    <div id="gn-section-{generate-id()}" class="gn-tab-content">
+      <xsl:if test="@name">
+        <xsl:variable name="title"
+                      select="gn-fn-render:get-schema-strings($schemaStrings, @name)"/>
+
+        <xsl:element name="h{3 + count(ancestor-or-self::*[name(.) = 'section'])}">
+          <xsl:attribute name="class" select="'view-header'"/>
+          <xsl:value-of select="$title"/>
+        </xsl:element>
+      </xsl:if>
+      <xsl:apply-templates mode="render-view"
+                           select="section|field"/>&#160;
+    </div>
+  </xsl:template>
+
+
+  <!-- Render metadata elements defined by XPath -->
+  <xsl:template mode="render-view"
+                match="field[not(template)]">
+    <xsl:param name="base" select="$metadata"/>
+
+    <!-- Matching nodes -->
+    <xsl:variable name="nodes">
+      <saxon:call-template name="{concat('evaluate-', $schema)}">
+        <xsl:with-param name="base" select="$base"/>
+        <xsl:with-param name="in" select="concat('/../', @xpath)"/>
+      </saxon:call-template>
+    </xsl:variable>
+
+    <xsl:variable name="fieldName">
+      <xsl:if test="@name">
+        <xsl:value-of select="gn-fn-render:get-schema-strings($schemaStrings, @name)"/>
+      </xsl:if>
+    </xsl:variable>
+
+    <xsl:for-each select="$nodes">
+      <xsl:apply-templates mode="render-field">
+        <xsl:with-param name="fieldName" select="$fieldName"/>
+      </xsl:apply-templates>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <xsl:template mode="render-view"
+                match="field[template]"
+                priority="2">
+    <xsl:param name="base" select="$metadata"/>
+    <xsl:if test="@name">
+      <xsl:variable name="title"
+                    select="gn-fn-render:get-schema-strings($schemaStrings, @name)"/>
+
+      <xsl:element name="h{3 + 1 + count(ancestor-or-self::*[name(.) = 'section'])}">
+        <xsl:attribute name="class" select="'view-header'"/>
+        <xsl:value-of select="$title"/>
+      </xsl:element>
+    </xsl:if>
+
+    <xsl:variable name="fieldXpath"
+                  select="@xpath"/>
+    <xsl:variable name="fields" select="template/values/key"/>
+
+    <xsl:variable name="elements">
+      <saxon:call-template name="{concat('evaluate-', $schema)}">
+        <xsl:with-param name="base" select="$base"/>
+        <xsl:with-param name="in"
+                        select="concat('/../', $fieldXpath)"/>
+      </saxon:call-template>
+    </xsl:variable>
+
+    <!-- Loop on each element matching current field -->
+    <xsl:for-each select="$elements/*">
+      <xsl:variable name="element" select="."/>
+
+      <!-- Loop on each fields -->
+      <xsl:for-each select="$fields">
+        <xsl:variable name="nodes">
+          <saxon:call-template name="{concat('evaluate-', $schema)}">
+            <xsl:with-param name="base" select="$element"/>
+            <xsl:with-param name="in"
+                            select="concat('/./',
+                           replace(@xpath, '/gco:CharacterString', ''))"/>
+          </saxon:call-template>
+        </xsl:variable>
+
+        <xsl:variable name="fieldName">
+          <xsl:if test="@label">
+            <xsl:value-of select="gn-fn-render:get-schema-strings($schemaStrings, @label)"/>
+          </xsl:if>
+        </xsl:variable>
+
+        <xsl:for-each select="$nodes">
+          <xsl:apply-templates mode="render-field">
+            <xsl:with-param name="fieldName" select="$fieldName"/>
+          </xsl:apply-templates>
+        </xsl:for-each>
+      </xsl:for-each>
+    </xsl:for-each>
+  </xsl:template>
+
+  <!-- Render metadata elements defined by XPath -->
+  <xsl:template mode="render-view" match="@xpath">
+    <xsl:param name="base" select="$metadata"/>
+
+    <!-- Matching nodes -->
+    <xsl:variable name="nodes">
+      <saxon:call-template name="{concat('evaluate-', $schema)}">
+        <xsl:with-param name="base" select="$base"/>
+        <xsl:with-param name="in" select="concat('/../', .)"/>
+      </saxon:call-template>
+    </xsl:variable>
+
+    <xsl:variable name="fieldName">
+      <xsl:if test="../@name">
+        <xsl:value-of select="gn-fn-render:get-schema-strings($schemaStrings, ../@name)"/>
+      </xsl:if>
+    </xsl:variable>
+
+    <xsl:for-each select="$nodes">
+      <xsl:apply-templates mode="render-field">
+        <xsl:with-param name="fieldName" select="$fieldName"/>
+      </xsl:apply-templates>
+    </xsl:for-each>
+  </xsl:template>
+
+
+  <!-- Forgot all none matching elements -->
+  <xsl:template mode="render-view" match="*|@*"/>
+  <xsl:template mode="render-field" match="*|@*|text()"/>
+
+</xsl:stylesheet>
diff --git a/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-variables.xsl b/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-variables.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..ca2106dec06f841d290122b2227904ed7601d285
--- /dev/null
+++ b/src/main/webapp/WEB-INF/data/data/formatter/xslt/render-variables.xsl
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="2.0">
+
+  <!-- All URL parameters could be available as params -->
+
+  <!-- Define the view to be rendered as defined in
+  the config-editor.xml file of the schema. -->
+  <xsl:param name="view" select="'default'"/>
+
+  <!-- Choose the type of HTML to return:
+  * html render a full HTML page
+  * div render a div element to be embedded in an existing webpage. -->
+  <xsl:param name="root" select="'html'"/>
+
+  <!-- Define the full portal link. By default, it will link
+  to the catalog.search main page of the catalog. To configure a custom
+  use {{uuid}} to be replaced by the record UUID.
+  eg. http://another.portal.org/${uuid}
+  -->
+  <xsl:param name="portalLink" select="''"/>
+
+
+  <!-- TODO: schema is not part of the XML -->
+  <xsl:variable name="schema"
+                select="/root/info/record/datainfo/schemaid"/>
+  <xsl:variable name="source"
+                select="/root/info/record/sourceinfo/sourceid"/>
+  <xsl:variable name="metadataId"
+                select="/root/info/record/id"/>
+  <xsl:variable name="metadataUuid"
+                select="/root/info/record/uuid"/>
+
+  <xsl:variable name="schemaCodelists">
+    <null/>
+  </xsl:variable>
+
+  <xsl:variable name="metadata"
+                select="/root/undefined"/>
+  <xsl:variable name="language"
+                select="/root/lang/text()"/>
+  <xsl:variable name="baseUrl"
+                select="/root/url"/>
+  <xsl:variable name="nodeUrl"
+                select="/root/gui/nodeUrl"/>
+
+  <!-- Date formating -->
+  <xsl:variable name="dateFormats">
+    <dateTime>
+      <for lang="eng" default="true">[H1]:[m01]:[s01] on [D1] [MNn] [Y]</for>
+      <for lang="fre">[H1]:[m01]:[s01] le [D1] [MNn] [Y]</for>
+    </dateTime>
+    <date>
+      <for lang="eng" default="true">[D1] [MNn] [Y]</for>
+      <for lang="fre">[D1] [MNn] [Y]</for>
+    </date>
+  </xsl:variable>
+
+
+  <xsl:variable name="schemaStrings"
+                select="/root/schemas/*[name() = $schema]/strings"/>
+
+  <!-- Get params from requests parameters or use the first view configured -->
+  <xsl:variable name="viewConfig" select="$configuration/editor/views/view[@name = $view]"/>
+
+  <!-- Flat mode is defined in the first tab of the view -->
+  <xsl:variable name="isFlatMode"
+                select="$viewConfig/tab[1]/@mode = 'flat'"/>
+</xsl:stylesheet>
diff --git a/src/main/webapp/apps_extend/actions.js b/src/main/webapp/apps_extend/actions.js
new file mode 100644
index 0000000000000000000000000000000000000000..c857943065ef43c96e2fd0c35f9e3cc9fbd6b615
--- /dev/null
+++ b/src/main/webapp/apps_extend/actions.js
@@ -0,0 +1,3643 @@
+if ( typeof Ext == "undefined" ) Ext = {};
+if ( typeof Ext.menu == "undefined" ) Ext.menu = {};
+if ( typeof Ext.Msg == "undefined" ) Ext.Msg = {};
+if ( typeof Ext.menu.Item == "undefined" ) Ext.menu.Item = {};
+if ( typeof Ext.DomQuery == "undefined" ) Ext.DomQuery = {};
+
+/**
+ * define class Ext.menu.Item
+ */
+Ext.menu.ItemPro = function(config) {
+  angular.extend(this, config);
+};
+angular.extend(Ext.menu.ItemPro.prototype, {
+  items : [],
+  getEl : function(){
+    this.disabled = false;
+    if ( this.el ) return this.el;
+    var me = this;
+    this.el = document.createElement('li');
+    this.el.className = "dropdown-submenu";
+
+    this.anchor = document.createElement('a');
+    $(this.anchor).click(function(){me.handler && me.handler()});
+    $(this.anchor).html(' '+this.text);
+    this.el.appendChild(this.anchor);
+    // iconCls
+    $(this.anchor).prepend($('<i class="'+me.iconCls+'"></i>'));
+
+    if (this.menu.items && this.menu.items.length) {
+      this.submenu = document.createElement('ul');
+      this.submenu.className = "dropdown-menu dropdown-menu-right";
+      this.el.appendChild(this.submenu);
+      this.menu.items.forEach(function(action, index) {
+        //console.log(index, action.getEl());
+        $(action.getEl()).appendTo(me.submenu)
+      })
+    }
+    return this.el;
+  },
+  setText : function(text) {
+    this.text = text;
+    $(this.anchor).html(' '+this.text);
+  },
+  setDisabled : function(bDisabled) {
+    this.disabled = bDisabled || false;
+    if( this.disabled ) $(this.el).attr("disabled", bDisabled).addClass("disabled");
+    else                $(this.el).removeAttr("disabled").removeClass("disabled")
+    //$(this.el).toggleClass("disabled", this.disabled);
+  },
+  show : function(bDisabled) {
+    this.setDisabled(bDisabled);
+    $(this.el).toggle(true);
+    if (this.actionMenu && this.refreshActionMenu) {
+      this.actionMenu.showAt(this.actionMenu.getPosition());
+    }
+    if (this.actionMenu && this.actionMenu.nbActionPro) {
+      this.actionMenu.nbActionPro--;
+      if (this.actionMenu.nbActionPro == 0) {
+        if (this.actionMenu.menu_loading) {
+          this.actionMenu.menu_loading.style.display = "none";
+        }
+      }
+    }
+  },
+  hide : function() {
+    this.setDisabled(true);
+    $(this.el).toggle(false);
+    if (this.actionMenu && this.refreshActionMenu) {
+      this.actionMenu.showAt(this.actionMenu.getPosition());
+    }
+    if (this.actionMenu && this.actionMenu.nbActionPro) {
+      this.actionMenu.nbActionPro--;
+      if (this.actionMenu.nbActionPro == 0) {
+        if (this.actionMenu.menu_loading) {
+          this.actionMenu.menu_loading.style.display = "none";
+        }
+      }
+    }
+  },
+  /**
+   * all instances must implement this function and call this.hide() or
+   * this.show()
+   */
+  setVisibility : function(catalogue) {
+    this.hide();
+  },
+  getTraitement : function(catalogue) {
+    var tabTraitement = [];
+    if (this.menu.items) {
+      this.menu.items.forEach(function(action, index) {
+        if (catalogue.isIdentified() && action.bConnect
+            || !catalogue.isIdentified() && action.bSearch) {
+          if (action.traitement) {
+            if (action.traitement instanceof Array) {
+              tabTraitement = tabTraitement.concat(action.traitement);
+            } else {
+              tabTraitement.push(action.traitement);
+            }
+          }
+        }
+      });
+    }
+    if (catalogue.isIdentified() && this.bConnect
+        || !catalogue.isIdentified() && this.bSearch) {
+      if (this.traitement) {
+        if (this.traitement instanceof Array) {
+          tabTraitement = tabTraitement.concat(this.traitement);
+        } else {
+          tabTraitement.push(this.traitement);
+        }
+      }
+    }
+    return tabTraitement.join("|");
+  },
+  setAttr : function(attr, val) {
+    this[attr] = val;
+    if (this.menu.items) {
+      this.menu.items.forEach(function(action, index) {
+            action[attr] = val;
+            action.setHandler(action.handler, action);
+          });
+    }
+  },
+  setHandler : function(handler, scope){
+    this.handler = function(){handler.call(scope||this)};
+  }
+});
+
+/**
+ * define class Ext.ActionPro
+ */
+Ext.ActionPro = function(config) {
+  angular.extend(this, config);
+};
+angular.extend(Ext.ActionPro.prototype, {
+  items : [],
+  getEl : function(){
+    this.disabled = false;
+    if ( this.el ) return this.el;
+    var me = this;
+    this.el = document.createElement('li');
+    this.anchor = document.createElement('a');
+    $(this.anchor).click(function(){me.handler()});
+    $(this.anchor).html(' '+this.text);
+    this.el.appendChild(this.anchor);
+    // iconCls
+    $(this.anchor).prepend($('<i class="'+me.iconCls+'"></i>'));
+    return this.el;
+  },
+  setText : function(text) {
+    this.text = text;
+    $(this.anchor).html(' '+this.text);
+  },
+  setDisabled : function(bDisabled) {
+    this.disabled = bDisabled || false;
+    if( this.disabled ) $(this.el).attr("disabled", bDisabled).addClass("disabled");
+    else                $(this.el).removeAttr("disabled").removeClass("disabled")
+    //$(this.el).toggleClass("disabled", this.disabled);
+  },
+  show : function(bDisabled) {
+    this.setDisabled(bDisabled);
+    $(this.el).toggle(true);
+    if (this.actionMenu && this.refreshActionMenu) {
+      this.actionMenu.showAt(this.actionMenu.getPosition());
+    }
+    this.resetToolTip();
+    if (this.actionMenu && this.actionMenu.nbActionPro) {
+      this.actionMenu.nbActionPro--;
+      if (this.actionMenu.nbActionPro == 0) {
+        if (this.actionMenu.menu_loading) {
+          this.actionMenu.menu_loading.style.display = "none";
+        }
+      }
+    }
+  },
+  hide : function() {
+    this.setDisabled(true);
+    $(this.el).toggle(false);
+    if (this.actionMenu && this.refreshActionMenu) {
+      this.actionMenu.showAt(this.actionMenu.getPosition());
+    }
+    if (this.actionMenu && this.actionMenu.nbActionPro) {
+      this.actionMenu.nbActionPro--;
+      if (this.actionMenu.nbActionPro == 0) {
+        if (this.actionMenu.menu_loading) {
+          this.actionMenu.menu_loading.style.display = "none";
+        }
+      }
+    }
+  },
+  /**
+   * all instances must implement this function and call this.hide() or
+   * this.show()
+   */
+  setVisibility : function(catalogue) {
+    this.hide();
+  },
+  getTraitement : function(catalogue) {
+    if ((catalogue.isIdentified() && this.bConnect)
+        || (!catalogue.isIdentified() && this.bSearch)) {
+      if (this.traitement instanceof Array) {
+        return this.traitement.join("|");
+      } else {
+        return this.traitement;
+      }
+    } else {
+      return "";
+    }
+  },
+  resetToolTip : function() {
+    if (this.oMetadataSelect) {
+      setToolTipToActionSelection(this);
+    } else {
+      setToolTipToAction(this);
+    }
+  },
+  setAttr : function(attr, val) {
+    this[attr] = val;
+  },
+  setHandler : function(handler, scope){
+    this.handler = function(){handler.call(scope||this)};
+  }
+});
+
+/**
+ * set a toolTip to an action
+ */
+function setToolTipToAction(actionPro, toolTip) {
+  actionPro.items.forEach(function(item) {
+    if (item.oToolTip) {
+      item.oToolTip.destroy();
+    }
+    _toolTip = (toolTip ? toolTip : (actionPro.toolTip
+        ? actionPro.toolTip
+        : ""));
+    if (_toolTip) {
+      item.oTolTip = new Ext.ToolTip({
+            target : item.id,
+            title : _toolTip
+          });
+    }
+  });
+}
+
+/**
+ * set a toolTip to an action on selection
+ */
+function setToolTipToActionSelection(actionPro, toolTip) {
+  actionPro.items.forEach(function(item) {
+    if (item.oToolTip) {
+      item.oToolTip.destroy();
+    }
+    _toolTip = (toolTip ? toolTip : (actionPro.toolTip
+        ? actionPro.toolTip
+        : ""));
+    if (_toolTip) {
+      item.oToolTip = new Ext.ToolTip({
+            target : item.id,
+            title : _toolTip,
+            anchor : "anchor"
+          });
+    }
+  });
+}
+
+/**
+ * set metadata actions
+ */
+function setMetadataActions($rootScope, $scope, actionMenu, record, addOnVisible, catalogue) {
+  // add actions only if actionMenu exists
+
+    // set toolTip before showing actions
+//    actionMenu.on("beforeshow", function(menu) {
+//      for (var i = 0; i < actionMenu.tabActionPro.length; i++) {
+//        if (actionMenu.tabActionPro[i].resetToolTip) {
+//          actionMenu.tabActionPro[i].resetToolTip();
+//        }
+//      }
+//      // set toolTip to existing actions
+//      if (actionMenu.viewAction) {
+//        setToolTipToAction(actionMenu.viewAction,
+//            "Consulter la fiche de métadonnée");
+//      }
+//      if (actionMenu.viewXMLAction) {
+//        setToolTipToAction(actionMenu.viewXMLAction,
+//            "Exporter la fiche de métadonnée au format XML");
+//      }
+//      if (actionMenu.viewXMLAction) {
+//        setToolTipToAction(actionMenu.printAction,
+//            "Exporter la fiche de métadonnée au format PDF");
+//      }
+//      if (actionMenu.getMEFAction) {
+//        setToolTipToAction(actionMenu.getMEFAction,
+//            "Exporter la fiche de métadonnée au format ZIP");
+//      }
+//    });
+
+    // show loading
+
+    if ($scope.metadata_uuid==record.get("uuid"))  return;
+
+    $(actionMenu).html('')
+    // add loading
+    $scope.getting_rights = true;
+    $scope.metadata_uuid = record.get("uuid");
+    actionMenu.tabActionPro = [];
+    var index = 0;
+    /**PRODIGE40 : REMOVE
+    // add action "Editer"
+    index++;
+    actionMenu.editNewAction = getEditNewAction(catalogue);
+    actionMenu.insert(index, actionMenu.editNewAction);
+    actionMenu.tabActionPro.push(actionMenu.editNewAction);*/
+    // add action "Editer le catalogue d'attributs"
+    /*index++;
+    actionMenu.catalogueProAction = getCatalogueAction(catalogue);
+    actionMenu.insert(index, actionMenu.catalogueProAction);
+    actionMenu.tabActionPro.push(actionMenu.catalogueProAction);*/
+    // add action "Importer les données"
+    /*index++;
+    actionMenu.insert(index, new Ext.ActionPro({
+        text : "DEVELOPPEMENT : Ext Alert",
+        handler : function(){ Ext.Msg.alert('TODO DEVELOPPEMENT : Ext Alert', "contenu<br>Sur plusieurs lignes <br>Fin.", function(){alert('ok')}) },
+        setVisibility : function(){return true;}
+      })
+    );
+    index++;
+    actionMenu.insert(index, new Ext.ActionPro({
+        text : "DEVELOPPEMENT : Ext Confirm",
+        handler : function(){ Ext.Msg.confirm('TODO DEVELOPPEMENT : Ext Confirm', "contenu<br>Sur plusieurs lignes <br>Fin.", function(){alert('ok')}) },
+        setVisibility : function(){return true;}
+      })
+    );*/
+    // add action "Synchronisation des données SIG"
+    actionMenu.synchronisationAction = getHarvestedSynchronizationAction(catalogue);
+    actionMenu.insert(index, actionMenu.synchronisationAction);
+    actionMenu.tabActionPro.push(actionMenu.synchronisationAction);
+    // aadd action "Importer les données"
+    index++;
+    actionMenu.importDataAction = getImportDataAction(catalogue);
+    actionMenu.insert(index, actionMenu.importDataAction);
+    actionMenu.tabActionPro.push(actionMenu.importDataAction);
+    // add action "Créer une donnée"
+    index++;
+    actionMenu.createStructureAction = getCreateStructureDataAction(catalogue);
+    actionMenu.insert(index, actionMenu.createStructureAction);
+    actionMenu.tabActionPro.push(actionMenu.createStructureAction);
+    // add action "Dupliquer"
+    /*index++;
+    actionMenu.duplicateProAction = getDuplicateProAction(catalogue);
+    actionMenu.insert(index, actionMenu.duplicateProAction);
+    actionMenu.tabActionPro.push(actionMenu.duplicateProAction);*/
+    // add action "Administrer la jointure"
+    index++;
+    actionMenu.adminJoinAction = getAdminJoinAction(catalogue);
+    actionMenu.insert(index, actionMenu.adminJoinAction);
+    actionMenu.tabActionPro.push(actionMenu.adminJoinAction);
+    // add action "Paramétrer la carte"
+    index++;
+    actionMenu.paramCarteAction = getParamCarteAction(catalogue);
+    actionMenu.insert(index, actionMenu.paramCarteAction);
+    actionMenu.tabActionPro.push(actionMenu.paramCarteAction);
+    index++;
+    
+    if(catalogue.PRO_IS_RAWGRAPH_ACTIF=="on"){
+      actionMenu.paramChartAction = getParamChartAction(catalogue);
+      actionMenu.insert(index, actionMenu.paramChartAction);
+      actionMenu.tabActionPro.push(actionMenu.paramChartAction);
+      index++;
+    }
+    
+    // add action "Renommer la carte"
+    /*index++;
+    actionMenu.renameCarteAction = getRenameCarteAction(catalogue);
+    actionMenu.insert(index, actionMenu.renameCarteAction);
+    actionMenu.tabActionPro.push(actionMenu.renameCarteAction);*/
+    // add action "Créer une métadonnée enfant"
+    /*index++;
+    actionMenu.createChildAction = getCreateChildAction(catalogue);
+    actionMenu.insert(index, actionMenu.createChildAction);
+    actionMenu.tabActionPro.push(actionMenu.createChildAction);*/
+    // add action "Représentation par défaut"
+    
+    actionMenu.representationActions = getRepresentationActions(catalogue);
+    actionMenu.insert(index, actionMenu.representationActions);
+    actionMenu.tabActionPro.push(actionMenu.representationActions);
+	
+	  index++;
+    actionMenu.qualiteActions = getQualiteActions(catalogue);
+    actionMenu.insert(index, actionMenu.qualiteActions);
+    actionMenu.tabActionPro.push(actionMenu.qualiteActions);
+	
+    // add sub-menu "Gérer l'accès public"
+    index++;
+    actionMenu.publicAccessActions = getPublicAccessActions(catalogue);
+    actionMenu.insert(index, actionMenu.publicAccessActions);
+    actionMenu.tabActionPro.push(actionMenu.publicAccessActions);
+    // add sub-menu "Modifier le statut"
+    /*index++;
+    actionMenu.updateStatutActions = getUpdateStatutActions(catalogue);
+    actionMenu.insert(index, actionMenu.updateStatutActions);
+    actionMenu.tabActionPro.push(actionMenu.updateStatutActions);*/
+    // add action "Supprimer"
+    // add action "Ajouter au panier"
+    index += 5;
+    actionMenu.addPanierAction = getAddToPanierAction(catalogue);
+    actionMenu.insert(index, actionMenu.addPanierAction);
+    actionMenu.tabActionPro.push(actionMenu.addPanierAction);
+    // add action "Visualiser"
+	
+    index++;
+    actionMenu.visualiserAction = getVisualiserAction(catalogue);
+    actionMenu.insert(index, actionMenu.visualiserAction);
+    actionMenu.tabActionPro.push(actionMenu.visualiserAction);
+	
+	  index++;
+    if(catalogue.PRO_IS_RAWGRAPH_ACTIF=="on"){
+      actionMenu.visualiserChartAction = getVisualiserChartAction(catalogue);
+      actionMenu.insert(index, actionMenu.visualiserChartAction);
+      actionMenu.tabActionPro.push(actionMenu.visualiserChartAction);
+    }
+	
+	
+    // add action "Export PDF complet"
+    index += 5;
+    actionMenu.exportPDFCompletAction = getExportPDFCompletAction(catalogue);
+    actionMenu.insert(index, actionMenu.exportPDFCompletAction);
+    actionMenu.tabActionPro.push(actionMenu.exportPDFCompletAction);
+
+    index++;
+    actionMenu.deleteProAction = getDeleteProAction(catalogue);
+    actionMenu.insert(index, actionMenu.deleteProAction);
+    actionMenu.tabActionPro.push(actionMenu.deleteProAction);
+
+  // set visibility on actions
+  if (actionMenu
+      && (!addOnVisible || addOnVisible
+          && actionMenu.getEl().dom.style.top.substr(0, 1) != "-")) {
+    if (addOnVisible) {
+      actionMenu.showAt(actionMenu.getPosition());
+    }
+    // disable action "Editer"
+    if (actionMenu.editAction) {
+      actionMenu.editAction.hide();
+      actionMenu.editAction.setDisabled(true);
+    }
+    if (actionMenu.extEditorAction) {
+      actionMenu.extEditorAction.hide();
+      actionMenu.extEditorAction.setDisabled(true);
+    }
+    if (actionMenu.angularEditorAction) {
+      actionMenu.angularEditorAction.hide();
+      actionMenu.angularEditorAction.setDisabled(true);
+    }
+    if (actionMenu.editNewAction) {
+      actionMenu.editNewAction.hide();
+      actionMenu.editNewAction.setDisabled(true);
+    }
+    // hide default action "Supprimer"
+    if (actionMenu.deleteAction) {
+      actionMenu.deleteAction.hide();
+      actionMenu.deleteAction.setDisabled(true);
+    }
+    // hide action "Autres actions"
+    if (actionMenu.otherActions) {
+      actionMenu.otherActions.hide();
+      actionMenu.otherActions.setDisabled(true);
+    }
+    if (catalogue.isIdentified()) {
+      // hide action "Zoomer vers"
+      if (actionMenu.zoomToAction) {
+        actionMenu.zoomToAction.hide();
+        actionMenu.zoomToAction.setDisabled(true);
+      }
+    }
+    var tabTraitement = [];
+
+    // init all actions visibility
+    for (var i = 0; i < actionMenu.tabActionPro.length; i++) {
+      actionMenu.tabActionPro[i].setAttr("actionMenu", actionMenu);
+      actionMenu.tabActionPro[i].setAttr("record", record);
+      actionMenu.tabActionPro[i].setAttr("refreshActionMenu", addOnVisible);
+      actionMenu.tabActionPro[i].setVisibility(catalogue, true);
+      var traitements = actionMenu.tabActionPro[i].getTraitement(catalogue);
+      if ( !traitements ) traitements = [];
+      if ( !(traitements instanceof Array) ) traitements = traitements.split("|");
+      traitements.forEach(function(traitement){
+        if ( traitement && tabTraitement.indexOf(traitement)==-1 )
+          tabTraitement.push(traitement);
+      })
+    }
+    // get user rights and show actions
+
+    /**
+     * fonction de verification des droits sur les actions du menu
+     */
+    var verifyRights = function() {
+      if ( $scope.getting_rights ){
+        $.ajax({
+          //crossDomain: true,
+          url : catalogue.routes.catalogue.prodige_verify_rights_url,
+          data : {
+            ID : record.get("id"),
+            OBJET_TYPE : record.get('type'),
+            OBJET_STYPE : ( in_array("chart", record.type) ? "chart" : 
+			    (record.get('type') == "service"
+                && record.get('serviceType') && record.get("isharvested") == "n"
+                ? record.get('serviceType')
+                : "")),
+            TRAITEMENTS : tabTraitement.join("|")
+          },
+          success : function(oResUserRights) {
+            $scope.getting_rights = true /*false*/;
+            $scope.$digest()
+
+            var oRights = (typeof oResUserRights=="string" ? eval("(" + oResUserRights + ")") : oResUserRights);
+            if (actionMenu.editNewAction) {
+              if (typeof oRights["CMS"] != 'undefined' && oRights["CMS"]) {
+                actionMenu.editNewAction.show();
+                actionMenu.editNewAction.setDisabled(false);
+              } else {
+                actionMenu.editNewAction.hide();
+                actionMenu.editNewAction.setDisabled(true);
+              }
+            }
+            actionMenu.nbActionPro = actionMenu.tabActionPro.length;
+  //alert("TODO apps_extend/actions.js/setMetadataActions::ajax => restituer l'action setVisibility" );
+            for (var i = 0; i < actionMenu.tabActionPro.length; i++) {
+              actionMenu.tabActionPro[i].setAttr("oRights", oRights);
+
+              RESTITUER : actionMenu.tabActionPro[i].setVisibility(catalogue);
+
+  //            /*TO DELETE {*/
+  //            if ( actionMenu.tabActionPro[i].action_id == 'catalogue' ){
+  //              actionMenu.tabActionPro[i].setVisibility(catalogue);
+  //            } else {
+  //              actionMenu.tabActionPro[i].show();
+  //              actionMenu.tabActionPro[i].setDisabled(false);
+  //            }
+  //            /*}TO DELETE*/
+            }
+            // hide default action "Supprimer"
+            if (actionMenu.deleteAction) {
+              actionMenu.deleteAction.hide();
+              actionMenu.deleteAction.setDisabled(true);
+            }
+            // hide default action "Supprimer"
+            if (actionMenu.angularEditorAction) {
+              actionMenu.angularEditorAction.hide();
+              actionMenu.angularEditorAction.setDisabled(true);
+            }
+            // hide action "Autres actions"
+            if (actionMenu.otherActions) {
+              actionMenu.otherActions.hide();
+              actionMenu.otherActions.setDisabled(true);
+            }
+
+          },
+          failure : function() {
+            $scope.getting_rights = true /*false*/;
+            console.log("failure");
+          }
+        });
+      }
+    } // end verifyRights
+    $(actionMenu).on('beforeshow', verifyRights);
+    $(actionMenu).trigger('beforeshow');
+
+  }
+}
+
+/**
+ * set metadata actions on selection
+ */
+function setSelectionMetadataActions(actionMenu, topToolBar, catalogue) {
+  if (actionMenu) {
+
+    if (!actionMenu.bProSelectionActionsAdded) {
+
+      actionMenu.on("beforeshow", function(menu) {
+        if (menu.tabSelectionActionPro) {
+          menu.nbActionPro = menu.tabSelectionActionPro.length;
+        }
+        // show loading
+        var menu_selection_loading = document
+            .getElementById('menu_selection_loading_' + menu.getId());
+        if (menu_selection_loading) {
+          menu_selection_loading.style.display = "";
+        } else {
+          // add loading
+          if (menu.getEl()) {
+            var div = document.createElement('div');
+            div.setAttribute('id', 'menu_selection_loading_' + menu.getId());
+            div
+                .setAttribute(
+                    'style',
+                    'position:absolute;top:0;width:100%;height:100%;background-color:rgba(255, 255, 255, 0.5)');
+            var img = document.createElement('img');
+            img.setAttribute('src', catalogue.URL + "/images/spinner.gif");
+            img.setAttribute('style', 'display:block;margin:0 auto');
+            div.appendChild(img);
+            menu.getEl().dom.appendChild(div);
+            menu.menu_loading = div;
+          }
+        }
+        $.ajax({
+              crossDomain: true,
+              url : urlParent + "Services/selectMetadata.php",
+              data : {
+                action : "get",
+                query : catalogue.services.rootUrl
+                    + catalogue.metadataStore.service
+                    + "?"
+                    + GeoNetwork.util.SearchTools.buildQueryFromForm(Ext
+                            .getCmp("searchForm"), catalogue.startRecord,
+                        GeoNetwork.util.SearchTools.sortBy,
+                        catalogue.metadataStore.fast)
+              },
+              success : function(oResMetadataSelect) {
+                var oMetadataSelect = eval("("
+                    + oResMetadataSelect + ")");
+                this.tabSelectionActionPro.forEach(function(action) {
+                  action.setAttr("oMetadataSelect", oMetadataSelect);
+                  action.setVisibility(catalogue);
+                });
+              },
+              scope : this
+            });
+        // set toolTip to existing actions on selection
+        setToolTipToActionSelection(topToolBar.selectionActions[0],
+            "Exporter la sélection au format ZIP");
+        setToolTipToActionSelection(topToolBar.selectionActions[1],
+            "Exporter la sélection au format CSV");
+        setToolTipToActionSelection(topToolBar.selectionActions[2],
+            "Exporter la sélection au format PDF");
+        setToolTipToActionSelection(topToolBar.selectionActions[6],
+            "Affecter une (des) catégorie(s)");
+      });
+
+      actionMenu.tabSelectionActionPro = [];
+      var index = 1;
+      // add action "Ajouter au panier"
+      actionMenu.addSelectionToPanierActionPro = getAddToPanierAction(catalogue);
+      actionMenu.insert(index, actionMenu.addSelectionToPanierActionPro);
+      actionMenu.tabSelectionActionPro.push(actionMenu.addSelectionToPanierActionPro);
+
+      // add action "Modifier le statut"
+      actionMenu.addSelectionUpdateStatutActionsPro = getUpdateStatutActions(catalogue);
+      actionMenu.insert(index, actionMenu.addSelectionUpdateStatutActionsPro);
+      actionMenu.tabSelectionActionPro.push(actionMenu.addSelectionUpdateStatutActionsPro);
+
+      // add action "Supprimer"
+      index++;
+      actionMenu.addSelectionDeleteActionPro = getDeleteProAction(catalogue);
+      actionMenu.insert(index, actionMenu.addSelectionDeleteActionPro);
+      actionMenu.tabSelectionActionPro.push(actionMenu.addSelectionDeleteActionPro);
+
+      // add "Categories"
+      /*index++
+      actionMenu.addSelectionCategoriesActionPro = getCategoriesProAction(catalogue, topToolBar);
+      actionMenu.insert(index, actionMenu.addSelectionCategoriesActionPro);
+      actionMenu.tabSelectionActionPro.push(actionMenu.addSelectionCategoriesActionPro);
+      */
+      // attach actionMenu to action => useful to show/hide loading menu
+      for (var i = 0; i < actionMenu.tabSelectionActionPro.length; i++) {
+        actionMenu.tabSelectionActionPro[i].setAttr("actionMenu", actionMenu);
+      }
+
+   //   actionMenu.fireEvent("beforeshow", actionMenu);
+
+      actionMenu.bProSelectionActionsAdded = true;
+    }
+  }
+}
+
+/**
+ * return action "Importer les données"
+ */
+function getImportDataAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Importer les données...",
+        iconCls : "fa fa-fw fa-upload",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          import_data(catalogue, this.record.get("uuid"));
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            var sdom_isset = (this.oRights.sdom_dispose_metadata || false);
+            switch (this.record.get('type') ) {
+              case "series" :
+                switch (this.oRights["couche_type"]) {
+                  case "1" : // type "jointure"
+                    this.show();
+                  break;
+                  default : // type "vector"
+                    this.hide();
+                  break;
+                }
+              case "dataset" :
+                switch (this.oRights["couche_type"]) {
+                  case "-4" : // type "jointure"
+                    //this.hide();
+                  //break;
+                  default : // type "données", "majic", "table"
+                    var enable = this.oRights[this.traitement];
+                    //verify rights to edit metadata (creation mode for non harvested data)
+                    /*if(!enable && this.record.get("isharvested")=="n"){
+                      enable = Boolean( this.record["geonet:info"].edit ? this.record["geonet:info"].edit : false ) ;
+                    }*/
+                    this.show( !(sdom_isset && enable));
+                  break;
+                }
+              break;
+              case "nonGeographicDataset" :
+                this.show( !(sdom_isset && this.oRights[this.traitement]));
+              break;
+              default :
+                this.hide();
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            return this.traitement;
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * return action "Créer la Structure des données"
+ */
+function getCreateStructureDataAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Créer la structure de données",
+        iconCls : "fa fa-fw fa-edit",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          administration_carto_creerStructure(catalogue, this.record.get('id'),
+              this.oRights["layer_table"]||null, window.location.href,
+              this.oRights["color_theme_id"], this.oRights["server_url"]);
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            switch (this.record.get('type') ) {
+              case "dataset" :
+                switch (this.oRights["couche_type"]) {
+                  case undefined :
+                    if (this.oRights["CMS"] && this.oRights["PRO_EDITION"]){
+                      var enable = this.oRights[this.traitement];
+                      //verify rights to edit metadata (creation mode for non harvested data)
+                      if(!enable && this.record.get("isharvested")=="n"){
+                        enable = this.record["geonet:info"].edit ? this.record["geonet:info"].edit :false ;
+                      }
+                      this.show(!enable);
+                    }else{
+                      this.hide();
+                    }
+                  break;
+				  case "" : // type "donnee"
+                  case "1" : // type "donnee"
+                    this.hide();
+                  break;
+                  default : // type "données", "majic", "table"
+                    this.hide();
+                  break;
+                }
+              break;
+              default :
+                this.hide();
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            return this.traitement;
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * return action "Affecter une(des) catégorie(s)
+ */
+/*
+function getCategoriesProAction(catalogue, toptoolbar) {
+  return new Ext.ActionPro({
+    text : "Affecter une(des) catégorie(s)",
+    iconCls : "",
+    traitement : ["CMS"],
+    bConnect : true,
+    bSearch : false,
+    handler : function() {
+      if( $(this.el).prop('disabled') ) return;
+      if (this.oMetadataSelect) {
+        var tabMetadataDisallowedName = [];
+        var tabMetadataDisallowed = [];
+        var nbMetadataSelect = this.oMetadataSelect.length;
+        this.oMetadataSelect.forEach(function(metadata) {
+          $.ajax({
+            //crossDomain: true,
+            scope : this,
+            url : catalogue.routes.catalogue.prodige_verify_rights_url,
+            data : {
+              ID : metadata.id,
+              OBJET_TYPE : metadata.type,
+              OBJET_STYPE : (metadata.type == "service" && metadata.serviceType
+                  ? metadata.serviceType
+                  : ""),
+              TRAITEMENTS : this.traitement.join("|")
+            },
+            success : function(oResUserRights) {
+              var oRights = (typeof oResUserRights=="string" ? eval("(" + oResUserRights + ")") : oResUserRights);
+              if (!oRights[this.traitement[0]]) {
+                tabMetadataDisallowed.push(metadata["uuid"]);
+                tabMetadataDisallowedName.push(metadata["title"]);
+              }
+              nbMetadataSelect--;
+              if (nbMetadataSelect == 0) {
+                // On deselectionne les metadonnees dont les droits sont
+                // insuffisants
+                catalogue.metadataSelect('remove', tabMetadataDisallowed);
+                // On affiche la fenetre des categories
+                catalogue.massiveOp('Categories', function() {
+                  var modalWindow = Ext.getCmp("modalWindow");
+                  modalWindow.on("destroy", function() {
+                    catalogue.metadataSelect('add', tabMetadataDisallowed);
+                    var tabMetadataDisallowedLength = tabMetadataDisallowedName.length;
+                    tabMetadataDisallowedName = tabMetadataDisallowedName
+                        .join(", ");
+                    if (tabMetadataDisallowedLength > 0) {
+                      Ext.Msg.alert("Droits insuffisants",
+                          (tabMetadataDisallowedLength == 1
+                              ? "La couche "
+                              : "Les couches ")
+                              + tabMetadataDisallowedName
+                              + (tabMetadataDisallowedLength == 1
+                                  ? " n'a pu être mise "
+                                  : " n'ont pu être mises ")
+                              + "à jour. Droits insuffisants.");
+                    }
+                  });
+                });
+              }
+            }
+          });
+        }, this);
+      }
+    },
+    setVisibility : function(catalogue, bInit) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        this.show(bInit);
+        this.mode = "";
+        if (this.oMetadataSelect) {
+          if (this.oMetadataSelect.length == 0) {
+            this.show(true);
+          } else {
+            this.show();
+          }
+        }
+        if (this.oRights) {
+          var type = this.record.get('type') ;
+          var sub_type = (this.record.get('serviceType') || this.oRights["couche_type"]);
+          this.mode = getMode(type, sub_type);
+        }
+      } else {
+        this.hide();
+      }
+    }
+  });
+}
+*/
+/**
+ * return action "Supprimer"
+ */
+function getDeleteProAction(catalogue) {
+  //var doDelete = function(catalogue, uuid, type) {
+
+    /*switch (type) {
+      case "dataset" :
+        administration_carto_delCouche(oRights["pk_data"], oRights["fmeta_id"],
+            oRights["layer_table"], oRights["couche_type"],
+            oRights["server_url"], title, onSuccess, tabParams);
+      break;
+      case "nonGeographicDataset" :
+        administration_carto_delCoucheMajic(oRights["pk_data"],
+            oRights["fmeta_id"], title, onSuccess, tabParams);
+      break;
+      case "series" :
+        confirm_administration_carto_delDataConfirmed(oRights["pk_data"],
+            oRights["fmeta_id"], 0, title, onSuccess, tabParams);
+      break;
+      case "service" :
+        if (typeof oRights["pk_data"] != 'undefined'
+            && typeof oRights["pk_stockage_carte"] != 'undefined') {
+          administration_carto_delMap(oRights["pk_data"],
+              oRights["pk_stockage_carte"], oRights["fmeta_id"], title,
+              onSuccess, tabParams);
+        } else {
+          administration_carto_delService(oRights["fmeta_id"], title,
+              onSuccess, tabParams);
+        }
+      break;
+    }*/
+  //}
+  function doSelectionDelete(type, tabMetadataDelete) {
+    if (tabMetadataDelete.length == 0) {
+      Ext.Msg
+          .alert(
+              "Suppression de " + (type == "service" ? "carte" : "couche"),
+              "Vous n'avez pas les droits suffisants pour supprimer les métadonnées sélectionnées.");
+    } else {
+      var doDeleteNext = function(doDelete, tabMetadataDelete) {
+        var metadataDelete = tabMetadataDelete.pop();
+        if (metadataDelete) {
+          doDelete(metadataDelete.metadata.type, metadataDelete.metadata.title,
+              metadataDelete.oRights, doDeleteNext, [doDelete, tabMetadataDelete]);
+        } else {
+          search();
+        }
+      };
+      doDeleteNext(doDelete, tabMetadataDelete);
+    }
+  }
+
+  return new Ext.ActionPro({
+        text : "Supprimer",
+        iconCls : "fa fa-fw fa-trash-o",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          if (this.oMetadataSelect) {
+            var nbDel = this.oMetadataSelect.length;
+            var tabMetadataDelete = [];
+            this.oMetadataSelect.forEach(function(metadata) {
+                  $.ajax({
+                        //crossDomain: true,
+                        scope : this,
+                        url : catalogue.routes.catalogue.prodige_verify_rights_url,
+                        data : {
+                          ID : metadata.id,
+                          OBJET_TYPE : metadata.type,
+                          OBJET_STYPE : (metadata.type == "service"
+                              && metadata.serviceType
+                              ? metadata.serviceType
+                              : ""),
+                          TRAITEMENTS : this.traitement
+                        },
+                        success : function(oResUserRights) {
+                          var enable = Boolean( this.record["geonet:info"].edit ? this.record["geonet:info"].edit : false ) ;
+                          var oRights = (typeof oResUserRights=="string" ? eval("(" + oResUserRights + ")") : oResUserRights);
+                          //for metadata not associated to PRODIGE data, take geonetwork rights
+                          if (this.record.get('isharvested')=="n" && (oRights[this.traitement] || enable)) {
+                            tabMetadataDelete.push({
+                                  metadata : metadata,
+                                  oRights : oRights
+                                });
+                          }
+                          nbDel--;
+                          if (nbDel == 0) {
+                            doSelectionDelete(metadata.type, tabMetadataDelete);
+                          }
+                        }
+                      });
+                }, this);
+          } else {
+            //doDelete(this.record.get('type') , this.record.get("title"), this.oRights);
+            deleteData(catalogue, this.record.get("uuid"), this.record.get("type"), this.oRights, this.record);
+          }
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.show(true);
+              return;
+            }
+            if (this.oMetadataSelect) {
+              if (this.oMetadataSelect.length == 0) {
+                this.show(true);
+              } else {
+                this.show();
+              }
+            } else {
+              //action not visible for directory
+              if(this.record.get('istemplate')=="s" /*|| this.record.get('type')=="featureCatalog"*/){
+                this.hide();
+                return;
+              }
+              var scope = this;
+              var enable = Boolean( this.record["geonet:info"].edit ? this.record["geonet:info"].edit : false ) ;
+              //for metadata not associated to PRODIGE data, take geonetwork rights
+              if (this.record.get('isharvested')=="n" && (this.oRights[this.traitement] || enable)) {
+                //@TODO MIGRATION 4.0 (?? visible si il y a des enfants ??)
+                /*switch (this.record.get('type') ) {
+                  case "series" :
+                    ajaxRelatedMetadata("children", "json", this, this.record, function(oRes) {
+                      if ( !oRes ){scope.show(false);return;}
+                      if ( (oRes.relation instanceof Array ? oRes.relation.length > 0 : oRes.relation["@type"]=="children") )  {
+                        scope.show(true);
+                            } else {
+                        scope.show(false);
+                            }
+                        });
+                  break;
+                  default :
+                    this.show(bInit);
+                  break;
+                }*/
+                this.show(bInit);
+              } else {
+                this.show(true);
+              }
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            return this.traitement;
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * return action "Dupliquer"
+ */
+/*
+function getDuplicateProAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Dupliquer",
+        iconCls : "md-mn-copy",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( $(this.el).prop('disabled') ) return;
+          switch (this.record.get('type') ) {
+            case "dataset" :
+            case "nonGeographicDataset" :
+              administration_carto_copyCouche(this.oRights["pk_data"],
+                  this.oRights["fmeta_id"], parent.domaines_getCurentDomaine(),
+                  parent.domaines_getCurentSousDomaine());
+            break;
+            case "service" :
+              administration_carto_copyMap(this.oRights["pk_data"],
+                  this.oRights["pk_stockage_carte"], this.oRights["fmeta_id"]);
+            break;
+          }
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            switch (this.record.get('type') ) {
+              case "series" :
+                this.hide();
+              break;
+              case "service" :
+                if ( (this.record.get('serviceType') || (this.record.get('serviceType') ? this.record.get('serviceType') : null)) == 'invoke') {
+                  this.show((bInit ? true : !this.oRights[this.traitement]));
+                } else {
+                  this.hide();
+                }
+              break;
+              default :
+                this.show((bInit ? true : !this.oRights[this.traitement]));
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            return this.traitement;
+          } else {
+            return "";
+          }
+        }
+      });
+}*/
+
+/**
+ * return action "Editer" (la fiche de métadonnées)
+ */
+function getEditNewAction(catalogue) {
+/**PRODIGE 40 : remove*/
+return;
+
+  return new Ext.ActionPro({
+        text : "Éditer",
+        iconCls : "fa fa-fw fa-pencil",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          var id = this.record.get("id");
+          metadataEdit2(id)
+          // catalogue.editorWindow.setPosition(0, 0);
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            switch (this.record.get('type') ) {
+              case "dataset" :
+              case "nonGeographicDataset" :
+              case "series" :
+              case "service" :
+                if (bInit) {
+                  this.show(true);
+                  return;
+                }
+                $.ajax({
+                      crossDomain: true,
+                      url : catalogue.services.mdRelation,
+                      data : {
+                        type : "related",
+                        fast : false,
+                        uuid : this.record.get("uuid")
+                      },
+                      success : function(oRes) {
+                        var xmlDoc = oRes.responseXML;
+                        var tabCatalogue = Ext.DomQuery.jsSelect("relations/relation", xmlDoc);
+                        if (tabCatalogue.length > 0) {
+                          this.show(!this.oRights[this.traitement]);
+                        } else {
+                          this.show(!this.oRights[this.traitement]);
+                        }
+                      },
+                      scope : this
+                    });
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (this.record.get('type') || this.record.get('type') == "dataset") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * return action "Créer/Editer le catalogue d'attributs"
+ */
+/*
+function getCatalogueAction(catalogue) {
+  return new Ext.ActionPro({
+    text : "Créer le catalogue d'attributs",
+    iconCls : "md-mn-edit",
+    traitement : "CMS",
+    action_id : 'catalogue',
+    bConnect : true,
+    bSearch : false,
+    handler : function() {
+      if( $(this.el).prop('disabled') ) return;
+      var me = this;
+      switch (this.record.get('type') ) {
+        case "dataset" :
+          if (this.catalogue_uuid == -1) {
+            // création du catalogue d'attributs
+            $.ajax({
+              crossDomain: true,
+              dataType : 'json',
+              url : 'md.create',
+              data : angular.extend({
+                _content_type : 'json',
+                id : catalogue.id_template_catalogue,
+                template : 'n',
+                child : 'n'
+              }, (this.record.get('groupowner') ? {group : this.record.get('groupowner') } : {fullPrivileges : true, group : 0})),
+              success : function(results) {
+                var catalogue_id = results.id;
+                if ( !results.id ) return;
+                // get UUID du catalogue d'attributs
+                $.ajax({
+                  crossDomain: true,
+                  url : 'q',
+                  data : {
+                    _content_type : 'json',
+                    _id : catalogue_id,
+                    _isTemplate : 'y or n or s',
+                    fast : 'index', from : 1, to : 1
+                  },
+                  success : function(results){
+                    if ( !results.metadata )return;
+                    me.catalogue_uuid = results.metadata['geonet:info'].uuid;
+                    // rattachement en tant que catalogue d'attributs
+                    $.ajax({
+                      crossDomain: true,
+                      url : 'md.processing',
+                      data : {
+                        id : me.record.get("id"),
+                        uuidref : me.catalogue_uuid,
+                        process : "fcats-add"
+                      },
+                      success : function(oRes) {
+                        // édition du catalogue d'attributs
+                        metadataEdit2(me.catalogue_uuid);
+                      }
+                    })
+                  }
+                })
+              }
+            });
+          } else {
+            metadataEdit2(me.catalogue_uuid);
+          }
+        break;
+      }
+    },
+    setVisibility : function(catalogue, bInit) {
+      var me = this;
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        switch (this.record.get('type') ) {
+          case "dataset" :
+            if (bInit) {
+              this.setText("Créer le catalogue d'attributs");
+              this.show(true);
+              return;
+            }
+
+            ajaxRelatedMetadata("fcat", "xml",
+              this,
+              this.record,
+              function(documentXML) {
+                var tabCatalogue = documentXML.getElementsByTagName('info');
+                if (tabCatalogue.length > 0) {
+                  me.setText("Editer le catalogue d'attributs");
+                  me.show(!me.oRights[me.traitement]);
+                  me.catalogue_uuid = tabCatalogue[0].getElementsByTagName("uuid")[0].innerHTML;
+                } else {
+                  me.setText("Créer le catalogue d'attributs");
+                  me.show(!me.oRights[me.traitement]);
+                  me.catalogue_uuid = -1;
+                }
+              });
+          break;
+          case "nonGeographicDataset" :
+          case "series" :
+          case "service" :
+            this.hide();
+          break;
+        }
+      } else {
+        this.hide();
+      }
+    },
+    getTraitement : function(catalogue) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (this.record.get('type') || this.record.get('type') == "dataset") {
+          return this.traitement;
+        } else {
+          return "";
+        }
+      } else {
+        return "";
+      }
+    }
+  });
+}
+*/
+/**
+ * return sub-menu "Représentation par défaut"
+ */
+function getRepresentationActions(catalogue) {
+  var representationParamAction = new Ext.ActionPro({
+        text : "Paramétrer...",
+        iconCls : "fa fa-fw fa-wrench",
+        handler : function() {
+          if( this.disabled ) return;
+          administration_carto_paramCarto(catalogue, this.record.get("uuid"));
+        }
+      });
+
+  var representationInitAction = new Ext.ActionPro({
+    text : "Réinitialiser",
+    iconCls : "fa fa-fw fa-undo",
+    handler : function() {
+      if( this.disabled ) return;
+      reinitParamCarto(catalogue, this.record.get("uuid"));
+    }
+  });
+
+  return new Ext.menu.ItemPro({
+        text : "Représentation par défaut",
+        iconCls : "fa fa-fw fa-globe",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        menu : {
+          items : [representationParamAction, representationInitAction]
+        },
+        setVisibility : function(catalogue, bInit) {
+
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+
+            if (bInit || !this.oRights["visualisable"]) {
+              this.hide();
+              return;
+            }
+            switch (this.record.get('type') ) {
+              case "dataset" :
+                switch (this.oRights["couche_type"]) {
+                  case "-3" : // type "table"
+                    this.hide();
+                    this.menu.items.forEach(function(action, index) {
+                          action.hide();
+                        });
+                  break;
+                  default : // other types
+                    this.show(!this.oRights[this.traitement]);
+                    this.menu.items.forEach(function(action, index) {
+                          action.show(!this.oRights[this.traitement]);
+                        }, this);
+                  break;
+                }
+              break;
+              default :
+                this.hide();
+                this.menu.items.forEach(function(action, index) {
+                      action.hide();
+                    });
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (this.record.get('type') || this.record.get('type') == "dataset") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * Mise en conformité d'un dataset
+ */
+function conformiteQualite(catalogue, uuid){
+	Ext.Msg.confirm(
+              'Module Qualité',
+                "Vous êtes sur le point d'effectuer une mise en conformité de la fiche de métadonnée vis à vis d'uns standard. Cela inscrira cette confomité dans la fiche de métadonnée. Confirmez-vous cette action ?"
+              
+              , function(id, value) {
+                if (id === 'yes') {
+                  $.ajax({
+                    crossDomain: true,
+                    url : catalogue.URL + "/standards/conformite",
+                    data : {
+                      uuid : uuid
+                    },
+                    success : function(oRes) {
+                      if (oRes.success) {                        
+                          Ext.Msg.alert("Succès",
+                              " la mise en conformité a été effectuée.");
+                        } else {
+                          Ext.Msg.alert("Echec", "Impossible d'effectuer la mise en conformité.");
+                      }
+                    },
+					failure : function() {
+					  
+					  console.log("failure");
+					},	
+                    scope : this
+                  });
+                }
+              }, this);
+	
+}
+
+
+/**
+ * Controle qualité d'un dataset
+ */
+function controleQualite(catalogue, uuid){
+	window.open(catalogue.URL +'/standards/qualite/'+uuid);
+}
+/**
+ * return sub-menu "Qualité"
+ */
+function getQualiteActions(catalogue) {
+  var controleQualiteAction = new Ext.ActionPro({
+        text : "Contrôle qualité",
+        iconCls : "fa fa-fw fa-list-alt",
+        handler : function() {
+          if( this.disabled ) return;
+          controleQualite(catalogue, this.record.get("uuid"));
+        }
+      });
+
+  var conformiteAction = new Ext.ActionPro({
+    text : "Mise en conformité vis d'un standard",
+    iconCls : "fa fa-fw fa-check",
+    handler : function() {
+      if( this.disabled ) return;
+      conformiteQualite(catalogue, this.record.get("uuid"));
+    }
+  });
+
+  return new Ext.menu.ItemPro({
+        text : "Qualité",
+        iconCls : "fa fa-fw fa-thumbs-up",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        menu : {
+          items : [controleQualiteAction, conformiteAction]
+        },
+        setVisibility : function(catalogue, bInit) {
+
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+
+            if (bInit || !this.oRights["visualisable"] || this.oRights["PRO_MODULE_STANDARDS"]!="on") {
+              this.hide();
+              return;
+            }
+            switch (this.record.get('type') ) {
+              case "dataset" :
+              case "series" :
+                this.show(!this.oRights[this.traitement]);
+                    this.menu.items.forEach(function(action, index) {
+                          action.show(!this.oRights[this.traitement]);
+                        }, this);
+              break;
+              default :
+                this.hide();
+                this.menu.items.forEach(function(action, index) {
+                      action.hide();
+                    });
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (this.record.get('type') || this.record.get('type') == "dataset") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * return action "Créer une métadonnée enfant"
+ */
+function getCreateChildAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Créer une métadonnée enfant",
+        iconCls : "fa fa-fw fa-sitemap",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          administration_carto_addFicheEnfant(this.oRights["fmeta_id"], parent
+                  .domaines_getCurentDomaine(), parent
+                  .domaines_getCurentSousDomaine());
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            switch (this.record.get('type') ) {
+              case "series" :
+                this.show((bInit ? true : !this.oRights[this.traitement]));
+              break;
+              default :
+                this.hide();
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if ((this.record.get('type') ) == "series") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * return action "Administrer la jointure"
+ */
+function getHarvestedSynchronizationAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Synchroniser les données",
+        iconCls : "fa fa-fw fa-refresh",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          window.open(catalogue.admincartoURL.replace(/\/$/g, '')+'/prodige/synchronisation/admin/'+this.record.get('uuid'));
+        },
+        setVisibility : function(catalogue, bInit) {
+          this.hide();
+          if (catalogue.isIdentified() && this.bConnect 
+          || !catalogue.isIdentified() && this.bSearch
+          ) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            var links = this.record.get('links'),
+                hasDataLink = false;
+            links.forEach(function(link){
+              hasDataLink = hasDataLink || (["OGC:WFS","WWW:DOWNLOAD"].indexOf(link.protocol.replace(/^(\w+:\w+).*/, "$1").toUpperCase())!=-1);
+              return !hasDataLink;
+            });
+            if ( (this.record.get('isharvested')=="n" && !this.oRights["SYNCHRONIZE"])
+             ||  this.record.get('type')=="featureCatalog"
+             || !eval(this.record["geonet:info"].edit)
+             || !hasDataLink
+            ) {
+              this.hide();
+            } else {
+              this.show(false)
+            }
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if ((this.record.get('type') ) == "dataset") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * return action "Administrer la jointure"
+ */
+function getAdminJoinAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Administrer la jointure",
+        iconCls : "fa fa-fw fa-table",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          administration_carto_adminView(this.record.get('id'),
+              this.oRights["pk_data"], this.oRights["layer_table"],
+              window.location.href, this.oRights["color_theme_id"],
+              prodigeConfig.URL);
+        },
+        setVisibility : function(catalogue, bInit) {
+          this.hide();return;
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            switch (this.record.get('type') ) {
+              case "dataset" :
+                switch (this.oRights["couche_type"]) {
+                  case "-4" : // type "jointure"
+                    this.show(!this.oRights[this.traitement]);
+                  break;
+                  default : // other types
+                    this.hide();
+                  break;
+                }
+              break;
+              default :
+                this.hide();
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if ((this.record.get('type') ) == "dataset") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+/**
+ * return action "Paramétrer la carte"
+ */
+function getParamChartAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Paramétrer le graphe...",
+        iconCls : "fa fa-fw fa-bar-chart",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          window.open(catalogue.URL + "/graph/update?uuid="+ this.record.get("uuid"));
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            var sdom_isset = (this.oRights.sdom_dispose_metadata || false);
+
+            switch (this.record.get('type') ) {
+              case "service" :
+                if(in_array("chart", this.record.type)){
+                //if ((this.record.get('serviceType')) == "invoke") {
+                  var enable = this.oRights[this.traitement];
+				  
+                  //verify rights to edit metadata (creation mode for non harvested data)
+                  /*if(!enable && this.record.get("isharvested")=="n"){
+                    enable = Boolean( this.record["geonet:info"].edit ? this.record["geonet:info"].edit : false ) ;
+                  }*/
+                  this.show( !(sdom_isset && enable));
+                } else {
+                  this.hide();
+                }
+              break;
+              default :
+                this.hide();
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (this.record.get('type') == "service") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+/**
+ * return action "Paramétrer la carte"
+ */
+function getParamCarteAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Paramétrer la carte...",
+        iconCls : "fa fa-fw fa-globe",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          window.open(catalogue.admincartoURL + "/geosource/init_map/"+ this.record.get("uuid"));
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            var sdom_isset = (this.oRights.sdom_dispose_metadata || false);
+            switch (this.record.get('type') ) {
+              case "service" :
+                if ((this.record.get('serviceType')) == "invoke") {
+                  if(in_array("chart", this.record.type)){
+                     this.hide();
+                  }else{
+                  var enable = this.oRights[this.traitement];
+                  //verify rights to edit metadata (creation mode for non harvested data)
+                  /*if(!enable && this.record.get("isharvested")=="n"){
+                    enable = Boolean( this.record["geonet:info"].edit ? this.record["geonet:info"].edit : false ) ;
+                  }*/
+                  this.show( !(sdom_isset && enable));
+                  }
+                } else {
+                  this.hide();
+                }
+              break;
+              default :
+                this.hide();
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (this.record.get('type') == "service") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+
+/**
+ * return action "Renommer la carte"
+ */
+function getRenameCarteAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Renommer la carte...",
+        iconCls : "fa fa-fw fa-terminal",
+        traitement : "CMS",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          map_change_name(this.oRights["srv"], this.oRights["path"],
+              this.oRights["pk_stockage_carte"], document.location.href);
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            switch (this.record.get('type')) {
+              case "service" :
+                if (this.record.get('serviceType')
+                    && this.record.get('serviceType') == "invoke") {
+                  if (this.oRights["carte_type"] == 0) { // carte
+                    // interactive
+                    this.show(!this.oRights[this.traitement]);
+                  } else { // autre carte
+                    this.hide();
+                  }
+                } else {
+                  this.hide();
+                }
+              break;
+              default :
+                this.hide();
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (this.record.get('type') == "service") {
+              return this.traitement;
+            } else {
+              return "";
+            }
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+/**
+ * return sub-menu "Modifier le statut"
+ */
+function getUpdateStatutActions(catalogue) {
+  function getMode(type, sub_type) {
+    var mode = "";
+    switch (type) {
+      case "dataset" :
+        switch (sub_type) {
+          case "1" : // vecteur
+          case "0" : // raster
+          case "-1" : // lot
+            mode = "couche";
+          break;
+          case "-2" : // majic
+            mode = "majic";
+          break;
+          case "-3" : // table
+            mode = "table";
+          break;
+          case "-4" : // vue
+            mode = "vue";
+          break;
+          default :
+            mode = "couche";
+          break;
+        }
+      break;
+      case "service" :
+        mode = "carte"; // enough for service and carte
+      break;
+      default :
+        mode = "couche";
+      break;
+    }
+    return mode;
+  }
+
+  var retirerAction = new Ext.ActionPro({
+    text : "Retirer",
+    iconCls : "fa fa-fw fa-minus",
+    traitement : ["PROPOSITION", "PUBLICATION"],
+    bConnect : true,
+    bSearch : false,
+    handler : function() {
+      if( this.disabled ) return;
+      if (this.oMetadataSelect) {
+        var tabMetadataAllowed = [];
+        var nbMetadataSelect = this.oMetadataSelect.length;
+        this.oMetadataSelect.forEach(function(metadata) {
+              $.ajax({
+                    crossDomain: true,
+                    scope : this,
+                    url : catalogue.routes.catalogue.prodige_verify_rights_url,
+                    data : {
+                      ID : metadata.id,
+                      OBJET_TYPE : metadata.type,
+                      OBJET_STYPE : (metadata.type == "service"
+                          && metadata.serviceType ? metadata.serviceType : ""),
+                      TRAITEMENTS : this.traitement.join("|")
+                    },
+                    success : function(oResUserRights) {
+                      var oRights = (typeof oResUserRights=="string" ? eval("(" + oResUserRights + ")") : oResUserRights);
+                      if (oRights["statut"] == 2 && oRights[this.traitement[0]]
+                          || oRights["statut"] == 3
+                          && oRights[this.traitement[0]]
+                          && oRights[this.traitement[1]]
+                          || oRights["statut"] == 4
+                          && oRights[this.traitement[1]]) {
+                        metadata.statut = oRights["statut"];
+                        tabMetadataAllowed.push(metadata);
+                      }
+                      nbMetadataSelect--;
+                      if (nbMetadataSelect == 0) {
+                        var type = this.oMetadataSelect.type;
+                        var sub_type = (metadata.serviceType
+                            ? metadata.serviceType
+                            : oRights["couche_type"]);
+                        administration_carto_action_changeStatut(
+                            tabMetadataAllowed,
+                            1,
+                            getMode(type, sub_type),
+                            (getUrlParam("modePropositionActif", "off") == "on"),
+                            setMetadataDecoration);
+                      }
+                    }
+                  });
+            }, this);
+      } else {
+        administration_carto_changeStatut(this.oRights["fmeta_id"], this.record
+                .get("title"), 1, this.mode, setMetadataDecoration);
+      }
+    },
+    setVisibility : function(catalogue, bInit) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (bInit) {
+          this.hide();
+          return;
+        }
+        if (this.oMetadataSelect) {
+          this.show();
+        } else {
+          switch (this.oRights["statut"]) {
+            case "1" : // en cours
+              this.hide();
+            break;
+            case "2" : // attente validation
+              this.show(!this.oRights[this.traitement[0]]);
+            break;
+            case "3" : // validée
+              this.show(!this.oRights[this.traitement[0]]
+                  && !this.oRights[this.traitement[1]]);
+            break;
+            case "4" : // publiée
+              this.show(!this.oRights[this.traitement[1]]);
+            break;
+            default : // incohérent
+              this.show(true);
+            break;
+          }
+        }
+      } else {
+        this.hide();
+      }
+    }
+  });
+  var proposerAction = new Ext.ActionPro({
+    text : "Proposer",
+    iconCls : "fa fa-fw fa-thumbs-o-up",
+    traitement : ["CMS_MODE_PROPOSITION"],
+    bConnect : true,
+    bSearch : false,
+    handler : function() {
+      if( this.disabled ) return;
+      if (this.oMetadataSelect) {
+        var tabMetadataAllowed = [];
+        var nbMetadataSelect = this.oMetadataSelect.length;
+        this.oMetadataSelect.forEach(function(metadata) {
+              $.ajax({
+                    crossDomain: true,
+                    scope : this,
+                    url : catalogue.routes.catalogue.prodige_verify_rights_url,
+                    data : {
+                      ID : metadata.id,
+                      OBJET_TYPE : metadata.type,
+                      OBJET_STYPE : (metadata.type == "service"
+                          && metadata.serviceType ? metadata.serviceType : ""),
+                      TRAITEMENTS : this.traitement.join("|")
+                    },
+                    success : function(oResUserRights) {
+                      var oRights = (typeof oResUserRights=="string" ? eval("(" + oResUserRights + ")") : oResUserRights);
+                      if (oRights["statut"] == 1 && oRights[this.traitement[0]]) {
+                        metadata.statut = oRights["statut"];
+                        tabMetadataAllowed.push(metadata);
+                      }
+                      nbMetadataSelect--;
+                      if (nbMetadataSelect == 0) {
+                        var type = this.oMetadataSelect.type;
+                        var sub_type = (metadata.serviceType
+                            ? metadata.serviceType
+                            : oRights["couche_type"]);
+                        administration_carto_action_changeStatut(
+                            tabMetadataAllowed,
+                            2,
+                            getMode(type, sub_type),
+                            (getUrlParam("modePropositionActif", "off") == "on"),
+                            setMetadataDecoration);
+                      }
+                    }
+                  });
+            }, this);
+      } else {
+        administration_carto_changeStatut(this.oRights["fmeta_id"], this.record
+                .get("title"), 2, this.mode, setMetadataDecoration);
+      }
+    },
+    setVisibility : function(catalogue, bInit) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (bInit) {
+          this.hide();
+          return;
+        }
+        if (this.oMetadataSelect) {
+          if (getUrlParam("modePropositionActif", "off") == "on") {
+            this.show();
+          } else {
+            this.hide();
+          }
+        } else {
+          switch (this.oRights["statut"]) {
+            case "1" : // en cours
+              if (getUrlParam("modePropositionActif", "off") == "on") {
+                this.show(!this.oRights[this.traitement[0]]);
+              } else {
+                this.hide();
+              }
+            break;
+            case "2" : // attente validation
+            case "3" : // validée
+            case "4" : // publiée
+              this.hide();
+            break;
+            default : // incohérent
+              this.show(true);
+            break;
+          }
+        }
+      } else {
+        this.hide();
+      }
+    }
+  });
+  var validerAction = new Ext.ActionPro({
+    text : "Valider",
+    iconCls : "fa fa-fw fa-check",
+    traitement : ["CMS", "PROPOSITION"],
+    bConnect : true,
+    bSearch : false,
+    handler : function() {
+      if( this.disabled ) return;
+      if (this.oMetadataSelect) {
+        var tabMetadataAllowed = [];
+        var nbMetadataSelect = this.oMetadataSelect.length;
+        this.oMetadataSelect.forEach(function(metadata) {
+          $.ajax({
+                crossDomain: true,
+                scope : this,
+                url : catalogue.routes.catalogue.prodige_verify_rights_url,
+                data : {
+                  ID : metadata.id,
+                  OBJET_TYPE : metadata.type,
+                  OBJET_STYPE : (metadata.type == "service"
+                      && metadata.serviceType ? metadata.serviceType : ""),
+                  TRAITEMENTS : this.traitement.join("|")
+                },
+                success : function(oResUserRights) {
+                  var oRights = (typeof oResUserRights=="string" ? eval("(" + oResUserRights + ")") : oResUserRights);
+                  if (oRights["statut"] == 1 && oRights[this.traitement[0]]
+                      || oRights["statut"] == 2 && oRights[this.traitement[1]]) {
+                    metadata.statut = oRights["statut"];
+                    tabMetadataAllowed.push(metadata);
+                  }
+                  nbMetadataSelect--;
+                  if (nbMetadataSelect == 0) {
+                    var type = this.oMetadataSelect.type;
+                    var sub_type = (metadata.serviceType
+                        ? metadata.serviceType
+                        : oRights["couche_type"]);
+                    administration_carto_action_changeStatut(
+                        tabMetadataAllowed, 3, getMode(type, sub_type),
+                        (getUrlParam("modePropositionActif", "off") == "on"),
+                        setMetadataDecoration);
+                  }
+                }
+              });
+        }, this);
+      } else {
+        administration_carto_changeStatut(this.oRights["fmeta_id"], this.record
+                .get("title"), 3, this.mode, setMetadataDecoration);
+      }
+    },
+    setVisibility : function(catalogue, bInit) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (bInit) {
+          this.hide();
+          return;
+        }
+        if (this.oMetadataSelect) {
+          this.show();
+        } else {
+          switch (this.oRights["statut"]) {
+            case "1" : // en cours
+              if (getUrlParam("modePropositionActif", "off") == "on") {
+                validerAction.hide();
+              } else {
+                this.show(!this.oRights[this.traitement[0]]);
+              }
+            break;
+            case "2" : // attente validation
+              this.show(!this.oRights[this.traitement[1]]);
+            break;
+            case "3" : // validée
+            case "4" : // publiée
+              this.hide();
+            break;
+            default : // incohérent
+              this.show(true);
+            break;
+          }
+        }
+      } else {
+        this.hide();
+      }
+    }
+  });
+  var publierAction = new Ext.ActionPro({
+    text : "Publier",
+    iconCls : "fa fa-fw fa-flag",
+    traitement : ["PUBLICATION"],
+    bConnect : true,
+    bSearch : false,
+    handler : function() {
+      if( this.disabled ) return;
+      if (this.oMetadataSelect) {
+        var tabMetadataAllowed = [];
+        var nbMetadataSelect = this.oMetadataSelect.length;
+        this.oMetadataSelect.forEach(function(metadata) {
+              $.ajax({
+                    crossDomain: true,
+                    scope : this,
+                    url : catalogue.routes.catalogue.prodige_verify_rights_url,
+                    data : {
+                      ID : metadata.id,
+                      OBJET_TYPE : metadata.type,
+                      OBJET_STYPE : (metadata.type == "service"
+                          && metadata.serviceType ? metadata.serviceType : ""),
+                      TRAITEMENTS : this.traitement.join("|")
+                    },
+                    success : function(oResUserRights) {
+                      var oRights = (typeof oResUserRights=="string" ? eval("(" + oResUserRights + ")") : oResUserRights);
+                      if (oRights["statut"] == 3 && oRights[this.traitement[0]]) {
+                        metadata.statut = oRights["statut"];
+                        tabMetadataAllowed.push(metadata);
+                      }
+                      nbMetadataSelect--;
+                      if (nbMetadataSelect == 0) {
+                        var type = this.oMetadataSelect.type;
+                        var sub_type = (metadata.serviceType
+                            ? metadata.serviceType
+                            : oRights["couche_type"]);
+                        administration_carto_action_changeStatut(
+                            tabMetadataAllowed,
+                            4,
+                            getMode(type, sub_type),
+                            (getUrlParam("modePropositionActif", "off") == "on"),
+                            setMetadataDecoration);
+                      }
+                    }
+                  });
+            }, this);
+      } else {
+        administration_carto_changeStatut(this.oRights["fmeta_id"], this.record
+                .get("title"), 4, this.mode, setMetadataDecoration);
+      }
+    },
+    setVisibility : function(catalogue, bInit) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (bInit) {
+          this.hide();
+          return;
+        }
+        if (this.oMetadataSelect) {
+          this.show();
+        } else {
+          switch (this.oRights["statut"]) {
+            case "1" : // en cours
+            case "2" : // attente validation
+              this.hide();
+            break;
+            case "3" : // validée
+              this.show(!this.oRights[this.traitement[0]]);
+            break;
+            case "4" : // publiée
+              this.hide();
+            break;
+            default : // incohérent
+              this.show(true);
+            break;
+          }
+        }
+      } else {
+        this.hide();
+      }
+    }
+  });
+
+  return new Ext.menu.ItemPro({
+        text : "Modifier le statut",
+        iconCls : "fa fa-fw fa-check",
+        bConnect : true,
+        bSearch : false,
+        menu : {
+          items : [proposerAction, validerAction, publierAction, retirerAction]
+        },
+        handler : function() {
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            this.show(bInit);
+            this.mode = "";
+            if (this.oMetadataSelect) {
+              if (this.oMetadataSelect.length == 0) {
+                this.show(true);
+              } else {
+                this.show();
+              }
+            }
+            if (this.oRights) {
+              var type = this.record.get('type');
+              var sub_type = (this.record.get('serviceType')
+                  && this.record.get('serviceType')
+                  ? this.record.get('serviceType')
+                  : this.oRights["couche_type"]);
+              this.mode = getMode(type, sub_type);
+            }
+            this.menu.items.forEach(function(action) {
+                  action.mode = this.mode;
+                  var old_show = action.show;
+                  action.show = function(bDisabled) {
+                    this.setDisabled(bDisabled);
+                    old_show.call(this);
+                    if (this.actionMenu && this.refreshActionMenu) {
+                      this.actionMenu.showAt(this.actionMenu.getPosition());
+                    }
+                  };
+                  action.setVisibility(catalogue, bInit);
+                }, this);
+          } else {
+            this.hide();
+          }
+        }
+      });
+}
+
+/**
+ * @brief ajoute une couche WMS au serveur
+ * @param pk_couche
+ * @param type_service
+ */
+function administration_carto_webservice(pk_data, type_service, login, pwd, type_data){
+  var   params;
+  var   i;
+  var   param;
+  var   curdom = null;
+  var   cursdom = null;
+  var   url;
+  var   deldata = false;
+
+  params = document.location.search.substr(1).split("&");
+  for (i = 0; i < params.length; i++)
+  {
+    param = params[i].split("=");
+    if (param[0] == "domaine")
+      curdom = param[1];
+    if (param[0] == "sousdomaine")
+      cursdom = param[1];
+  }
+  url = IHM_getBaseUrl();
+  if(type_data == 0) //couche
+    url += "administration_carto_webservices.php?action="+type_service+"&coucheId=" + pk_data+"&login="+login+"&pass="+pwd+"&type_data="+type_data;
+  if(type_data == 1)//carte
+    url += "administration_carto_webservices.php?action="+type_service+"&carteId=" + pk_data+"&login="+login+"&pass="+pwd+"&type_data="+type_data;
+  if (curdom){
+    url += "&domaine=" + escape(curdom);
+    if (cursdom)
+      url += "&sousdomaine=" + escape(cursdom);
+  }
+  if(type_data == 0) //couche
+    window.location = url;
+  if(type_data == 1){
+    var iframe = this;
+    var ajaxUrl = url;
+    var queryParams = {};//{action:"valid",metadataId:metadata_id,statut:statut,mode:mode};
+    iframe.tabParams = null;
+    iframe.onSuccess = function(responseText){
+      var oRes = eval("("+responseText+")");
+      if ( oRes.success ) {
+        //alert("La carte est publié en WMS.");
+        Ext.Msg.alert("Publication WMS", (oRes.enable ? "La carte a été correctement publiée en WMS" : "Le service WMS associé à la carte a été supprimé")) ;
+      } else {
+        Ext.Msg.alert("Echec", oRes.msg);
+      }
+    };
+    AjaxRequest(ajaxUrl, queryParams, iframe);
+  }//carte
+}
+
+/**
+ * return sub-menu "Gérer l'accès public"
+ */
+function getPublicAccessActions(catalogue) {
+  var WMSAction = new Ext.ActionPro({
+        text : "WMS",
+        iconCls : "",
+        traitement : ["CMS"],
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          var type = (this.oRights["carte_type"] == "0" ? 1 : 0);
+          var del = this.oRights['carte_wms'] != 0;
+          var url = catalogue.URL + "/geosource/wxs/mapAddToWebService/"+this.record.get("uuid")+"?action="+type+"&carteId=" + this.oRights["pk_data"]+"&type_data=1";
+
+          $.ajax({
+            crossDomain: true,
+            url : url,
+            success : function(oRes) {
+              if ( oRes.success ) {
+                //alert("La carte est publié en WMS.");
+                Ext.Msg.alert("Publication WMS", (oRes.enable ? "La carte a été correctement publiée en WMS" : "Le service WMS associé à la carte a été supprimé")) ;
+                this.scope.setState(oRes.enable);
+              } else {
+                Ext.Msg.alert("Echec", oRes.msg);
+              }
+            },
+            scope : this
+          });
+
+        },
+        setVisibility : function(catalogue, bInit) {
+
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            if (!this.oRights["visualisable"]
+                && !(this.oRights["CMS"] && this.oRights["carte_type"] == "0")) {
+              this.hide();
+              return;
+            }
+            switch (this.record.get('type')) {
+              case "service" :
+                switch (this.oRights["carte_type"]) {
+                  case "0" : // carte interactive
+                    this.show(!this.oRights[this.traitement[0]]);
+                    var wms = this.oRights['carte_wms'] == "0" ? 0 : 1;
+                    this.setState(wms);
+                  break;
+                  default :
+                    this.hide();
+                  break;
+                }
+              break;
+
+              case "dataset" :
+                  this.hide();
+              break;
+
+              default :
+                this.hide();
+              break;
+            }
+          } else {
+            this.hide();
+          }
+        },
+        setState : function(bWMS) {
+          this.bWMS = bWMS;
+          if (this.bWMS) {
+            this.setText("WMS : <span style=\"color:green\">oui</span>");
+          } else {
+            this.setText("WMS : <span style=\"color:red\">non</span>");
+          }
+          this.setHandler(this.handler, this);
+        }
+      });/*
+  var WFSAction = new Ext.ActionPro({
+        text : "WFS",
+        iconCls : "",
+        traitement : ["CMS"],
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( $(this.el).prop('disabled') ) return;
+
+
+          administration_carto_webservice(this.oRights["pk_data"], 'wfs',
+              this.oRights["login"], this.oRights["pwd"], 0);
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit || !this.oRights["visualisable"]) {
+              this.hide();
+              return;
+            }
+            switch (this.record.get('type')) {
+              case "dataset" :
+                switch (this.oRights["couche_type"]) {
+                  case "1" : // type "vecteur"
+                  case "0" : // type "raster"
+                  case "-4" : // type "jointure"
+                    this.show(!this.oRights[this.traitement[0]]);
+                  break;
+                  case "-3" : // type "tabulaire"
+                    this.hide();
+                  break;
+                  default :
+                    this.hide();
+                  break;
+                }
+              break;
+              default :
+                this.hide();
+              break;
+            }
+            this.setState(this.oRights['wfs']);
+          } else {
+            this.hide();
+          }
+        },
+        setState : function(bWFS) {
+          this.bWFS = bWFS;
+          if (this.bWFS) {
+            this.setText("WFS : <span style=\"color:green\">oui</span>");
+          } else {
+            this.setText("WFS : <span style=\"color:red\">non</span>");
+          }
+          this.setHandler(this.handler, this);
+        }
+      });*/
+  var downloadAction = new Ext.ActionPro({
+    text : "En Téléchargement libre",
+    iconCls : "",
+    traitement : ["CMS"],
+    bConnect : true,
+    bSearch : false,
+    handler : function() {
+
+      if( this.disabled ) return;
+      Ext.Msg.confirm(
+              'Téléchargement libre',
+              (this.bDownload ?
+                "Vous êtes sur le point de désactiver le téléchargement libre pour cette métadonnée, souhaitez-vous continuer ?"
+              :
+                (this.record.get("type") == "series"
+                  ? "Attention, la publication d'un ensemble de séries de données en téléchargement libre donne accès aux données enfant quel que soit le niveau de publication de celles-ci, souhaitez-vous continuer ?"
+                  : "Attention, la publication d'une série de données en téléchargement libre donne accès aux données quels que soient les droits appliqués par ailleurs, souhaitez-vous continuer ?"
+                )
+              )
+              , function(id, value) {
+                if (id === 'yes') {
+                  $.ajax({
+                    crossDomain: true,
+                    url : catalogue.URL + "/geosource/setMetaDataDownload",//urlParent + "Services/setMetadataDownload.php",
+                    data : {
+                      metadata_id : this.record.get("id"),
+                      type : this.record.get("type"),
+                      mode : (this.bDownload ? "remove" : "add")
+                    },
+                    success : function(oRes) {
+                      if (oRes.update_success) {
+
+                        this.scope.setState(!this.scope.bDownload);
+                          Ext.Msg.alert("Succès",
+                              "Le téléchargement libre a été "
+                                  + (this.scope.bDownload ? "activé" : "désactivé")
+                                  + " correctement.");
+                        } else {
+                        this.scope.setState(this.scope.bDownload);
+                        Ext.Msg.alert("Echec", "Impossible "
+                                + (this.scope.bDownload
+                                    ? "de désactiver"
+                                    : "d'activer")
+                                + " le téléchargement libre.");
+                      }
+                    },
+                    scope : this
+                  });
+                }
+              }, this);
+
+    },
+    setVisibility : function(catalogue, bInit) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (bInit) {
+          this.hide();
+          return;
+        }
+
+        switch (this.record.get('type')) {
+          case "dataset" :
+		      case "nonGeographicDataset":
+            switch (this.oRights["couche_type"]) {
+              case "1" : // type "vecteur"
+                if (this.oRights["visualisable"]){
+                  this.show(!this.oRights[this.traitement[0]]);
+                }else {
+                  this.hide();
+                  return;
+                }
+                
+              case "0" : // type "raster"
+              case "-4" : // type "jointure"
+              case "-3" : // type "tabulaire"
+                this.show(!this.oRights[this.traitement[0]]);
+              break;
+              default :
+                this.hide();
+                return;
+              break;
+            }
+          break;
+          // type ensemble (ajout BF, prodige 3.4)
+          case "series" :
+            switch (this.oRights["couche_type"]) {
+              case "-1" :
+                this.show(!this.oRights[this.traitement[0]]);
+              break;
+            }
+          break;
+
+          default :
+            this.hide();
+            return;
+          break;
+        }
+        this.setState(this.oRights["download"]);
+      } else {
+        this.hide();
+      }
+    },
+    setState : function(bDownload) {
+      this.bDownload = bDownload;
+      if (this.bDownload) {
+        this
+            .setText("<span title=\"Désactiver le téléchargement libre\">En téléchargement libre : <span style=\"color:green\">oui</span></span>");
+      } else {
+        this
+            .setText("<span title=\"Activer le téléchargement libre\">En téléchargement libre : <span style=\"color:red\">non</span></span>");
+      }
+      this.setHandler(this.handler, this);
+    }
+  });
+  var domainsPubAction = new Ext.ActionPro({
+        text : "Domaines de publication...",
+        iconCls : "fa fa-fw fa-list-ul",
+        traitement : ["CMS"],
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          var type = this.record.get('type');
+          switch (type) {
+            case "dataset" :
+            case "nonGeographicDataset" :
+              mode = "couche";
+            break;
+            case "series" :
+              mode = "couche";
+            break;
+            case "service" :
+                if (this.record.get('serviceType') && this.record.get('serviceType') == "invoke") {
+                  if(in_array("chart", this.record.type)){
+				    mode = "chart";
+				  }else{
+                  mode = "carte";
+				  }
+                }else{
+                  return false;
+                }
+            break;
+          }
+          setDomSdom(catalogue, this.record.get("uuid"), mode);
+
+          /*openPopupDomainsPub(this.record.get("id"), this.record.get("title"),
+              type, sub_type);*/
+        },
+        setVisibility : function(catalogue, bInit) {
+          var type = this.record.get('type');
+          var serviceType = this.record.get('serviceType');
+          var allowedType = false;
+          if(type=="dataset" || (type == "service" && serviceType=="invoke") || type == "nonGeographicDataset" || type=="series"){
+            allowedType = true;
+          }
+          if (allowedType && catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch
+              ) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+            
+            
+            var enable = this.oRights[this.traitement[0]];
+            //verify rights to edit metadata (creation mode)
+            if(!enable && this.record.get("isharvested")=="n"){
+              enable = Boolean( this.record["geonet:info"].edit ? this.record["geonet:info"].edit : false ) ;
+            }
+            this.show(!enable);
+
+          } else {
+            
+            this.hide();
+          }
+        }
+      });
+      
+  return new Ext.menu.ItemPro({
+        text : "Gérer l'accès public",
+        iconCls : "fa fa-fw fa-flag-o",
+        bConnect : true,
+        bSearch : false,
+        menu : {
+          items : [WMSAction,/* WFSAction,*/ downloadAction, domainsPubAction
+              /*categories*/]
+        },
+        handler : function() {
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+
+            if(this.record.get('istemplate')=="s" || this.record.get('type')=="featureCatalog"){
+              this.hide();
+              return;
+            }
+            this.show(bInit || true);
+            var bParentDisabled = bInit || true;
+            this.menu.items.forEach(function(action, index) {
+                  var old_show = action.show;
+                  action.show = function(bDisabled) {
+                    bParentDisabled = bParentDisabled && bDisabled;
+                    this.setDisabled(bDisabled);
+                    old_show.call(this, bDisabled);
+                    if (this.actionMenu && this.refreshActionMenu) {
+                      this.actionMenu.showAt(this.actionMenu.getPosition());
+                    }
+                  };
+                  action.setVisibility(catalogue, bInit);
+                }, this);
+            this.show(bParentDisabled);
+          } else {
+            this.hide();
+          }
+        }
+      });
+}
+
+/**
+ * open ExtJS popup to manage domains/sub-domains publication
+ */
+function openPopupDomainsPub(fmeta_id, metadata_name, type, sub_type) {
+  var treePanel = new Ext.tree.TreePanel({
+        root : new Ext.tree.AsyncTreeNode({
+              nodeType : "async",
+              loader : new Ext.tree.TreeLoader({
+                    url : urlParent + "Services/getDomaines.php",
+                    baseParams : {
+                      fmeta_id : fmeta_id
+                    }
+                  })
+            }),
+        rootVisible : false,
+        border : true,
+        autoScroll : true,
+        enableDD : false,
+        fieldLabel : "Domaine/Sous-domaine",
+        height : 300
+      });
+
+  var mode = "";
+  var metadataFieldLabel = "";
+  switch (type) {
+    case "dataset" :
+    case "nonGeographicDataset" :
+      mode = "couche";
+      metadataFieldLabel = "Nom de la série de données";
+    break;
+    case "series" :
+      mode = "couche";
+      metadataFieldLabel = "Nom de l'ensemble de série de données";
+    break;
+    case "service" :
+      if (sub_type == "invoke") {
+        mode = "carte";
+        metadataFieldLabel = "Nom de la carte";
+      } else {
+        mode = "carte";
+        metadataFieldLabel = "Nom du service";
+      }
+    break;
+  }
+
+  var popup = new Ext.Window({
+    id : "popupDomainsPub",
+    width : "auto",
+    height : "auto",
+    constrain : true,
+    title : "Sélection des domaines/sous-domaines de publication",
+    resizable : true,
+    maximizable : true,
+    items : new Ext.form.FormPanel({
+          labelWidth : 150,
+          items : [{
+                xtype : 'label',
+                fieldLabel : metadataFieldLabel,
+                width : 200,
+                text : metadata_name
+              }, treePanel]
+        }),
+    buttons : [{
+      text : 'Valider',
+      handler : function() {
+        var tabSDom = [];
+        selNodes = treePanel.getChecked();
+        selNodes.forEach(function(node) {
+              var tabTmp = node.id.split("_");
+              tabSDom.push(tabTmp[1]);
+            });
+        if (tabSDom.length == 0) {
+          Ext.Msg.alert("Domaine/sous-domaine",
+              "Veuillez sélectionner au moins un sous-domaine.");
+        } else {
+          $.ajax({
+            crossDomain: true,
+            url : urlParent + "Services/getDomaines.php",
+            data : {
+              mode : 2
+            },
+            success : function(oRes) {
+              oRes = eval("(" + oRes + ")");
+              var bRight = false;
+              tabSDom.forEach(function(sDomSelected) {
+                   oRes.forEach(function(sDomRight) {
+                          if (sDomSelected == sDomRight.id) {
+                            bRight = true;
+                            return false;
+                          }
+                        });
+                    if (bRight) {
+                      return false;
+                    }
+                  });
+              if (bRight) {
+                $.ajax({
+                  crossDomain: true,
+                  url : urlParent + "Services/setMetadataDomSdom.php",
+                  data : {
+                    id : fmeta_id,
+                    mode : mode,
+                    "sdom[]" : tabSDom
+                  },
+                  success : function(oRes) {
+                    var oRes = eval("(" + oRes + ")");
+                    if (oRes.success) {
+                      popup.destroy();
+                      location.reload();
+                    } else {
+                      Ext.Msg
+                          .alert("Erreur",
+                              "Impossible de mettre à jour les domaines/sous-domaines.");
+                    }
+                  }
+                });
+              } else {
+                var tabSDomRight = [];
+                /*
+                 * Ext.each(oRes, function(sDomRight){
+                 * tabSDomRight.push(sDomRight.nom); });
+                 */
+                Ext.Msg
+                    .alert(
+                        "Domaine/sous-domaine",
+                        "Veuillez sélectionner au moins un sous-domaine pour lequel vous avez les droits d'administration."/*
+                                                                                                                             * + "
+                                                                                                                             * Ceux-ci
+                                                                                                                             * sont
+                                                                                                                             * listés
+                                                                                                                             * ci-dessous :<br/>"+ "<ul><li>"+tabSDomRight.join('</li><li>')+"</li></ul>"
+                                                                                                                             */);
+              }
+            }
+          });
+        }
+      }
+    }, {
+      text : 'Annuler',
+      handler : function() {
+        popup.destroy();
+      }
+    }]
+  });
+  popup.show();
+}
+
+/**
+ * return action "Ajouter au panier"
+ */
+function getAddToPanierAction(catalogue) {
+  return new Ext.ActionPro({
+    text : "Choisir cette donnée",
+    toolTip : "Choisir cette donnée pour préparer le téléchargement ou la covisualisation",
+    iconCls : "fa fa-fw fa-star",
+    traitement : ["TELECHARGEMENT", "NAVIGATION"],
+    bConnect : true,
+    bSearch : true,
+    bCumulError : false,
+    handler : function(action, event, onSuccess) {
+      if( this.disabled ) return;
+      // action on metadata selection
+      if (this.oMetadataSelect) {
+        var reader = new Ext.data.JsonReader({
+          fields : [{
+            name : 'uuid',
+            mapping : 'uuid'
+          }, {
+            name : 'id',
+            mapping : 'id'
+          }, {
+            name : 'title',
+            mapping : 'uuid'
+          }, {
+            name : 'type',
+            mapping : 'type'
+          }, {
+            name : 'isharvested',
+            mapping : 'isharvested'
+          }, {
+            name : 'links',
+            mapping : 'links'
+          }]
+        });
+        var store = new Ext.data.JsonStore({
+          fields : ['uuid', 'id', 'title', 'type', 'isharvested', 'links'],
+          data : this.oMetadataSelect
+        });
+        var addToPanierAction = getAddToPanierAction(catalogue);
+        this.nbAdd = this.oMetadataSelect.length;
+        addToPanierAction.bCumulError = true;
+        parent.lastError = [];
+        this.tabForbidden = [];
+        this.tabImpossible = [];
+        this.oMetadataSelect.forEach(function(metadata, index) {
+          addToPanierAction.setAttr("record", store.getAt(index));
+          $.ajax({
+                crossDomain: true,
+                scope : this,
+                url : catalogue.routes.catalogue.prodige_verify_rights_url,
+                data : {
+                  ID : metadata.id,
+                  OBJET_TYPE : metadata.type,
+                  OBJET_STYPE : (metadata.type == "service"
+                      && metadata.serviceType ? metadata.serviceType : ""),
+                  TRAITEMENTS : addToPanierAction.getTraitement(catalogue)
+                },
+                success : function(oResUserRights) {
+                  var oRights = (typeof oResUserRights=="string" ? eval("(" + oResUserRights + ")") : oResUserRights);
+                  addToPanierAction.setAttr("record", store.getAt(index));
+                  addToPanierAction.setAttr("oRights", oRights);
+                  addToPanierAction.setVisibility(catalogue);
+                  if (addToPanierAction.isHidden()) {
+                    this.tabImpossible.push(metadata.title);
+                    this.onAddFinished();
+                  } else if (addToPanierAction.isDisabled()) {
+                    this.tabForbidden.push(metadata.title);
+                    this.onAddFinished();
+                  } else {
+                    addToPanierAction.handler(null, null, Ext.createDelegate(this.onAddFinished, this));
+                  }
+                }
+              });
+        }, this);
+      }
+      // action on one metadata
+      else {
+        var type = this.record.get("type");
+        switch (type) {
+          case "dataset" :
+          case "nonGeographicDataset" :
+          case "series" :
+            panier_ajouter(this.record, this.bCumulError);
+            if (onSuccess)
+              onSuccess();
+          break;
+        /* case "series" :
+            ajaxRelatedMetadata(null,null,
+              this,
+              this.record,
+              function(json) {
+                if ( !json ) return;
+                alert('TODO : geosource/apps_extend/actions.js::getAddToPanierAction / ajax / relatedMetadata');
+                console.error('TODO : geosource/apps_extend/actions.js::getAddToPanierAction / ajax / relatedMetadata', json);
+                return;
+
+                var xmlDoc = oRes.responseXML;
+                var tabChildren = Ext.DomQuery.jsSelect("relations/relation", xmlDoc);
+                if (!this.bCumulError) {
+                  parent.lastError = [];
+                }
+                for (var i = 0; i < tabChildren.length; i++) {
+                  parent.panier_ajouterElement(
+                    Ext.DomQuery.selectValue("uuid", tabChildren[i])
+                  , Ext.DomQuery.selectValue("id", tabChildren[i])
+                  , Ext.DomQuery.selectValue("title", tabChildren[i])
+                  , this.record, true);
+                }
+                if (!this.bCumulError && parent.lastError.length > 0) {
+                  if (parent.lastError.length == 1) {
+                    Ext.Msg.alert('Panier', 'La couche '
+                            + parent.lastError.join(', ')
+                            + ' est déjà présente dans le panier.');
+                  } else {
+                    Ext.Msg.alert('Panier', 'Les couches '
+                            + parent.lastError.join(', ')
+                            + ' sont déjà présentes dans le panier.');
+                  }
+                  parent.lastError = [];
+                }
+                if (onSuccess)
+                  onSuccess();
+              },
+              null
+            );
+          break;*/
+        }
+      }
+    },
+    setVisibility : function(catalogue, bInit) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        // visibility on metadata selection action
+        if (this.oMetadataSelect) {
+          this.toolTip = "Ajouter la sélection aux données choisies pour préparer le téléchargement ou la covisualisation";
+          if (this.oMetadataSelect.length > 0) {
+            var bDisabled = true;
+            this.oMetadataSelect.forEach(function(metadata) {
+                  if (metadata.type != "service") {
+                    bDisabled = false;
+                    return false;
+                  }
+                });
+            this.show(bDisabled);
+          } else {
+            this.show(true);
+          }
+        }
+        // visibility on one metadata action
+        else {
+          if(this.record.get('istemplate')=="s" || this.record.get('type')=="featureCatalog"){
+            this.hide();
+            return;
+          }
+          var type = this.record.get("type");
+          switch (type) {
+            case "dataset" :
+            case "nonGeographicDataset" :
+            case "series" :
+              switch (this.record.get("isharvested")) {
+                case "y" :
+                  var tabLinks = this.record.get("links");
+                  if (tabLinks.length == 0) {
+                    this.hide();
+                  } else {
+                    this.show(bInit);
+                  }
+                break;
+                case "n" :
+                  this.show(bInit || !(this.oRights[this.traitement[0]] || this.oRights[this.traitement[1]]));
+                break;
+              }
+            break;
+            /*case "series" :
+              this.show(bInit || !(this.oRights[this.traitement[0]] || this.oRights[this.traitement[1]]));
+            break;*/
+            case "service" :
+              this.hide();
+            break;
+          }
+        }
+      } else {
+        this.hide();
+      }
+    },
+    getTraitement : function(catalogue) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (this.oMetadataSelect) {
+          return this.traitement;
+        } else {
+          var type = this.record.get("type");
+          if ( ["series", "dataset", "nonGeographicDataset"].indexOf(type)!=-1 && this.record.get("isharvested") == "n") {
+            if (this.traitement instanceof Array) {
+              return this.traitement.join("|");
+            } else {
+              return this.traitement;
+            }
+          } else {
+            return "";
+          }
+        }
+      } else {
+        return "";
+      }
+    },
+    onAddFinished : function() {
+      this.nbAdd--;
+      if (this.nbAdd == 0
+          && (parent.lastError.length > 0 || this.tabForbidden.length > 0 || this.tabImpossible.length > 0)) {
+        var tabMsg = [];
+        if (parent.lastError.length == 1) {
+          tabMsg.push("La couche " + parent.lastError.join(", ")
+              + " est déjà présente dans les données choisies.");
+        } else if (parent.lastError.length > 1) {
+          tabMsg.push("Les couches " + parent.lastError.join(", ")
+              + " sont déjà présentes dans les données choisies.");
+        }
+        if (this.tabForbidden.length == 1) {
+          tabMsg
+              .push("Vous ne possédez pas les droits suffisants pour télécharger la couche suivante :<br/>"
+                  + this.tabForbidden.join(", "));
+        } else if (this.tabForbidden.length > 1) {
+          tabMsg
+              .push("Vous ne possédez pas les droits suffisants pour télécharger les couches suivantes :<br/>"
+                  + this.tabForbidden.join(", "));
+        }
+        if (this.tabImpossible.length == 1) {
+          tabMsg.push("La couche " + this.tabImpossible.join(", ")
+              + " n'est pas téléchargeable.");
+        } else if (this.tabImpossible.length > 1) {
+          tabMsg.push("Les couches " + this.tabImpossible.join(", ")
+              + " ne sont pas téléchargeables.");
+        }
+        if (tabMsg.length > 0) {
+          Ext.Msg.alert('Panier', tabMsg.join("<br/><br/>"));
+        }
+        parent.lastError = [];
+        this.tabForbidden = [];
+        this.tabImpossible = [];
+      }
+    }
+  });
+}
+
+/**
+ * return action "Visualiser"
+ */
+function getVisualiserAction(catalogue) {
+  return new Ext.ActionPro({
+    text : "Visualiser",
+    toolTip : "Voir les données sur l'interface cartographique",
+    iconCls : "fa fa-fw fa-globe",
+    traitement : "NAVIGATION",
+    bConnect : true,
+    bSearch : true,
+    handler : function() {
+      if( this.disabled ) return;
+      switch (this.record.get('type')) {
+        case "dataset" :
+
+          //addLog('WMS', (typeof(this.record.get("title"))!="undefined" ? this.record.get("title").replace(",",";") : "")+","+this.record.get("id"));
+          var isharvested = this.record.get("isharvested");
+          switch (isharvested) {
+            case "y" :
+              //window.open(urlParent + "consultation_wms.php?IDT="+ this.record.get("id") + this.paramVisu);
+              window.open(catalogue.URL + "/geosource/consultationWMS?IDT="+ this.record.get("id") + this.paramVisu);
+            break;
+            default :
+            case "n" :
+              //window.open(urlParent + "consultation_wms.php?IDT="+ this.record.get("id"));
+              window.open(catalogue.URL + "/geosource/consultationWMS?IDT="+ this.record.get("id"));
+            break;
+          }
+        break;
+        case "series" :
+          // nothing to do
+        break;
+        case "service" :
+          if(in_array("chart", this.record.type)){
+            //chart link
+             window.open(catalogue.URL + "/graph/readOnly?uuid=" + this.record.get("uuid"));
+          }
+          else if ((this.record.get('serviceType') == 'invoke')) {
+            // statistiques de consultation de carte
+            /*
+             * $.ajax({ url:urlParent+"consultation_addLog.php",
+             * params:{logFile:"ConsultationCarte", objectName :
+             * this.record.get("title").replace(",",
+             * ";")+","+this.record.get("id")} });
+             */
+            //addLog('ConsultationCarte', (typeof(this.record.get("title"))!="undefined" ? this.record.get("title").replace(",",";") : "")+","+this.record.get("id"));
+            var isharvested = this.record.get("isharvested");
+            switch (isharvested) {
+              case "y" :
+                var tabLinks = this.record.get("links");
+                if (tabLinks.length > 0) {
+                  window.open(tabLinks[0].href);
+                }
+              break;
+              case "n" :
+                //alert('TODO apps_extend/actions.js/getVisualiserAction::handler(service|map, n) => controller catalogue consultation.php');return;
+                //window.open(urlParent + "consultation.php?id=" + this.record.get("id"));
+                window.open(catalogue.URL + "/geosource/consultation?id=" + this.record.get("id"));
+              break;
+            }
+          } else {
+            var tabLinks = this.record.get("links");
+            if (tabLinks.length > 0) {
+              window.open(tabLinks[0].href);
+            }
+          }
+        break;
+      }
+    },
+    setVisibility : function(catalogue, bInit) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (this.record.get('istemplate')=="s" || this.record.get('type')=="featureCatalog"){
+          this.hide();
+          return;
+        }
+        switch (this.record.get('type')) {
+          case "dataset" :
+            if (this.record.get('spatialRepresentationType') == "Tabulaire") {
+              this.hide();
+            } else {
+              switch (this.record.get("isharvested")) {
+                case "y" :
+                  this.paramVisu = "";
+                  if (bInit) {
+                    this.hide();
+                  } else {
+                        var me = this;
+                    ajaxServicesMetadata(this, this.record
+                    , function(oRes) {
+                        /*
+                         * var xmlDoc = oRes.responseXML; var tabService =
+                         * Ext.DomQuery .jsSelect( "relations/relation",
+                         * xmlDoc); if (tabService.length > 0) { // pas de //
+                         * vérification de // droits pour les // données
+                         * associées // à un service de // covisu WMS/WFS
+                         * this.paramVisu = "&layerTitle=" + this.record
+                         * .get("title") + "&Mode=WMS&uuidService="; for ( var i =
+                         * 0; i < tabService.length; i++) { this.paramVisu +=
+                         * Ext.DomQuery .selectValue( "uuid", tabService[i]) +
+                         * "|"; } this.paramVisu += "&uuidData=" + this.record
+                         * .get("uuid"); this.show(); } else {
+                         */
+                        var tabLinks = me.record.get("links");
+                        if (tabLinks.length > 0) {
+                          var oLink = {};
+                          tabLinks.forEach(function(link) {
+                            if (link.protocol && link.protocol != "" && new RegExp(/^OGC:WMS/i).test(link.protocol)) {
+                              if (link.href && link.href != "" && link.name && link.name != "") {
+                                oLink.wms = "&layerTitle="
+                                    + me.record.get("title")
+                                    + "&Mode=WMS&protocol=GetMap&connection="
+                                    + link.href + "&layer=" + link.name;
+                              }
+                            }
+                            if (link.protocol && link.protocol != "" && new RegExp(/^OGC:WFS/i).test(link.protocol)) {
+                              if (link.href && link.href != "" && link.name && link.name != "") {
+                                oLink.wfs = "&layerTitle="
+                                    + me.record.get("title")
+                                    + "&Mode=WMS&protocol=GetFeatures&connection="
+                                    + link.href + "&layer=" + link.name;
+                              }
+                            }
+                          }, me);
+                          if (oLink.wms) {
+                            me.paramVisu = oLink.wms;
+                            me.show();
+                          } else if (oLink.wfs) {
+                            me.paramVisu = oLink.wfs;
+                            me.show();
+                          } else {
+                            me.hide();
+                          }
+                        } else {
+                          me.hide();
+                        }
+                        // }
+                      });
+                  }
+                  this.setHandler(this.handler, this);
+                break;
+                case "n" :
+                  this.show((bInit ? true : (this.oRights["visualisable"]
+                      ? !this.oRights[this.traitement]
+                      : true)));
+                break;
+              }
+            }
+          break;
+          case "series" :
+            this.hide();
+          break;
+          case "nonGeographicDataset" :
+            this.hide();
+          break;
+          case "service" :
+            if ((this.record.get('serviceType') == 'invoke')) {
+              if(in_array("chart", this.record.type)){
+				  this.hide();
+			  }else{
+              switch (this.record.get("isharvested")) {
+                case "y" :
+                  var tabLinks = this.record.get("links");
+                  if (tabLinks.length > 0) {
+                    this.show();
+                  } else {
+                    this.hide();
+                  }
+                break;
+                case "n" :
+                  this.show((bInit ? true : !this.oRights[this.traitement]));
+                break;
+              }
+             }
+            } else {
+              var tabLinks = this.record.get("links");
+              if (tabLinks.length > 0) {
+                this.show();
+              } else {
+                this.hide();
+              }
+            }
+          break;
+        }
+      } else {
+        this.hide();
+      }
+    },
+    getTraitement : function(catalogue) {
+      if ((catalogue.isIdentified() && this.bConnect) || (!catalogue.isIdentified() && this.bSearch)) {
+        if (this.record.get('type') == "service"
+            || this.record.get('type') == "dataset"
+            && this.record.get("isharvested") == "n") {
+          return this.traitement;
+        } else {
+          return "";
+        }
+      } else {
+        return "";
+      }
+    }
+  });
+}
+
+
+/**
+ * return action "Importer les données"
+ */
+function getVisualiserChartAction(catalogue) {
+  return new Ext.ActionPro({
+        text : "Visualiser le graphe...",
+        iconCls : "fa fa-fw fa-bar-chart",
+        traitement : "NAVIGATION",
+        bConnect : true,
+        bSearch : false,
+        handler : function() {
+          if( this.disabled ) return;
+          window.open(catalogue.URL + "/graph/readOnly?uuid="
+          + this.record.get("uuid"));
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            if (bInit) {
+              this.hide();
+              return;
+            }
+			this.table = "";
+		    switch (this.record.get('type') ) {
+		      case "service" :
+		  
+			  if(in_array("chart", this.record.type)){
+			    var disable = !this.oRights[this.traitement];
+			    //this.table = this.oRights["tableName"];
+			    this.show(disable);
+			  } else {
+			    this.hide();
+			  }
+			  break;
+			  default :
+			    this.hide();
+			  break;
+		    }
+          } else {
+            this.hide();
+          }
+        },
+        getTraitement : function(catalogue) {
+          if (catalogue.isIdentified() && this.bConnect
+              || !catalogue.isIdentified() && this.bSearch) {
+            return this.traitement;
+          } else {
+            return "";
+          }
+        }
+      });
+}
+
+
+/**
+ * return action "Export PDF Complet"
+ */
+function getExportPDFCompletAction(catalogue) {
+  return new Ext.ActionPro({
+    text : "Export PDF complet (ZIP)",
+    toolTip : "Exporter la fiche de métadonnée et ses métadonnées asssociées au format PDF",
+    iconCls : "fa fa-fw fa-file-zip-o",
+    bConnect : false,
+    bSearch : true,
+    handler : function() {
+    if( this.disabled ) return;
+    //alert('TODO apps_extend/actions.js/getExportPDFCompletAction::handler => controller catalogue Services/getMetadataPDFComplet.php');return;
+      window.location = catalogue.URL + "/metadata/pdf?uuid="//"Services/getMetadataPDFComplet.php?uuid="
+          + this.record.get("uuid");
+    },
+    setVisibility : function(catalogue, bInit) {
+      this.show();
+    }
+  });
+}
+/**
+ * return action
+ */
+function getSubMenuAction(catalogue, texte, url, target) {
+  return new Ext.ActionPro({
+        text : texte,
+        bConnect : false,
+        bSearch : true,
+        handler : function() {
+          if (target == "_blank")
+            window.open(url);
+          else
+            window.location = url;
+        },
+        setVisibility : function(catalogue, bInit) {
+          if (bInit)
+            this.show();
+          else
+            this.hide();
+        }
+      });
+}
+
+function ajaxRelatedMetadata(type, content_type, scope, metadata, successFn, failureFn){
+  $.ajax({
+    crossDomain: true,
+    dataType: "json",
+    accepts: {
+        text: "application/json"
+    },
+    url : '/geonetwork/srv/api/records/'+metadata.get("uuid")+'/related',
+    data : {
+      type : type||["siblings", "associated", "related"]
+    },
+    success : successFn,
+    failure : failureFn,
+    scope : scope
+  });
+}
+function ajaxServicesMetadata(scope, metadata, successFn, failureFn){
+  $.ajax({
+    crossDomain: true,
+    dataType: "json",
+    accepts: {
+        text: "application/json"
+    },
+    url : '/geonetwork/srv/api/records/'+metadata.get("uuid")+'/related',
+    data : {
+      type : "services"
+    },
+    success : successFn,
+    failure : failureFn,
+    scope : scope
+  });
+}
+
+/**
+ * @version 3.2
+ * effectue un appel Ajax
+ * @param ajaxUrl        URL de l'appel
+ * @param queryParams    paramètres de l'appel
+ * @param iframe         objet contenant les fonctions "onSuccess" ainsi que les paramètres "tabParams" associés
+ * @param method         méthode de l'appel ("GET" par défaut)
+ */
+function AjaxRequest(ajaxUrl, queryParams, iframe, method, async){
+  if ( typeof method=="undefined" ) method = 'GET';
+  if ( typeof async=="undefined" ) async = true;
+  switch(ajaxUrl){
+    case "Services/getUserRights.php" : ajaxUrl = prodigeConfig.routes.catalogue.prodige_verify_rights_url; break;
+  }
+  $.ajax({
+                dataType: "json",
+                accepts: {
+                    text: "application/json"
+                },
+    async : async,
+    crossDomain: true,
+    url : ajaxUrl ,
+    data : queryParams,
+    method : ( method ? method : 'GET' ),
+    success : function(result){
+      var fn;
+      if ( typeof iframe.onSuccess == 'function' ) {
+        fn = iframe.onSuccess;
+        if ( !iframe.onSuccess.createDelegate ) {
+          fn = function(){
+            return iframe.onSuccess.apply(this, arguments)
+          }
+        }
+        var response = (typeof result == "string" ? result.replace(/^\((.*)\)$/g, '$1') : result);
+        fn.createDelegate(this, ( iframe.tabParams && iframe.tabParams.concat && typeof iframe.tabParams.concat == 'function' ? iframe.tabParams.concat(response) : [response] )).call();
+      }
+    },
+    failure : function(result){
+      console.log("failedAjax")
+      console.log(result);
+    }
+  });
+}
+Function.prototype.createDelegate = function(obj, args, appendArgs){
+  var method = this;
+  return function() {
+    var callArgs = args || arguments;
+    if (appendArgs === true){
+      callArgs = Array.prototype.slice.call(arguments, 0);
+      callArgs = callArgs.concat(args);
+    }else if (typeof appendArgs === 'number' && isFinite(appendArgs)){
+      callArgs = Array.prototype.slice.call(arguments, 0); // copy arguments first
+      var applyArgs = [appendArgs, 0].concat(args); // create method call params
+      Array.prototype.splice.apply(callArgs, applyArgs); // splice them in
+    }
+    return method.apply(obj || window, callArgs);
+  };
+}
+
+
+
+    function getMetadataEditURL(id, create, group, child, isTemplate, schema){
+        var url = 'catalog.edit#/';
+        if (create) {
+          if (id) {
+            if (child) {
+              url += 'create?childOf=' + id;
+            } else {
+              url += 'create?from=' + id;
+            }
+          } else {
+            url += 'create';
+          }
+        } else {
+          url += 'metadata/' + id;
+        }
+        return url;
+    }
+    function metadataEdit2(id, create, group, child, isTemplate, schema){
+        var url = getMetadataEditURL(id, create, group, child, isTemplate, schema);
+        window.open(url, 'metadata_'+id);
+    };
+
+
+    /**
+     * @brief open the map in a simplified mode to edit the default representation of the layer
+     * @param action : url to open
+     */
+    function  administration_carto_paramCarto(catalogue, uuid)
+    {
+      //open map in popup
+      parent.administration_carto_win_cartodynamique = window.open(catalogue.URL+"/geosource/layerAddToMap/"+uuid/*, "Cartographie_dynamique", "directories=0, fullscreen=yes, menubar=0, status=1, toolbar=0, resizable=1"*/);
+    }
+
+    /**
+     * @brief open in new window import data interface
+     * @param uuid metadata uuid
+     */
+    function  import_data(catalogue, uuid)
+    {
+       window.open(catalogue.admincartoURL+"/prodige/importdata/manage/"+uuid/*, "Cartographie_dynamique", "directories=0, fullscreen=yes, menubar=0, status=1, toolbar=0, resizable=1"*/);
+    }
+
+    function setDomSdom (catalogue, uuid, mode)
+    {
+      window.open(catalogue.URL+"/geosource/setDomsdom/"+uuid+"?mode="+mode/*, "Cartographie_dynamique", "directories=0, fullscreen=yes, menubar=0, status=1, toolbar=0, resizable=1"*/);
+    }
+
+    function deleteData(catalogue, uuid, type, oRights, record){
+      confirmActionDelete = function(id, value){
+        if (id === 'yes') {
+        	var msg = $('body').append('<div id="msg-remove" class="modal fade" tabindex="-1" role="dialog" >  ' +
+        			'<div  class="modal-dialog" role="document">' +
+        			'<div class="modal-content">' +
+        			'<div class="modal-body" ng-bind-html="body">Suppression en cours...</div>')
+        	var closeFn = Ext.Msg.info('Suppression', "Suppression en cours...");
+          $.ajax({
+            crossDomain: true,
+            url : catalogue.URL+"/geosource/deleteMetaData/"+ uuid,
+            success : function(oResUserRights) {
+              $("#msg-remove").remove();
+              var msg = Ext.Msg.alert('Suppression', "La ressource a été supprimée");
+              setTimeout(function(){
+              	msg && msg.close && msg.close();
+              // relancer la recherche pour actualiser les résultats
+              $('.gn-top-search button[data-ng-click="triggerSearch()"]').click();
+              }, 3000);
+            },
+            failure : function() {
+              $("#msg-remove").remove();
+              console.log("failure");
+            }
+          });
+        }
+
+      };
+      var name =  record.title || record.defaultTitle;
+      if(type=="dataset" && (oRights["couche_type"]==1 || oRights["couche_type"]==0 || oRights["couche_type"]==4)){
+        //first verify maps
+        $.ajax({
+          crossDomain: true,
+          url : catalogue.URL+"/geosource/canDeleteMetaData/"+ uuid,
+          success : function(response) {
+            var message = [];
+            if ( response.maps.length ){
+              message.push('La métadonnée sera supprimée des cartes suivantes :' +
+                  '<ul><li>'+response.maps.join('</li><li>')+'</li></ul>');
+            } else {
+              message.push("Aucune carte ne contient la métadonnée.");
+            }
+            if ( response.joins.length ){
+              message.push('Les vues de base de données suivantes seront supprimées :' +
+                  '<br/><em>(Les configurations associées restent inchangées)</em>' +
+                  '<ul><li>'+response.joins.join('</li><li>')+'</li></ul>');
+            } else {
+              message.push("Aucune vues de jointures ne contient la métadonnée.");
+            }
+            Ext.Msg.confirm('Suppression de la métadonnée "'+name+'"',
+                ('Examen de l\'utilisation des couches de la métadonnée "'+name+'" dans les cartes et les jointures :' +
+                '<ul><li>'+message.join('</li><li>')+'</li></ul>' +
+                '<br/><b>Souhaitez-vous poursuivre la suppression ?</b>'), confirmActionDelete, this);
+
+            return;
+            var tabmaps = eval(oResUserRights);
+            if(tabmaps.length == 0){
+              Ext.Msg.confirm("Suppression de couche", "Aucune carte ne contient la couche "+name+", souhaitez-vous poursuivre la suppression ?", confirmActionDelete, this);
+            }else{
+              var strMaps ="";
+              for (var i=0; i<tabmaps.length;i++){
+                strMaps+= tabmaps[i]+", ";
+              }
+              strMaps = strMaps.slice(0,-2)+".";
+              Ext.Msg.confirm("Suppression de couche", "La couche "+name+" est contenue dans les cartes suivantes :" +
+                                  strMaps+ "La couche sera supprimée des cartes. Souhaitez-vous poursuivre la suppression ?", confirmActionDelete, this);
+            }
+
+          },
+          failure : function() {
+            console.log("failure");
+          }
+        });
+      }else{
+      	Ext.Msg.confirm('Suppression de la métadonnée "'+name+'"',
+             "Souhaitez-vous poursuivre la suppression ?", confirmActionDelete, this);
+      }
+
+
+
+    }
+
+    /**
+     * Réinitialisation de la représentation par défaut
+     */
+    function reinitParamCarto(catalogue, uuid)
+    {
+      $.ajax({
+        crossDomain: true,
+        url : catalogue.URL+"/geosource/mapDelete/"+ uuid,
+        success : function(oResUserRights) {
+          //Ext.Msg.alert("La représentation par défaut a été réinitialisée");
+          Ext.Msg.alert('Représentation par défaut', "La représentation par défaut a été réinitialisée", function(){});
+        },
+        failure : function() {
+          console.log("failure");
+        }
+      });
+    }
+
+/**
+ * Open the UserDetails prodige form in a popup
+ */
+function openUserDetails()
+{
+  var width   = 680;
+  var left    = (screen.width/2)-(width/2);
+  window.open(prodigeConfig.routes.catalogue.geosource_user_details, "Ma fiche utilisateur", "height=400,top=300,width="+width+",left="+left+", directories=0, fullscreen=yes, menubar=0, status=1, toolbar=0, resizable=1");
+}
+
+/**
+ * @param logFile
+ * @param objectName
+ */
+function addLog(logFile, objectName)
+{
+  $.get(
+    __PRODIGE_CATALOGUE_CONFIG_URL__+'/prodige/add_log',
+    { logFile:logFile, objectName : objectName }
+  )
+  .fail(function(){
+    console.log("Erreur d'ecriture du log '"+logFile+"'");
+  });
+}
diff --git a/src/main/webapp/apps_extend/admin.js b/src/main/webapp/apps_extend/admin.js
new file mode 100644
index 0000000000000000000000000000000000000000..a71f37e2b03d9a26319bd326cbc7cacaffb34d69
--- /dev/null
+++ b/src/main/webapp/apps_extend/admin.js
@@ -0,0 +1,941 @@
+var SSO_ENABLED = true;
+if ( typeof Ext == "undefined" ) Ext = {};
+if ( typeof Ext.menu == "undefined" ) Ext.menu = {};
+if ( typeof Ext.Msg == "undefined" ) Ext.Msg = {};
+if ( typeof Ext.menu.Item == "undefined" ) Ext.menu.Item = {};
+
+
+if ( $.cookie && $.cookie("__PRODIGE_CATALOGUE_CONFIG_URL__") ){
+    __PRODIGE_CATALOGUE_CONFIG_URL__ = $.cookie("__PRODIGE_CATALOGUE_CONFIG_URL__");
+}
+
+if ( $.cookie && $.cookie("__PRODIGE_BROADCAST_CONNECT_URL__") ){
+    __PRODIGE_BROADCAST_CONNECT_URL__ = $.cookie("__PRODIGE_BROADCAST_CONNECT_URL__").split(',');
+}
+//(function() {
+if (module){
+  
+  
+  (initProdigeCatalogue = function (){
+    $.ajaxSetup({
+      xhrFields: {
+        withCredentials: true
+      }
+    });
+    prodigeConfig = angular.extend({}, window.catalogue||{});
+    var gn_prodige = document.createElement('div');
+    gn_prodige.setAttribute('ng-controller', 'gn_prodige_controller');
+   // gn_prodige.setAttribute('ng-init', 'callXhrAsynchronous()');
+    document.body.appendChild(gn_prodige);
+    
+    
+    module.controller('gn_prodige_controller', [
+    '$rootScope', '$scope', '$controller', '$http', '$q'/*, '$templateCache'*/, 
+    function ($rootScope, $scope, $controller, $http, $q/*, $templateCache*/) {
+      $rootScope.prodige = {
+        isIdentified : function(){
+          return $scope.$parent && $scope.$parent.authenticated;
+        },
+        loaded : false
+      };
+
+      __PRODIGE_BROADCAST_CONNECT_URL__ = __PRODIGE_BROADCAST_CONNECT_URL__ || [];
+      if ( __PRODIGE_BROADCAST_CONNECT_URL__.indexOf(__PRODIGE_CATALOGUE_CONFIG_URL__)==-1 )
+        __PRODIGE_BROADCAST_CONNECT_URL__ = [__PRODIGE_CATALOGUE_CONFIG_URL__].concat(__PRODIGE_BROADCAST_CONNECT_URL__);
+        
+          var urls = __PRODIGE_BROADCAST_CONNECT_URL__;
+      var ln = urls.length;
+      var attemptConnect = {};
+      var G_I = 0;
+      var onSiteConnect = function(json, casuser){
+        
+        var i = (SSO_ENABLED ? G_I : json.index);
+        if ( i<ln && !attemptConnect[i] ){
+          attemptConnect[i] = true;
+          $.ajax({
+            async: false,
+            xhrFields: {
+                 withCredentials: true
+            },
+            crossDomain: true,
+            dataType: "jsonp",
+            url : (SSO_ENABLED
+             ? (urls[i])+'/prodige/connect?index='+i+'&sessionid='+json.sessionid
+             : (urls[i])+'/prodige/connect?casuser='+casuser+'&index='+i+'&sessionid='+json.sessionid
+            ),
+            success : function(data){
+              if ( urls[i]==__PRODIGE_CATALOGUE_CONFIG_URL__ ) $scope.callXhrAsynchronous();
+              if (SSO_ENABLED) {
+                G_I++;
+              }
+              onSiteConnect(data, casuser)
+            },
+            failure : function(){
+              if ( urls[i]==__PRODIGE_CATALOGUE_CONFIG_URL__ ) $scope.callXhrAsynchronous();
+              if (SSO_ENABLED) {
+                G_I++;
+              }
+              onSiteConnect(data, casuser)
+            }
+          });
+        }
+      };
+      var connectUser = function(casuser){
+        if ( SSO_ENABLED || casuser ){
+          var i = (SSO_ENABLED ? G_I : 0);
+          if ( i<ln  && !attemptConnect[i] ){
+            attemptConnect[i] = true;
+            $.ajax({
+              xhrFields: {
+                withCredentials: true
+              },
+              async: false,
+              crossDomain: true,
+              dataType: "jsonp",
+              url : (SSO_ENABLED
+               ? (urls[i])+'/prodige/connect?index='+i
+               : (urls[i])+'/prodige/connect?casuser='+casuser+'&index='+i
+              ),
+              success : function(data){
+                if ( urls[i]==__PRODIGE_CATALOGUE_CONFIG_URL__ ) $scope.callXhrAsynchronous();
+                if (SSO_ENABLED) {
+                  G_I++;
+                }
+                onSiteConnect(data, casuser)
+              },
+              failure : function(){
+                if ( urls[i]==__PRODIGE_CATALOGUE_CONFIG_URL__ ) $scope.callXhrAsynchronous();
+                if (SSO_ENABLED) {
+                  G_I++;
+                }
+                onSiteConnect(data, casuser)
+              }
+            });
+          }
+        }
+      }
+      /**
+       * watch $parent.user to force a prodige auth connection and get the user config
+       */
+      $scope.$parent.$watch('user', function() {
+        if( $scope.$parent.user ) {
+          $scope.$parent.$watch('authenticated', function(){$scope.$parent.authenticated && connectUser($scope.$parent.user['username'])});
+        } else {
+          connectUser('vinternet');
+        }
+      });/*
+      $scope.$parent.$watch('user', function() {
+        if( typeof $scope.$parent.user['@authenticated'] != "undefined" ) {
+          var casuser = $scope.$parent.user['@authenticated'] == "true" ? $scope.$parent.user['username'] : 'vinternet';
+          jQuery('body').append('<iframe id="footerexec" style="display:none;">');
+          jQuery('#footerexec').on('load', function(){
+            $scope.callXhrAsynchronous();
+          }).attr('src', __PRODIGE_CATALOGUE_CONFIG_URL__+'/prodige/connect?casuser='+casuser);
+        }
+      });*/
+
+      $scope.myXhr = function(){
+        var deferred = $q.defer();
+        $.ajax({
+          xhrFields: {
+            withCredentials: true
+          },
+          async: false,
+          crossDomain: true,
+          dataType: "jsonp",
+          url : __PRODIGE_CATALOGUE_CONFIG_URL__+'/geosource/get_config', 
+          method: 'GET',
+          headers: {'Content-Type': 'application/x-www-form-urlencoded'},
+          success : function(data,status,headers,config){
+              //resolve the promise
+              deferred.resolve(data);
+          },
+        //if request is not successful
+          failure : function(data,status,headers,config){
+              //reject the promise
+            console.log(status);
+            console.log(data);
+            console.log(headers);
+            console.log(config);
+            deferred.reject('ERROR');
+          }
+        });
+        //return the promise
+        return deferred.promise;
+      };
+      $scope.callXhrAsynchronous = function(){
+        /**
+         * disable 'Users and groups' button in admin.console
+         */
+        angular.element('a[href="#organization"]').addClass('disabled hidden');
+
+        var myPromise = $scope.myXhr();
+        // wait until the promise return resolve or eject
+        //"then" has 2 functions (resolveFunction, rejectFunction)
+        myPromise.then(function(data){
+          angular.extend($rootScope.prodige, data);
+          $rootScope.prodige.loaded = true;
+          prodigeConfig = angular.extend({}, $rootScope.prodige);
+        }, 
+        function(reject){
+        });
+      };
+
+    }]);
+      
+    /**
+     * Chargement des fichiers de langue de l'extension Alkante
+     */
+    module.config(['$LOCALES', function($LOCALES) {
+      $LOCALES.push('alk-extend');
+    }]);
+    
+  })();
+  
+  (topToolbar = function (){
+    module.directive('navbarHeader', function($compile, $rootScope){
+      return {
+        restrict: 'C',
+        scope: false,
+        link : function(scope, element){
+          $rootScope.$watch('prodige.loaded', function(){
+            if ( !$rootScope.prodige.loaded ) return;
+            var div = document.createElement('div')
+            div.setAttribute('ng-controller', "toolbar");
+            div.setAttribute('data-ng-include', "'../../apps_extend/templates/top-toolbar.html'");
+            $(element).parent().find('ul.navbar-right').parent().append($(div));
+            $compile($(div))(scope);
+          })
+        }
+      }
+    });
+    module.directive('wellMd', function($compile, $rootScope){
+      return {
+        restrict: 'C',
+        scope: false,
+        link : function(scope, element){
+          var img = document.createElement('img');
+          img.className = "big-logo";
+          img.setAttribute('data-ng-src', '../../images/logos/{{info.site.siteId}}.png?{{info.site.lastUpdate}}');
+          var div = document.createElement('h1');
+          div.appendChild(img);
+          $(element).addClass('prodige-home');
+          $(element).prepend($(div))
+          $compile($(div))(scope);
+        }
+      }
+    });
+    module.directive('userAccountExpirationMsg', function($compile, $rootScope){
+      return {
+        restrict: 'AE',
+        scope: false,
+        link: function(scope, element, attrs) {
+          $rootScope.$watch('prodige.loaded', function(){
+            if ( !$rootScope.prodige.loaded ) return;
+            
+            if( $rootScope.prodige.userDetails && $rootScope.prodige.userDetails.alert == true ) {
+              var div = $('<i class="fa fa-warning text-warning" title="'+$rootScope.prodige.userDetails.message+'"></i>');
+              $(element).append(div);
+              $compile(div)(scope);
+            }
+          });
+        }
+      }
+    });
+  })();
+
+  (helpModal = function(){ 
+    module.controller( 'helpModal', [
+      '$rootScope', '$scope', '$controller', '$http'
+    , function($rootScope, $scope, $controller, $http){
+        // move modal to body to avoid backdrop overlap
+        $('#helpModal').appendTo('body');
+        $scope.help = [];
+        $.ajax({
+          xhrFields: {
+               withCredentials: true
+          },
+          crossDomain: true,
+          method  : 'GET',
+          url     : prodigeConfig.routes.catalogue.geosource_get_help,
+          withCredentials: true,
+          success : function(data) {
+            $scope.help = data;
+          }
+        });
+      }
+    ]);
+  })();
+
+  (toolbar = function(){ 
+    module.controller( 'toolbar', [
+      '$rootScope', '$scope', '$controller', '$http'
+    , function($rootScope, $scope, $controller, $http){
+        
+        $scope.initContactForm = function() {
+          // broadcast to child scopes
+          $rootScope.$broadcast('initContactForm');
+        };
+
+      }
+    ]);
+  })();
+  
+  (contactAdmin = function(){ 
+    module.controller( 'formContactAdmin', [
+      '$rootScope', '$scope', '$controller', '$http'
+    , function($rootScope, $scope, $controller, $http){
+        // move modal to body to avoid backdrop overlap
+        $('#contactAdmin').appendTo('body');
+        $scope.model = {
+          usr_name       : $rootScope.prodige.isIdentified() ? $rootScope.prodige.usr_name : '',
+          usr_firstname  : $rootScope.prodige.isIdentified() ? $rootScope.prodige.usr_firstname : '',
+          usr_email      : $rootScope.prodige.isIdentified() ? $rootScope.prodige.usr_mail : ''
+        };
+        $scope.control = "";
+        $scope.refreshCaptcha = function(){
+          $scope.control = String(Math.round(Math.random()*1000000000));
+          $('#captchaimg').get(0).src = prodigeConfig.URL+'/geosource/captcha' + "?rand="+$scope.control;
+        };
+        $scope.initForm = function(){
+          $scope.model = {
+            usr_name       : $rootScope.prodige.isIdentified() ? $rootScope.prodige.usr_name : '',
+            usr_firstname  : $rootScope.prodige.isIdentified() ? $rootScope.prodige.usr_firstname : '',
+            usr_email      : $rootScope.prodige.isIdentified() ? $rootScope.prodige.usr_mail : '',
+            captcha : '',
+            message: ''
+          };
+          $scope.refreshCaptcha();
+        }
+        // init form data when notified to (see toolbar controller)
+        $rootScope.$on('initContactForm', function(e){
+          $scope.initForm();
+        });
+        $scope.processForm = function(){
+          if ( $scope.formContactAdmin.$valid ){
+            $http({
+              method  : 'POST',
+              url     : prodigeConfig.routes.catalogue.geosource_contact_admin,
+              data    : $.param($scope.model),  // pass in data as strings
+              withCredentials: true,
+              headers : { 'Content-Type': 'application/x-www-form-urlencoded' }  // set the headers so angular passing info as form data (not request payload)
+            })
+            .then(
+              function(data) { // success
+                //console.log('submit', data);
+                // re-init form with default values
+                $scope.initForm();
+                // close popup
+                angular.element('#contactAdmin').modal('hide');
+                alert("Votre message a bien été envoyé à l'administrateur de la plate-forme");
+              },
+              function(data) { // error
+                console.log('#contactAdmin', data);
+              }
+            )
+          } else {
+            console.log($scope.formContactAdmin.$error);
+          }
+        };
+      }
+    ]);
+  })();
+  
+  function configureMetadata(md){
+    if ( !md || md.get ) return;
+    md.get = md.get || function(field){
+      var result, temp;
+      var traduction = {
+        'isharvested' : 'isHarvested',
+        'istemplate' : 'isTemplate',
+        'Data' : 'title',
+        'spatialRepresentationType' : 'spatialRepresentationType_text'
+      };
+      if ( typeof traduction[field]!="undefined" ){
+        field = traduction[field];
+      }
+      try {
+        switch(field){
+          case "id" : 
+            temp = this['geonet:info'].id;
+          break;
+          case "id" : case "uuid" :
+            temp = (this.getUuid ? this.getUuid() : this['geonet:info'].uuid);
+          break;
+          case "links" :
+            temp = this['link'] || [];
+            var res = [];
+            temp.forEach(function(value){
+                var tokens = value.split('|');
+                res.push({
+                  name: tokens[0],
+                  title: tokens[1],
+                  href: tokens[2],
+                  protocol: tokens[3],
+                  type: tokens[4]
+                })
+            })
+            return res;
+          break;
+          case "serviceType" :
+            var type = ((temp = this.type) instanceof Array ? (temp[0].value || temp[0]) : temp);
+            if ( type=="map" ) return "invoke";
+            if ( type=="service-invoke" ) return "invoke";
+          default : 
+            temp = this[field];
+          break;
+        }
+        result = (temp instanceof Array ? (temp[0].value || temp[0]) : temp);
+        switch(field){
+          case "type" :
+            result = result.split('-')[0];
+            switch(result){
+              case "map" : result = "service"; break;
+              case "service-invoke" : result = "service"; break;
+            }
+          break;
+        }
+      } catch(e){ }
+      return result;
+    }
+    return md;
+  };
+  
+  (panier = function(){
+    panier_ajouter = null;
+    module.controller( 'metadataCart', [
+      '$rootScope', '$scope', '$controller', '$http'
+    , function($rootScope, $scope, $controller, $http){
+        // move modal to body to avoid backdrop overlap
+        $('#metadataCart').appendTo('body');
+        //$scope.$apply();
+        var panier = JSON.parse(window.sessionStorage.getItem('PRODIGE.PANIER') || '{}');
+        $scope.metadatas = panier.metadatas || [];
+        $scope.indexes = panier.indexes || {};
+        window.sessionStorage.setItem('PRODIGE.PANIER', JSON.stringify({metadatas : $scope.metadatas, indexes : $scope.indexes}));
+        
+          $('#metadataCart').on('shown.bs.modal', function(){
+            if ( !$scope.metadatas ) return;
+            $scope.metadatas.forEach(function(metadata){
+            	if (metadata.can_storage===null && metadata.query_storage) {
+            	    metadata.can_storage = true;
+                  delete metadata.query_storage;
+            	}
+            });
+            window.sessionStorage.setItem('PRODIGE.PANIER', JSON.stringify({metadatas : $scope.metadatas, indexes : $scope.indexes}));
+            $scope.$apply();
+          });
+        window.panier_ajouter = $scope.panier_ajouter = function (metadata){
+          if ( !metadata ) return false;
+          configureMetadata(metadata);
+          var type = metadata.get('type');
+          
+          switch(type){
+            case "dataset":
+            case "nonGeographicDataset":
+              if ( metadata.can_storage===false ) return false;
+              //nothing to do
+            break;
+            case "series":
+              // search metadata children of the series to add them in basket
+              var canAdd = true;
+              $.ajax({
+                async: false,
+                url : '/geonetwork/srv/api/records/'+metadata.get("uuid")+'/related',
+                data : {
+                  type : "children"
+                },
+                dataType: "json",
+                accepts: {
+                    text: "application/json"
+                },
+                success : function(res) {
+                    if (typeof res == "string") res = JSON.parse(res);
+                    var metadatas = [];
+                    if ( res!==null ){
+                      if ( !(res.children instanceof Array) ){res.children = [res.children];}
+                      metadatas = res.children;
+                    }
+                    
+                    var nbAdd = 0;
+                    var metadatasByIds = {}; 
+                    var ajaxMetadatas = [];
+                    var harvested = [];
+                    metadatas.forEach(function(metadataChild){
+                      $.ajax({
+                        async: false,
+                        url : '/geonetwork/srv/fre/qi?_content_type=json&fast=index&uuid='+metadataChild.id,
+                        dataType: "json",
+                        accepts: {
+                            text: "application/json"
+                        },
+                        success : function(res) {
+                          if (typeof res == "string") res = JSON.parse(res);
+                          metadata = res.metadata;
+                          
+                          configureMetadata(metadata);
+                          var type = metadata.get('type'), serviceType = metadata.get('serviceType');
+                          
+                          if ( ["series", "dataset", "nonGeographicDataset"].indexOf(type)==-1 ) return;
+                          var isHarvested = metadata.get('isHarvested');
+                          if ( isHarvested=="y" ){
+                            var tabLinks = metadata.get("links");
+                            metadata.can_storage = tabLinks.length>0;
+                            window.panier_ajouter(metadata) && nbAdd++;
+                            return;
+                          }
+                          
+                          
+                          ajaxMetadatas.push({ 
+                            ID : metadata.get('id'),
+                            OBJET_TYPE : type,
+                            OBJET_STYPE : (type == "service" && serviceType ? serviceType : "")
+                          });
+                          metadatasByIds[metadata.get('id')] = metadata;
+                          }
+                        });
+                    });
+
+                  if ( ajaxMetadatas.length>0 ) {
+                    var traitements = ["TELECHARGEMENT", "NAVIGATION"];
+                    $.ajax({
+                      async : false,
+                      crossDomain: true,
+                      url : prodigeConfig.routes.catalogue.prodige_verify_rights_url+'_multiple',
+                      data : {
+                        metadatas : ajaxMetadatas,
+                        TRAITEMENTS : traitements.join("|")
+                      },
+                      success : function(oRights) {
+                        oRights = (typeof oRights=="string" ? JSON.parse(oRights) : oRights);
+                        for (var id in oRights ){
+                          var metadata = metadatasByIds[id];
+                          metadata.can_storage = traitements.some(function(traitement){return !!oRights[id][traitement];});
+                          if ( metadata.can_storage ){
+                            nbAdd++;
+                            window.panier_ajouter(metadata);
+                          }
+                        }
+                      }
+                    });
+                  }
+                  if ( nbAdd==0 ) {
+                    canAdd = false;
+                  }
+                }
+              });
+              return canAdd;
+             break;
+             default : /*not add other types in basket*/ return false;
+          }
+          
+          var serviceType = metadata.get('serviceType');
+          var id = metadata.get("id");
+          
+          if ( typeof $scope.indexes[id] == "undefined" ){
+            metadata.can_storage = (typeof metadata.can_storage=="undefined" ? null : metadata.can_storage);
+            $scope.indexes[id] = $scope.metadatas.length;
+            $scope.metadatas.push(metadata);
+            window.sessionStorage.setItem('PRODIGE.PANIER', JSON.stringify({metadatas : $scope.metadatas, indexes : $scope.indexes}));
+            //$scope.$apply();
+          }
+          $('#metadataCart').modal('show');
+          
+          if ( metadata.can_storage===null ){
+            
+            if ( metadata.get("isharvested")=="y" ){
+              var tabLinks = metadata.get("links");
+              metadata.can_storage = tabLinks.length>0;
+              if ( !metadata.can_storage ) $scope.panier_retirer(metadata);
+              $scope.$apply();
+            }else{
+            	$scope.metadatas[$scope.indexes[id]].query_storage = true;
+              var traitements = ["TELECHARGEMENT", "NAVIGATION"];
+              $.ajax({
+                crossDomain: true,
+                url : prodigeConfig.routes.catalogue.prodige_verify_rights_url,
+                data : {
+                  ID : id,
+                  OBJET_TYPE : type,
+                  OBJET_STYPE : (type == "service" && serviceType ? serviceType : ""),
+                  TRAITEMENTS : traitements.join("|")
+                },
+                success : function(oRights) {
+                	delete $scope.metadatas[$scope.indexes[id]].query_storage;
+                  oRights = (typeof oRights=="string" ? JSON.parse(oRights) : oRights);
+                  $scope.metadatas[$scope.indexes[id]].can_storage = traitements.some(function(traitement){return !!oRights[traitement];});
+                  if ( !$scope.metadatas[$scope.indexes[id]].can_storage ) $scope.panier_retirer($scope.metadatas[$scope.indexes[id]]);
+                  $scope.$apply();
+                },
+                failure : function(oRights) {
+                  delete $scope.metadatas[$scope.indexes[id]].query_storage;
+                	$scope.metadatas[$scope.indexes[id]].can_storage = false;
+                }
+              });
+            }
+          }
+          return true;
+        }; // panier_ajouter
+        $scope.panier_retirer = function(metadata){
+          if ( !metadata ) return;
+          configureMetadata(metadata);
+          var id = metadata.get('id');
+          if ( typeof $scope.indexes[id] != "undefined" ){
+              var index = $scope.indexes[id];
+              var mds = [], ids = {};
+              $scope.metadatas.forEach(function(md, mdIndex){
+                if ( mdIndex==index ) return;
+                ids[md['geonet:info'].id] = mds.length;
+                mds.push(md);
+              });
+            window.sessionStorage.setItem('PRODIGE.PANIER', JSON.stringify({metadatas : ($scope.metadatas = mds), indexes : ($scope.indexes = ids)}));
+          //  $scope.$apply();
+          }
+        }; // panier_retirer
+        $scope.panier_vider = function(){
+          $scope.metadatas = [];
+          $scope.indexes = {};
+          window.sessionStorage.setItem('PRODIGE.PANIER', JSON.stringify({metadatas : $scope.metadatas, indexes : $scope.indexes}));
+          //$scope.$apply();
+        };
+        $scope.panier_covisualiser = function(metadata){
+          window.panier_covisualiser($scope, prodigeConfig)
+        };
+        $scope.panier_downloadParametrage = function(metadata){
+          window.panier_downloadParametrage($scope, prodigeConfig);
+        };
+        
+      }
+    ]);
+  })();
+  
+  (prodigeActions = function(){
+    module.directive('gnResultsContainer', function($compile, $rootScope, $http, $templateCache){
+      return {
+        restrict: 'A',
+        link: function(scope, element, attrs, controller, transcludeFn) {
+          // remplacer le template d'affichage de la liste de résultats dans le cas de la vue "Contribuer"
+          if( $(element).closest('[data-ng-controller="GnEditorBoardSearchController"]').size() > 0 ) {
+            $http
+            .get('../../apps_extend/templates/editor.html', {cache: $templateCache})
+            .success(function(tplContent){
+              scope.prodigeIsContributeMenu = true;
+              element.replaceWith($compile(tplContent)(scope));
+            });
+          }
+        }
+      };
+    });
+    module.directive('gnMdLinks', function($compile, $rootScope){
+      return {
+        //require: ['!searching'],
+        restrict: 'C',
+        //transclude : true,
+        scope: false,
+        link : function(scope, element){
+          var div = document.createElement('gn-catalog-links')
+          element.append($(div));
+          
+          $compile($(div))(scope);
+          scope.prodigeMenu = $(div);
+        }
+      };
+    });
+    module.directive('gnMdActionsBtn', function($compile, $rootScope){
+      return {
+       // require: ['$root.prodige.loaded'],
+        restrict: 'C',
+        //transclude : true,
+        scope: false,
+        link : function(scope, element){
+          var div = document.createElement('gn-catalog-links');
+          $(element).before($(div));
+          
+          $compile($(div))(scope);
+          scope.prodigeMenu = $(div);
+          div.className = "gn-md-actions-btn gn-resultview pull-right";
+        }
+      };
+    });
+    module.directive('gnMdView', function($compile, $rootScope, $http){
+      return {
+        restrict: 'C',
+        //transclude : true,
+        //scope: false,
+        link : function(scope, element){
+          scope.$watch('gnMdViewObj.current.record', function(){
+            if( scope.gnMdViewObj.current.record ) {
+              //params: {logFile:"ConsultationMetadonnees",
+              //         objectName : record.get("title").replace('"', '""')+"\",\""+record.get("id")}
+              var record = scope.gnMdViewObj.current.record;
+              $http({
+                url : __PRODIGE_CATALOGUE_CONFIG_URL__+'/prodige/add_log', 
+                method: 'GET',
+                params: {logFile:"ConsultationMetadonnees", objectName : (record.title||record.defaultTitle)+";"+record.getId()},
+                withCredentials: true
+              })
+              .error(function(data,status,headers,config){
+                console.log("Erreur d'ecriture du log 'ConsultationMetadonnees'");
+              });
+            }
+          });
+        }
+      };
+    }); 
+    module.directive('gnSelectionActions', function($compile, $rootScope){
+      return {
+        transclue : true,
+        scope : false,
+        restrict: 'C',
+        link : function(scope, element){
+          var action = $(document.createElement('li'));
+          action.attr('ng-show', "$root.prodige.loaded");
+          action.html('<a ng-click="panier_ajouter_selection()"><i class="fa fa-star"></i>&nbsp;' +
+                  '<span title="Choisir les éléments sélectionnés sur la page uniquement">Choisir ces données (sélections de la page)</span>' +
+                  '</a>');
+          $(element).find('.dropdown-menu').prepend(action);
+          
+          scope.panier_ajouter_selection = function(){
+            var nbAdd = 0;
+            var metadatas = scope.$parent.$parent.searchResults.records; 
+            var metadatasByIds = {}; 
+            var ajaxMetadatas = [];
+            metadatas.forEach(function(metadata){
+              if ( !metadata["geonet:info"].selected ) return;
+              configureMetadata(metadata);
+              var type = metadata.get('type'), serviceType = metadata.get('serviceType');
+              if ( ["series", "dataset", "nonGeographicDataset"].indexOf(type)==-1 ) return;
+              var isHarvested = metadata.get('isHarvested');
+              if ( isHarvested=="y" ){
+                var tabLinks = metadata.get("links");
+                metadata.can_storage = tabLinks.length>0;
+                metadata.can_storage && window.panier_ajouter(metadata) && nbAdd++;
+                return;
+              }
+              ajaxMetadatas.push({ 
+                ID : metadata.get('id'),
+              OBJET_TYPE : type,
+              OBJET_STYPE : (type == "service" && serviceType ? serviceType : "")
+              });
+              metadatasByIds[metadata.get('id')] = metadata;
+            });
+            if ( ajaxMetadatas.length>=0 ) {
+              var traitements = ["TELECHARGEMENT", "NAVIGATION"];
+              $.ajax({
+                  async : false,
+                  crossDomain: true,
+                  url : prodigeConfig.routes.catalogue.prodige_verify_rights_url+'_multiple',
+                  data : {
+                    metadatas : ajaxMetadatas,
+                    TRAITEMENTS : traitements.join("|")
+                  },
+                  success : function(oRights) {
+                    oRights = (typeof oRights=="string" ? JSON.parse(oRights) : oRights);
+  
+                    for (var id in oRights ){
+                        var metadata = metadatasByIds[id];
+                        metadata.can_storage = traitements.some(function(traitement){return !!oRights[id][traitement];});
+                        if ( metadata.can_storage ){
+                            window.panier_ajouter(metadata) && nbAdd++;
+                        }
+                    }
+                  }
+              });
+            }
+            if ( nbAdd==0 ) {
+                Ext.Msg.alert('Ajout de la sélection dans le panier', 'Aucune métadonnée ne peut être ajoutée au panier.');
+            }
+          }
+          $compile(action)(scope);
+        }
+      }
+    });
+    
+    module.directive('gnCatalogLinks', function($rootScope){
+      return {
+        require: ['$root.prodige.loaded'],
+        transclude : true,
+        templateUrl : '../../apps_extend/templates/metadata-actions.html',
+        controller : ['$scope', '$rootScope', '$controller', function($scope, $rootScope, $controller){
+
+          // hide default geosource delete metadata actions
+          angular.element('a.gn-md-delete-btn').hide(); //
+          angular.element('.gn-selection-actions li>a[ng-click="mdService.deleteMd()"]').parent().hide(); // marche pas
+
+          $scope.prodigeActions = [];
+          $scope.setMetadataDecoration = function(){
+            if ( !$scope.md ) return true;
+            configureMetadata($scope.md);
+            var legendTooltip;
+            var legendConfig = {
+              "vector"    : ["Série de données vecteur",  (legendTooltip="Une série de données géographiques est «une compilation identifiable de données géographiques» , une donnée géographique étant «toute donnée faisant directement ou indirectement référence à un lieu ou une zone géographique spécifique».")],
+              //"grid"      : ["Série de données raster",    legendTooltip],
+              "raster"    : ["Série de données raster",    legendTooltip],
+              "nonGeographicDataset" : ["Série de données non géographique ou tabulaire"],
+              "series"    : ["Ensemble de séries de données", "Un ensemble de séries de données géographiques est une compilation de séries de données géographiques partageant la même spécification de produit."],
+              "map"       : ["Cartes"],
+              "service"   : ["Services"],
+              "chart"   : ["Graphes"]
+            };
+            
+            var mdtype;
+            var type = "unknown";
+            switch (mdtype = $scope.md.get('type')){
+              case "dataset" :
+                switch ($scope.md.get('spatialRepresentationType_text')){
+                  case "Vecteur" : type = "vector"; break;
+                  case "Raster" : type = "raster"; break;
+                  case "Tabulaire" : type = "nonGeographicDataset"; break;
+                  default : type = 'nonGeographicDataset'; break;
+                }
+              break;
+              case "service" :
+                if($scope.md.get('keyword')=='infoChartAccessService'){
+                  type = "chart";
+                }else{
+                  type = ($scope.md.get('serviceType')=="invoke" ? "map" : mdtype);
+                }
+              break;
+              default :
+                type = mdtype;
+              break;
+            }
+            
+            $scope.md && $scope.prodigeMenu.closest("[data-gn-fix-mdlinks]").addClass('metadata-'+type);
+            
+            //création d'un encart de légende
+            if ( $scope.prodigeIsContributeMenu!=true && $('.legend-metadata').length==0 && $('[data-sortby-combo]').length!=0 ){
+              var legend;
+              legend = $('<div class="pull-right ng-isolate-scope"></div>');
+              legend.insertAfter('[data-sortby-combo]');
+              
+              legend = $('<div class="btn-group legend-metadata">' +
+                         '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"><i class="fa fa-tags"></i>&nbsp; Légende</span>&nbsp;<span class="caret"></span>' +
+                         '</div>').appendTo(legend);
+              legend = $('<ul class="dropdown-menu" role="menu"></ul>').appendTo(legend);
+            
+              $.each(legendConfig, function(cls, info){
+                legend.append('<li'+(info[1] ? ' title="'+info[1]+'"' : '')+'><div class="icon metadata-'+cls+'"></div>&nbsp;'+info[0]+'<br/></li>');
+              })
+            
+            }
+            return true;
+          }
+          $scope.initMetadataActions = function(){
+            var menu = $scope.prodigeMenu.find('.metadataActions');
+            $(menu).trigger('beforeshow');
+            menu.getEl = function(){return $(this).get(0)};
+            menu.getId = function(){return $(this).get(0).id};
+            menu.insert = function(index, el){
+              if ( el instanceof Ext.menu.ItemPro ){
+                $scope.prodigeActions.push(el);
+                return $(this).append($(el.getEl()));
+              }
+              if ( el instanceof Ext.ActionPro ){
+                $scope.prodigeActions.push(el);
+                return $(this).append($(el.getEl()));
+              }
+              return $(this).append($(el))
+            };
+            window.setMetadataActions($rootScope, $scope, menu, $scope.md, false, prodigeConfig);
+          }
+        }]
+      };
+    });
+  })();//end prodigeActions
+  
+  /*$scope.confirm = function(title, body, success, fn_scope){
+    $scope.msg = {msg_type : "alert", msg_title : title, msg_body : body};
+    $scope.msg.confirmFn = function(){
+      if ( success ) 
+        success.call(fn_scope||this); 
+      $scope.showMessage = false;
+    };
+    $scope.showMessage = true;
+  };*/
+  
+
+  (extMessages = function (){
+    module./*directive( 'extMessages', function($compile){return {
+      restrict : 'A',
+      scope : false,
+      */
+      controller( 'extMessages', /* :*/ [ '$scope', "$controller", "$timeout"
+    , function(/*scope,element*/$scope, $controller, $timeout){
+        // move modal to body to avoid backdrop overlap
+        $('#extMessages').appendTo('body');
+        //console.log(arguments);
+        if ( typeof Ext == "undefined" ) Ext = {};
+        if ( typeof Ext.Msg == "undefined" ) Ext.Msg = {};
+        
+        $scope.modaltype = "alert";
+        $scope.title = "Title";
+        $scope.body  = "Body";
+          
+        $scope.close = function(){
+          $('#extMessages #autoclose').click();
+        }
+        
+        $scope.info = function(title, body, success, fn_scope){
+          $('#extMessages').zIndex( 10000 ).modal('show');
+          //diffère l'assignation des variables pour prise en compte
+          $timeout(function(){
+            $scope.modaltype = "info";
+            $scope.title = title;
+            $scope.body  = body;
+          }, 0);
+        };
+
+        
+
+        $scope.alert = function(title, body, success, fn_scope){
+          $('#extMessages').zIndex( 10000 ).modal('show');
+          //diffère l'assignation des variables pour prise en compte
+          $timeout(function(){
+            $scope.modaltype = "alert";
+            $scope.title = title;
+            $scope.body  = body;
+            $scope.confirmFn = function(btn){
+              if ( success ) {
+                success.apply(fn_scope||$scope, arguments);
+              }
+            };
+          }, 0);
+          
+        };
+        
+        $scope.confirm = function(title, body, success, fn_scope){
+          $('#extMessages').zIndex( 10000 ).modal('show');
+          //diffère l'assignation des variables pour prise en compte
+          $timeout(function(){
+            $scope.modaltype = "confirm";
+            $scope.title = title;
+            $scope.body  = body;
+            $scope.confirmFn = function(btn){
+              if ( success ) {
+                success.apply(fn_scope||$scope, arguments);
+              }
+            };
+          }, 0);
+          
+        };
+        
+        Ext.Msg.info = function(title, body, success, fn_scope){
+          $scope.info(title, body, success, fn_scope);
+          return $scope.close;
+        };
+        Ext.Msg.alert = function(title, body, success, fn_scope){
+          $scope.alert(title, body, success, fn_scope);
+          return $scope;
+        };
+        Ext.Msg.confirm = function(title, body, success, fn_scope){
+          $scope.confirm(title, body, success, fn_scope);
+          return $scope;
+        };
+      }
+    ]
+    //}}
+    );
+  })();
+}
+
diff --git a/src/main/webapp/apps_extend/administration_carto.js b/src/main/webapp/apps_extend/administration_carto.js
new file mode 100644
index 0000000000000000000000000000000000000000..ffc396ffee3280b15be7e98754c69b763301fb8b
--- /dev/null
+++ b/src/main/webapp/apps_extend/administration_carto.js
@@ -0,0 +1,1434 @@
+
+/**
+ * @brief Initialisation de la page
+ * @return
+ */
+function	administration_carto_init()
+{
+	try
+	{
+		IHM_historique_add(window.location);
+		IHM_Chargement_stop();
+		administration_carto_domaineChange();
+		domaines_event_onchange_add(events_administration_carto_changedomaine);
+		administration_carto_onfocus();
+		
+	}
+	catch(e)
+	{}
+}
+
+function	administration_carto_onfocus()
+{
+	var		domaine;
+
+	try
+	{
+		domaine = domaines_getCurentDomaine();
+		if (domaine)
+			IHM_Domaines_resume();
+		else
+			IHM_Domaines_show();
+	}
+	catch(e){}
+}
+
+/**
+ * @brief Gère le clic sur un autre domaine
+ * @return
+ */
+function	administration_carto_domaineChange()
+{
+	var		domaine;
+	var		sousdomaine;
+	try
+	{
+		domaine = domaines_getCurentDomaine();
+		sousdomaine = domaines_getCurentSousDomaine();
+		if (domaine){
+			administration_carto_loadData(domaine, sousdomaine);
+		}
+		else
+		{
+		  Ext.getCmp('westLayout').setTitle("Domaine / Sous-domaine");
+			IHM_Panier_hide();
+			IHM_Domaines_show();
+			IHM_Chargement_stop();
+			IHM_NoSelectionDomain_show();
+      window.timerOnload = setTimeout("window.onload()", 2500);
+		}
+	}
+	catch(e){}
+}
+/**
+ * @brief Charge les données dans un sous-domaine/domaine
+ * @param domaine
+ * @param sousdomaine
+ * @return
+ */
+function	administration_carto_loadData(domaine, sousdomaine)
+{
+  if ( document.location.pathname.indexOf("administration")==-1 ){
+    
+  }
+  else {
+  	var		url;
+  	var		params;
+  	var		i;
+  	var		param;
+  	var		curdom = null;
+  	var		cursdom = null;
+    if ( window.timerOnload ){
+      clearTimeout(window.timerOnload);
+      window.timerOnload = null;
+    }
+  	IHM_Chargement_start();
+  	//administration_carto_setResume(domaine, sousdomaine);
+  	url = document.location.pathname + "?domaine=" + domaine;
+  	params = document.location.search.substr(1).split("&");
+  	for (i = 0; i < params.length; i++)
+  	{
+  		param = params[i].split("=");
+  		if (param[0] == "domaine")
+  			curdom = unescape(param[1]);
+  		if (param[0] == "sousdomaine")
+  			cursdom = unescape(param[1]);
+  	}
+  	if (sousdomaine)
+  		url += "&sousdomaine=" + sousdomaine;
+  	if ((!curdom && domaine) || (!cursdom && sousdomaine) || (cursdom && !sousdomaine) || (curdom != domaine) || (cursdom != sousdomaine)){
+  	  document.location.replace(url);
+  	}
+    else
+      IHM_Chargement_stop();
+  }
+}
+
+/**
+ * @brief Ouvre l'interface cartographique
+ * @param url
+ * @return
+ */
+function	administration_carto_openInterface(action, login, pwd, mdtitle, PN_IS_ADM_PRODIGE)
+{
+	if(document.administration_carto){
+	    document.administration_carto.login.value = login;
+	    document.administration_carto.pass.value = pwd;
+	    document.administration_carto.mdtitle.value = mdtitle;
+	    //document.administration_carto.PN_IS_ADM_PRODIGE.value = PN_IS_ADM_PRODIGE;
+	    document.administration_carto.action = action;
+	    administration_carto_win_cartodynamique = window.open("blank.html", "Cartographie_dynamique", "directories=0, fullscreen=yes, menubar=0, status=1, toolbar=0, resizable=1");
+	    document.administration_carto.submit();
+	}
+}
+
+/**
+ * @brief Ouvre l'interface cartographique
+ * @param url url de la carte
+ * @param mapName nom de la carte
+ * @return
+ */
+function  consultation_openInterface(url, mapName)
+{
+  //maj Logs
+  var iframe = this;
+  iframe.tabParams = new Array(mapName);
+  
+ 	var ajaxUrl = IHM_getBaseUrl()+"consultation_addLog.php";
+  var queryParams = {'logFile' : 'ConsultationCarte', 'objectName' :mapName};
+  iframe.onSuccess = function(){};
+  AjaxRequest(ajaxUrl, queryParams, iframe);
+  consultation_win_cartodynamique = window.open(url, "Cartographie_dynamique", "directories=0, fullscreen=yes, menubar=0, status=1, toolbar=yes, resizable=1");
+}
+
+/**
+ * @version 3.2 - 06/04/2012
+ * @brief Supprime le service
+ * @param metadata_id
+ * @return
+ */
+function administration_carto_delService(metadata_id, service_nom, onSuccess, tabParams)
+{
+  var iframe = this;
+  iframe.tabParams = [metadata_id, onSuccess, tabParams];
+  iframe.onSuccess = confirm_administration_carto_delService;
+  iframe.tabParamsNo = tabParams;
+  iframe.onResponseNo = onSuccess;
+	Ext.Msg.confirm("Suppression du service", "Le service "+service_nom+" sera supprimé, les contextes liés à ce service sont susceptibles de ne plus fonctionner.<br>" +
+			                "Souhaitez-vous continuer  ?", confirm, iframe);
+}
+
+/**
+ * @version 3.2 - 06/04/2012
+ * @param metadata_id
+ * @param deldata
+ * @return
+ */
+function confirm_administration_carto_delService(metadata_id, onSuccess, tabParams){
+  var iframe = this;
+  iframe.tabParams = tabParams;
+  var ajaxUrl = IHM_getBaseUrl()+"administration_carto_Action.php";
+  var queryParams = {action : "del", metadataId : escape(metadata_id)};
+  iframe.onSuccess = onSuccess;
+  AjaxRequest(ajaxUrl, queryParams, iframe);
+}
+
+/**
+ * @version 3.2 - 07/03/2012
+ * @brief Supprime la carte
+ * @param pk_carte
+ * @param pk_stockage_carte
+ * @param metadata_id
+ * @return
+ */
+function	administration_carto_delMap(pk_carte, pk_stockage_carte, metadata_id, carte_nom, onSuccess, tabParams)
+{
+	
+	var iframe = this;
+  iframe.tabParams = [pk_carte, pk_stockage_carte, metadata_id, true, onSuccess, tabParams];
+  iframe.onSuccess = confirm_administration_carto_delMap;
+  iframe.tabParamsNo = tabParams;
+  iframe.onResponseNo = onSuccess;
+	Ext.Msg.confirm("Suppression de carte", "La carte "+carte_nom+" sera supprimée, les contextes liés à cette carte sont susceptibles de ne plus fonctionner.<br>" +
+			                "Souhaitez-vous continuer  ?", confirm, iframe);
+}
+
+/**
+ * @version 3.2 - 07/03/2012
+ * @param pk_carte
+ * @param pk_stockage_carte
+ * @param metadata_id
+ * @param deldata
+ * @return
+ */
+function confirm_administration_carto_delMap(pk_carte, pk_stockage_carte, metadata_id, deldata, onSuccess, tabParams){
+  
+  var iframe = this;
+  iframe.tabParams = tabParams;
+  var ajaxUrl = IHM_getBaseUrl()+"administration_carto_Action.php";
+  var queryParams = {action : "del", stockageCarteId : pk_stockage_carte, carteId : pk_carte, metadataId : escape(metadata_id), deldata : deldata};
+  iframe.onSuccess = onSuccess;
+  AjaxRequest(ajaxUrl, queryParams, iframe);
+  
+  /**
+   * @deprecated v3.2 - 07/03/2012
+   */
+  /*
+  var   params;
+  var   i;
+  var   param;
+  var   curdom = null;
+  var   cursdom = null;
+  var   url;
+
+  params = document.location.search.substr(1).split("&");
+	for (i = 0; i < params.length; i++)
+	{
+		param = params[i].split("=");
+		if (param[0] == "domaine")
+			curdom = param[1];
+		if (param[0] == "sousdomaine")
+			cursdom = param[1];
+	}
+	url = IHM_getBaseUrl();
+	url += "administration_carto_Action.php?action=del&stockageCarteId=" + pk_stockage_carte + "&carteId=" + pk_carte + "&metadataId=" + escape(metadata_id);
+	if (deldata)
+		url += "&deldata=1";
+	if (curdom)
+	{
+		url += "&domaine=" + escape(curdom);
+		if (cursdom)
+			url += "&sousdomaine=" + escape(cursdom);
+	}
+	window.location = url;
+	*/
+}
+
+/**
+ * @version 3.2 - 07/03/2012
+ * @brief Supprime la métadonnée associée aux données MAJIC
+ * @param pk_couche
+ * @param metadata_id
+ * @return
+ */
+function  administration_carto_delCoucheMajic(pk_couche, metadata_id, couche_nom, onSuccess, tabParams)
+{
+  var iframe = this;
+  iframe.tabParams = [pk_couche, metadata_id, true, "majic", couche_nom, onSuccess, tabParams];
+  iframe.onSuccess = confirm_administration_carto_delDataConfirmed;
+  iframe.tabParamsNo = tabParams;
+  iframe.onResponseNo = onSuccess;
+  Ext.Msg.confirm("Suppression de couche", "La donnée "+couche_nom+" va être supprimée. Souhaitez-vous continuer ?", confirm, iframe);
+  
+}
+
+
+/**
+ * @version 3.2 - 07/03/2012
+ * @brief Supprime la couche et sa métadonnée associée
+ * @param pk_couche
+ * @param metadata_id
+ * @return
+ */
+function	administration_carto_delCouche(pk_couche, metadata_id, layerTable, coucheType, coucheSrv, couche_nom, onSuccess, tabParams)
+{
+	var iframe = this;
+  iframe.tabParams = [pk_couche, metadata_id, true, layerTable, coucheType, coucheSrv, couche_nom, onSuccess, tabParams];
+  iframe.onSuccess = confirm_administration_carto_delData;
+  iframe.tabParamsNo = tabParams;
+  iframe.onResponseNo = onSuccess;
+	Ext.Msg.confirm("Suppression de couche", "La donnée "+couche_nom+" va être supprimée. Souhaitez-vous continuer ?", confirm, iframe);
+}
+
+
+/**
+ * @version 3.2 - 07/03/2012
+ * Suppression d'une donnée, appel de la liste des cartes impactées en ajax
+ * @param pk_couche identifiant de donnée
+ * @param metadata_id identifiant de métadonnée
+ * @param deldata vrai si suppression de la donnée
+ * @param layerTable nom de la table
+ * @param coucheType type de couche (vecteur ou raster)
+ * @param coucheSrv url du serveur
+ * @return
+ */  
+function confirm_administration_carto_delData(pk_couche, metadata_id, deldata, layerTable, coucheType, coucheSrv, couche_nom, onSuccess, tabParams){
+  
+  var iframe = this;
+  iframe.tabParams = new Array(pk_couche, metadata_id, coucheType, couche_nom, onSuccess, tabParams);
+  var ajaxUrl = window.location.protocol+"//"+ coucheSrv + "/PRRA/Administration/Administration/Layers/LayerGetMaps.php";
+  var queryParams = {coucheType : coucheType, layerTable : layerTable};
+  iframe.onSuccess = showResultLayerMaps;
+  AjaxRequest(ajaxUrl, queryParams, iframe);
+}
+
+/**
+ * @version 3.2 - 07/03/2012
+ * @brief Affichage de la liste des mapfiles contenant la couche
+ * @param pk_couche identifiant de donnée
+ * @param metadata_id identifiant de métadonnée
+ * @param responseText retour Ajax
+ * @return
+ */  
+function showResultLayerMaps(pk_couche, metadata_id, coucheType, couche_nom, onSuccess, tabParams, responseText){
+  
+  var iframe = this;
+  iframe.tabParams = [pk_couche, metadata_id, true, coucheType, onSuccess, tabParams];
+  iframe.onSuccess = confirm_administration_carto_delDataConfirmed;
+  iframe.tabParamsNo = tabParams;
+  iframe.onResponseNo = onSuccess;
+  var tabmaps = eval(responseText);
+  if(tabmaps.length == 0)
+    Ext.Msg.confirm("Suppression de couche", "Aucune carte ne contient la couche "+couche_nom+", souhaitez-vous poursuivre la suppression ?", confirm, iframe);
+  else{
+    var strMaps ="";
+    for (var i=0; i<tabmaps.length;i++)
+      strMaps+= "<b>"+tabmaps[i]+"</b><br>"; 
+    Ext.Msg.confirm("Suppression de couche", "La couche "+couche_nom+" est contenue dans les cartes suivantes :<br>" +
+                        strMaps+ "La couche sera supprimée des cartes. Souhaitez-vous poursuivre la suppression ?", confirm, iframe);
+  }
+}
+
+/**
+ * @version 3.2 - 07/03/2012
+ * suppression d'une donnée confirmée
+ * @param pk_couche identifiant de donnée
+ * @param metadata_id identifiant de métadonnée
+ * @param deldata boolean permet la suppression des données associées
+ * @return
+ */  
+function confirm_administration_carto_delDataConfirmed(pk_couche, metadata_id, deldata, mode, onSuccess, tabParams){
+  
+  var iframe = this;
+  iframe.tabParams = tabParams;
+  var ajaxUrl = IHM_getBaseUrl()+"administration_carto_Action.php";
+  var queryParams = {action : "del", coucheId : pk_couche, metadataId : escape(metadata_id), deldata : deldata, mode : mode};
+  iframe.onSuccess = onSuccess;
+  AjaxRequest(ajaxUrl, queryParams, iframe);
+  
+  /**
+   * @deprecated v3.2 - 07/03/2012
+   */
+  /*
+  var   params;
+  var   i;
+  var   param;
+  var   curdom = null;
+  var   cursdom = null;
+  var   url;
+  params = document.location.search.substr(1).split("&");
+  for (i = 0; i < params.length; i++)
+  {
+    param = params[i].split("=");
+    if (param[0] == "domaine")
+      curdom = param[1];
+    if (param[0] == "sousdomaine")
+      cursdom = param[1];
+  }
+ 	url = IHM_getBaseUrl();
+ 	url += "administration_carto_Action.php?action=del&coucheId=" + pk_couche + "&metadataId=" + escape(metadata_id);
+  if (deldata=="true")
+    url += "&deldata=1";
+  if (curdom)
+  {
+    url += "&domaine=" + escape(curdom);
+    if (cursdom)
+      url += "&sousdomaine=" + escape(cursdom);
+  }
+  url+="&mode="+mode;
+  window.location = url;
+  */
+}
+
+/**
+ * @brief ajoute une couche WMS au serveur
+ * @param pk_couche
+ * @param type_service
+ */
+function administration_carto_webservice(pk_data, type_service, login, pwd, type_data){
+	var		params;
+	var		i;
+	var		param;
+	var		curdom = null;
+	var		cursdom = null;
+	var		url;
+	var		deldata = false;
+
+	params = document.location.search.substr(1).split("&");
+	for (i = 0; i < params.length; i++)
+	{
+		param = params[i].split("=");
+		if (param[0] == "domaine")
+			curdom = param[1];
+		if (param[0] == "sousdomaine")
+			cursdom = param[1];
+	}
+	url = IHM_getBaseUrl();
+	if(type_data == 0) //couche
+		url += "administration_carto_webservices.php?action="+type_service+"&coucheId=" + pk_data+"&login="+login+"&pass="+pwd+"&type_data="+type_data;
+	if(type_data == 1)//carte
+		url += "administration_carto_webservices.php?action="+type_service+"&carteId=" + pk_data+"&login="+login+"&pass="+pwd+"&type_data="+type_data;
+	if (curdom){
+		url += "&domaine=" + escape(curdom);
+		if (cursdom)
+			url += "&sousdomaine=" + escape(cursdom);
+	}
+	if(type_data == 0) //couche
+		window.location = url;
+	if(type_data == 1){
+	  var iframe = this;
+	  var ajaxUrl = url;
+	  var queryParams = {};//{action:"valid",metadataId:metadata_id,statut:statut,mode:mode};
+	  iframe.tabParams = null;
+	  iframe.onSuccess = function(responseText){
+	    var oRes = eval("("+responseText+")");
+	    if ( oRes.success ) {
+	      //alert("La carte est publié en WMS.");
+	      Ext.Msg.alert("Publication WMS", (oRes.enable ? "La carte a été correctement publiée en WMS" : "Le service WMS associé à la carte a été supprimé")) ;
+	    } else {
+	      Ext.Msg.alert("Echec", oRes.msg);
+	    }
+	  };
+	  AjaxRequest(ajaxUrl, queryParams, iframe);
+	}//carte
+}
+
+/**
+ * @version 3.2 - 07/03/2012
+ * @brief Change le statut d'une fiche de métadonnées
+ * @param metadata_id
+ * @param title
+ * @param statut
+ * @param mode
+ * @param onSuccess             fonction à exécuter après changement de statut
+ * @return
+ */
+function	administration_carto_changeStatut(metadata_id, title, statut, mode, onSuccess)
+{
+	var		msg = "";
+	var		fram;
+	var		url;
+	var		urlfram;
+
+	try
+	{
+		if(mode!="majic"){
+			switch(statut)
+			{
+				case 1:
+					msg = "La fiche " + title + " va être renvoyée à la saisie";
+					break;
+				case 2:
+					msg = "La fiche " + title + " va être proposée pour validation";
+					break;
+				case 3:
+					msg = "La fiche " + title + " va être validée et proposée pour publication";
+					break;
+				case 4:
+					msg = "La fiche " + title + " va être publiée";
+					break;
+				default:
+					return;
+					break;
+			}
+		}else{
+			switch(statut)
+			{
+				case 1:
+					msg = "La métadonnée majic va être renvoyée à la saisie";
+					break;
+				case 2:
+					msg = "La métadonnée majic va être proposée pour validation";
+					break;
+				case 3:
+					msg = "La métadonnée majic va être validée et proposée pour publication";
+					break;
+				case 4:
+					msg = "La métadonnée majic va être publiée";
+					break;
+				default:
+					return;
+					break;
+			}	
+		}
+	  var iframe = this;
+	  iframe.tabParams = [metadata_id, statut, mode, onSuccess];
+	  iframe.onSuccess = changeStatut;
+	  Ext.Msg.confirm('Changement de statut', msg, confirm, iframe);
+	}
+	catch(e){}
+}
+
+/**
+ * @version 3.2 - 07/03/2012
+ * Acces à la page de modification de statut
+ * @param metadata_id
+ * @param statut
+ * @param mode
+ * @return
+ */
+function changeStatut(metadata_id, statut, mode, onSuccess){
+  
+  var iframe = this;
+  var ajaxUrl = IHM_getBaseUrl()+"administration_carto_Action.php";
+  var queryParams = {action:"valid",metadataId:metadata_id,statut:statut,mode:mode};
+  iframe.tabParams = null;
+  iframe.onSuccess = function(responseText){
+    var oRes = eval("("+responseText+")");
+    if ( oRes.success ) {
+      onSuccess();
+    } else {
+      Ext.Msg.alert("Echec", oRes.msg);
+    }
+  };
+  AjaxRequest(ajaxUrl, queryParams, iframe);
+  
+ /**
+  * @deprecated v3.2 - 07/03/2012
+  */
+ /*
+  var   curdom = null;
+  var   cursdom = null;
+  params = document.location.search.substr(1).split("&");
+  for (i = 0; i < params.length; i++)
+  {
+    param = params[i].split("=");
+    if (param[0] == "domaine")
+      curdom = param[1];
+    if (param[0] == "sousdomaine")
+      cursdom = param[1];
+  }
+  var url = IHM_getBaseUrl();
+  url += "administration_carto_Action.php?action=valid";
+  if (curdom)
+  {
+    url += "&domaine=" + escape(curdom);
+    if (cursdom)
+      url += "&sousdomaine=" + escape(cursdom);
+  }
+  url +="&metadataId=" + escape(metadata_id) + "&statut=" + statut + "&mode=" + mode;
+  window.location = url;
+  */
+}
+
+/**
+ * @version 3.2 - 07/03/2012
+ * @brief Change le statut de plusieurs fiches de métadonnées
+ * @param tabMetadata           tableau d'informations de métadonnées sous la forme [{id:<id>, title:<title>, statut:<statut>}, {id:<id>, title:<title>, statut:<statut>}]
+ * @param statut
+ * @param mode
+ * @param modePropositionActif  string true ou false
+ * @param onSuccess             fonction à exécuter après changement de statut
+ * @return
+ */
+function  administration_carto_action_changeStatut(tabMetadata, statut, mode, modePropositionActif, onSuccess)
+{
+  try
+  {
+    var tabMetadataId = [];
+    var tabMetadataTitle = [];
+    for ( var i=0; i<tabMetadata.length; i++ ) {
+      switch ( statut ) {
+        case 1 :  // action retirer
+          if ( tabMetadata[i].statut != 1 ) {
+            tabMetadataId.push(tabMetadata[i].id);
+            tabMetadataTitle.push(tabMetadata[i].title);
+          }
+        break;
+        case 2 : // action proposer
+          if ( tabMetadata[i].statut == 1 ) {
+            tabMetadataId.push(tabMetadata[i].id);
+            tabMetadataTitle.push(tabMetadata[i].title);
+          }
+        break;
+        case 3 : // action valider
+          if ( !modePropositionActif && tabMetadata[i].statut == 1
+            || tabMetadata[i].statut == 2 ) {
+            tabMetadataId.push(tabMetadata[i].id);
+            tabMetadataTitle.push(tabMetadata[i].title);
+          }
+        break;
+        case 4 : // action publier
+          if ( tabMetadata[i].statut == 3 ) {
+            tabMetadataId.push(tabMetadata[i].id);
+            tabMetadataTitle.push(tabMetadata[i].title);
+          }
+        break;
+      }
+    }
+    if ( tabMetadataTitle.length == 0 ) {
+      Ext.Msg.alert("Actions sur la sélection", "Impossible de réaliser l'action demandée pour les métadonnées sélectionnées.");
+    } else {
+      var msg = ( tabMetadataTitle.length == 1 ? "La fiche " : "Les fiches " )+tabMetadataTitle.join(", ");
+      switch ( statut ) {
+        case 1 :
+          msg += ( tabMetadataTitle.length == 1 ? " va être renvoyée" : " vont être renvoyées")+" à la saisie.";
+        break;
+        case 2 :
+          msg += ( tabMetadataTitle.length == 1 ? " va être proposée" : " vont être proposées")+" pour validation.";
+        break;
+        case 3 :
+          msg += ( tabMetadataTitle.length == 1 ? " va être validée et proposée" : " vont être validées et proposées")+" pour publication.";
+        break;
+        case 4 :
+          msg += ( tabMetadataTitle.length == 1 ? "va être publiée" : " vont être publiées")+".";
+        break;
+      }
+      var iframe = this;
+      iframe.tabParams = new Array(tabMetadataId.join(","), statut, mode, onSuccess);
+      iframe.onSuccess = changeStatutCarto;
+      Ext.Msg.confirm('Changement de statut', msg, confirm, iframe);
+    }
+    
+    /**
+     * @deprecated v3.2 - 07/03/2012
+     */
+    /*
+    var   msg = "";
+    var   fram;
+    var   url;
+    var   urlfram;
+    var   metadataList = "";
+    
+    var tabCheckbox = document.action_form.action;
+    var nbFiche = 0;
+    
+    var strTitre = "";
+    
+    switch(statut)
+    {
+      case 1:
+        if(typeof(tabCheckbox.length)!="undefined"){
+          for (var i=0; i<tabCheckbox.length; i++){
+            //case cochée et statut autre que en cours
+            if(tabCheckbox[i].checked && document.action_form.elements["statut_"+tabCheckbox[i].value].value != 1){
+              var tabInfoMetadata = tabCheckbox[i].value.split("_");
+              metadataList+=tabInfoMetadata[1]+",";
+              nbFiche ++;
+              strTitre+= "<b>"+document.action_form.elements["titre_"+tabCheckbox[i].value].value + "</b><br>";
+              
+            }
+          }
+        }else{ //only one checkbox
+          if(tabCheckbox.checked && document.action_form.elements["statut_"+tabCheckbox.value].value != 1){
+            var tabInfoMetadata = tabCheckbox.value.split("_");
+            metadataList+=tabInfoMetadata[1]+",";
+            nbFiche ++;
+            strTitre+= "<b>"+document.action_form.elements["titre_"+tabCheckbox.value].value + "</b><br>";
+            
+          }
+        }
+          
+        if (nbFiche==0){
+          Ext.Msg.alert("Actions sur la sélection", "Impossible de réaliser l'action demandée pour les métadonnées sélectionnées");
+          return;
+        }else if(nbFiche==1){
+          msg = "La fiche "+ strTitre+" va être renvoyée à la saisie";
+        }else{
+          msg = "Les fiches <br>"+ strTitre+" vont être renvoyées à la saisie";
+        }
+        break;
+      case 2:
+        if(typeof(tabCheckbox.length)!="undefined"){
+          for (var i=0; i<tabCheckbox.length; i++){
+            //case cochée et statut en cours
+            if(tabCheckbox[i].checked && document.action_form.elements["statut_"+tabCheckbox[i].value].value == 1){
+              var tabInfoMetadata = tabCheckbox[i].value.split("_");
+              metadataList+=tabInfoMetadata[1]+",";
+              nbFiche ++;
+              strTitre+= "<b>"+document.action_form.elements["titre_"+tabCheckbox[i].value].value + "</b><br>";
+            }
+          }
+        }else{ //only one checkbox
+          if(tabCheckbox.checked && document.action_form.elements["statut_"+tabCheckbox.value].value == 1){
+            var tabInfoMetadata = tabCheckbox.value.split("_");
+            metadataList+=tabInfoMetadata[1]+",";
+            nbFiche ++;
+            strTitre+= "<b>"+document.action_form.elements["titre_"+tabCheckbox.value].value + "</b><br>";
+          }
+        }
+        if (nbFiche==0){
+          Ext.Msg.alert("Actions sur la sélection", "Impossible de réaliser l'action demandée pour les métadonnées sélectionnées");
+          return;
+        }else if(nbFiche==1){
+          msg = "La fiche "+ strTitre+" va être proposée pour validation";
+        }else{
+          msg = "Les fiches <br>"+ strTitre+" vont être proposées pour validation";
+        }
+        
+        break;
+      case 3:
+        if(typeof(tabCheckbox.length)!="undefined"){
+          for (var i=0; i<tabCheckbox.length; i++){
+            //case cochée et statut attente validation ou en cours (si mode proposition désactivé)
+            if(tabCheckbox[i].checked && (document.action_form.elements["statut_"+tabCheckbox[i].value].value == 2 
+                || (modePropositionActif =="off" && document.action_form.elements["statut_"+tabCheckbox[i].value].value == 1) )){
+              var tabInfoMetadata = tabCheckbox[i].value.split("_");
+              metadataList+=tabInfoMetadata[1]+",";
+              nbFiche ++;
+              strTitre+= "<b>"+document.action_form.elements["titre_"+tabCheckbox[i].value].value + "</b><br>";
+            }
+          }
+        }else{ //only one checkbox
+          if(tabCheckbox.checked && (document.action_form.elements["statut_"+tabCheckbox.value].value == 2 
+              || (modePropositionActif =="off" && document.action_form.elements["statut_"+tabCheckbox.value].value == 1) )){
+            var tabInfoMetadata = tabCheckbox.value.split("_");
+            metadataList+=tabInfoMetadata[1]+",";
+            nbFiche ++;
+            strTitre+= "<b>"+document.action_form.elements["titre_"+tabCheckbox.value].value + "</b><br>";
+          }
+        }
+        if (nbFiche==0){
+          Ext.Msg.alert("Actions sur la sélection", "Impossible de réaliser l'action demandée pour les métadonnées sélectionnées");
+          return;
+        }else if(nbFiche==1){
+          msg = "La fiche "+ strTitre+" va être validée et proposée pour publication";
+        }else{
+          msg = "Les fiches <br>"+ strTitre+" vont être validées et proposées pour publication";
+        }
+        
+        break;
+      case 4:
+        if(typeof(tabCheckbox.length)!="undefined"){
+          for (var i=0; i<tabCheckbox.length; i++){
+            //case cochée et statut validée
+            if(tabCheckbox[i].checked && document.action_form.elements["statut_"+tabCheckbox[i].value].value == 3){
+              var tabInfoMetadata = tabCheckbox[i].value.split("_");
+              metadataList+=tabInfoMetadata[1]+",";
+              nbFiche ++;
+              strTitre+= "<b>"+document.action_form.elements["titre_"+tabCheckbox[i].value].value + "</b><br>";
+              
+            }
+          }
+        }else{//only one checkbox
+          if(tabCheckbox.checked && document.action_form.elements["statut_"+tabCheckbox.value].value == 3){
+            var tabInfoMetadata = tabCheckbox.value.split("_");
+            metadataList+=tabInfoMetadata[1]+",";
+            nbFiche ++;
+            strTitre+= "<b>"+document.action_form.elements["titre_"+tabCheckbox.value].value + "</b><br>";
+            
+          }
+        }
+        if (nbFiche==0){
+          Ext.Msg.alert("Actions sur la sélection", "Impossible de réaliser l'action demandée pour les métadonnées sélectionnées");
+          return;
+        }else if(nbFiche==1){
+          msg = "La fiche "+ strTitre+" va être publiée";
+        }else{
+          msg = "Les fiches <br>"+ strTitre+" vont être publiées";
+        }
+        break;
+      default:
+        return;
+        break;
+    }
+   
+    var iframe = this;
+    iframe.tabParams = new Array(metadataList, statut, mode);
+    iframe.onSuccess = changeStatutCarto;
+    Ext.Msg.confirm('Changement de statut', msg, confirm, iframe);
+    */
+  }
+  catch(e){}
+}
+
+/**
+ * @version 3.2
+ * @brief effectue l'action de modification de statut d'un ensemble de métadonnées
+ * @param metadataList
+ * @param statut
+ * @param mode
+ * @param onSuccess
+ * @return
+ */
+function changeStatutCarto(metadataList, statut, mode, onSuccess){
+  
+  var iframe = this;
+  var ajaxUrl = IHM_getBaseUrl()+"administration_carto_Action.php";
+  var queryParams = {action:"valid",metadataId:metadataList,statut:statut,mode:mode};
+  iframe.tabParams = null;
+  iframe.onSuccess = function(responseText){
+    var oRes = eval("("+responseText+")");
+    if ( oRes.success ) {
+      onSuccess();
+    } else {
+      Ext.Msg.alert("Echec", oRes.msg);
+    }
+  };
+  AjaxRequest(ajaxUrl, queryParams, iframe);
+  
+  /**
+   * @deprecated v3.2 - 07/03/2012
+   */
+  /*
+  var   curdom = null;
+  var   cursdom = null;
+  params = document.location.search.substr(1).split("&");
+  for (i = 0; i < params.length; i++)
+  {
+    param = params[i].split("=");
+    if (param[0] == "domaine")
+      curdom = param[1];
+    if (param[0] == "sousdomaine")
+      cursdom = param[1];
+  }
+  var url = IHM_getBaseUrl();
+  url += "administration_carto_Action.php?action=valid";
+  if (curdom)
+  {
+    url += "&domaine=" + escape(curdom);
+    if (cursdom)
+      url += "&sousdomaine=" + escape(cursdom);
+  }
+  url += "&metadataId=" + metadataList.substr(0, metadataList.length-1) + "&statut=" + statut + "&mode=" + mode;
+  window.location = url;
+  */
+}
+/**
+ * @brief Ouvre geosource pour éditer la fiche de métadonnées
+ * @param pk_objet
+ * @param pk_objet_dep
+ * @param meta_id
+ * @param statut
+ * @param mode
+ * @return
+ */
+function	administration_carto_editFiche(pk_objet, pk_objet_dep, meta_id, statut, mode, bHasRightPublication)
+{
+	switch(statut)
+	{
+		case -1: // pas de fiche
+		  
+		  var iframe = this;
+		  iframe.tabParams = new Array(pk_objet);
+		  iframe.onSuccess = administration_carto_createFiche;
+		  Ext.Msg.confirm("Edition de métadonnée", "Aucune fiche n'est associée à la " + mode + ".\nUne nouvelle fiche va être créée.", confirm, iframe);
+		
+			break;
+		case 1: // saisie
+		case 2: // attente validation
+			try
+			{
+				IHM_Fiche_Edit(meta_id, mode);
+			}
+			catch(e){}
+			break;
+		case 3: // validée
+		case 4: // publiée
+			if(bHasRightPublication){
+			  try
+	      {
+	        IHM_Fiche_Edit(meta_id, mode);
+	      }
+	      catch(e){}
+			}else
+			{
+			  var iframe = this;
+	      iframe.tabParams = new Array(pk_objet, pk_objet_dep, mode, meta_id);
+	      iframe.onSuccess = administration_carto_DuplicateFiche;
+	      Ext.Msg.confirm("Edition de métadonnée", "La fiche doit être dupliquée pour pouvoir être éditée. Voulez-vous dupliquer cette fiche ?", confirm, iframe);
+			}
+			break;
+		default:
+			break;
+	}
+}
+
+/**
+ * 
+ * @param pk_objet
+ * @return
+ */
+function administration_carto_createFiche(pk_objet){
+  IHM_Chargement_start();
+  switch(mode)
+  {
+  case "couche":
+    window.location = "/geonetwork/srv/fre/metadata.create.new?id=2&group=2&couche=" + pk_objet;
+    break;
+  case "carte":
+    window.location = "/geonetwork/srv/fre/metadata.create.new?id=3&group=2&carte=" + pk_objet;
+    break;
+  }
+}
+
+/**
+ * 
+ * @param pk_objet
+ * @param pk_objet_dep
+ * @param mode
+ * @param meta_id
+ * @return
+ */
+function administration_carto_DuplicateFiche(pk_objet, pk_objet_dep, mode, meta_id){
+  switch(mode)
+  {
+  case "couche":
+    administration_carto_copyCouche(pk_objet, meta_id);
+    break;
+  case "carte":
+    administration_carto_copyMap(pk_objet, pk_objet_dep, meta_id);
+    break;
+  }
+}
+
+/**
+ * 
+ * @param meta_id identifiant de la métadonnée dans Géosource
+ * @return
+ */
+function administration_carto_addFicheEnfant(meta_id, domaine, sousdomaine){
+  
+  var url;
+  url = IHM_getBaseUrl();
+  url += "administration_donnees_ajout.php?domaine="+domaine+
+        (sousdomaine!="" ? "&sousdomaine="+sousdomaine : "")+
+        "&child=y&metadataId=" + escape(meta_id);
+  window.location = url;
+  
+
+}
+  
+
+/**
+ * @brief Copie la carte
+ * @param pk_carte
+ * @param pk_stockage_carte
+ * @param meta_id
+ * @return
+ */
+function	administration_carto_copyMap(pk_carte, pk_stockage_carte, meta_id)
+{
+	var url;
+	url = IHM_getBaseUrl();
+	url += "administration_carto_copy.php?action=copy&metadataId=" + escape(meta_id) + "&stockageCarteId=" + pk_stockage_carte + "&carteId=" + pk_carte + "&mode=carte";
+	window.location = url;
+}
+
+/**
+ * @brief Copie la couche
+ * @param pk_couche
+ * @param meta_id
+ * @param domaine
+ * @param sousdomaine
+ * @return
+ */
+function	administration_carto_copyCouche(pk_couche, meta_id, domaine, sousdomaine)
+{
+	var	url;
+	url = IHM_getBaseUrl();
+	url += "administration_carto_copy.php?action=copy&metadataId=" + escape(meta_id) + "&coucheId=" + pk_couche + "&mode=couche"
+	      +"&domaine="+domaine+"&sousdomaine="+sousdomaine;
+	window.location = url;
+}
+
+
+/**
+ * @brief Copie la couche majic
+ * @param pk_couche
+ * @param meta_id
+ * @param domaine
+ * @param sousdomaine
+ * @return
+ */
+function  administration_carto_copyMajic(pk_couche, meta_id, domaine, sousdomaine)
+{
+  var url;
+  url = IHM_getBaseUrl();
+  url += "administration_carto_Action.php?action=copy&metadataId=" + escape(meta_id) + "&coucheId=" + pk_couche + "&mode=majic"
+        +"&domaine="+domaine+"&sousdomaine="+sousdomaine;
+  window.location = url;
+}
+
+/**
+ * @brief Validation de la duplication
+ */
+function administration_copy_valider(mode){
+	var form = document.form_copy;
+	var name = form.NOM;
+	var serveur = document.getElementById("SERVEUR");
+	var modele = /^[a-z]+[a-z0-9_]*$/i;
+  if (modele.test(name.value)){
+  }
+  else{
+    Ext.Msg.alert("Duplication", "Le nom de fichier saisi ne doit pas contenir de caractères\n" +
+          "accentués ou non alphanumériques comme -()\"'. etc.");
+    return;
+  }
+	if(in_array(name.value, tabData[serveur])){
+    if(mode =="couche")
+      Ext.Msg.alert("Ajout de données", "Une table portant ce nom existe déjà.");
+    else
+      Ext.Msg.alert("Ajout de carte", "Une carte portant ce nom existe déjà.");
+    return;
+  } 
+	if(form){
+		form.submit();
+	}
+}
+
+/**
+ * @brief Montre la fiche de métadonnées de la couche à partir de la cartographie
+ * @param meta_id
+ * @return
+ */
+function	administration_carto_showFiche(meta_id)
+{
+	try
+	{
+		IHM_Fiche_Show(meta_id);
+	}
+	catch(e){}
+}
+
+/**
+ * @brief Ajoute une nouvelle carte
+ * @return
+ */
+function	administration_carto_ajoutCarte()
+{
+	try
+	{
+		IHM_Chargement_start();
+	}
+	catch(e){}
+	window.location = "administration_carto_ajout.php";
+}
+
+/**
+ * @brief Ajoute une nouvelle couche
+ * @return
+ */
+function	administration_carto_ajoutCouche()
+{
+	try
+	{
+		IHM_Chargement_start();
+	}
+	catch(e){}
+	window.location = "administration_donnees_ajout.php";
+}
+
+/**
+ * @brief Importe les données d'une couche
+ * @param pk_couche
+ * @return
+ */
+function	administration_carto_importCouche(pk_couche, metadata_id)
+{
+  var   curdom = null;
+  var   cursdom = null;
+  params = document.location.search.substr(1).split("&");
+  for (i = 0; i < params.length; i++)
+  {
+    param = params[i].split("=");
+    if (param[0] == "domaine")
+      curdom = param[1];
+    if (param[0] == "sousdomaine")
+      cursdom = param[1];
+  }
+  var url = IHM_getBaseUrl();
+  url += "Administration/Administration/Layers/LayersImportation.php?Id=" + pk_couche + "&metadata_id=" + metadata_id;
+  if (curdom)
+  {
+    url += "&domaine=" + escape(curdom);
+    if (cursdom)
+      url += "&sousdomaine=" + escape(cursdom);
+  }
+  window.location = url;
+}
+
+
+
+/**
+ * @brief Changer fichier d'une carte statique
+ * @param pk_couche
+ * @return
+ */
+function	administration_carto_changeStaticCarte(pk_carte, nom_fichier,fmeta_id)
+{
+  var url = IHM_getBaseUrl();
+  url += "administration_carto_changeStaticCarte.php?Id=" + pk_carte + "&file_name=" + nom_fichier+ "&fmeta_id="+fmeta_id;
+  window.location = url;
+}
+
+
+/**
+ * @brief open the map in a simplified mode to edit the default representation of the layer
+ * @param action : url to open
+ * @param login : login to connect paramCarto
+ * @param pwd : pwd to connect paramCarto
+ */
+function  administration_carto_paramCarto(action, login, pwd)
+{
+  //open map in popup
+  if(document.administration_carto){
+    document.administration_carto.login.value = login;
+    document.administration_carto.pass.value = pwd;
+    document.administration_carto.action = action;
+    administration_carto_win_cartodynamique = window.open("blank.html", "Cartographie_dynamique", "directories=0, fullscreen=yes, menubar=0, status=1, toolbar=0, resizable=1");
+    document.administration_carto.submit();
+  }
+  
+	//window.open(url, "default_layer_map", "directories=0, fullscreen=0, menubar=0, status=1, toolbar=0, resizable=1");
+}
+
+
+/**
+ * Réinitialisation de la représentation par défaut
+ */
+function reinitParamCarto(srvAdmin, layer_table){
+	  
+  var iframe = this; 
+  iframe.tabParams = new Array("");
+  var queryParams = {
+	layerMapFile : layer_table
+  }
+  var ajaxUrl = window.location.protocol+"//" + srvAdmin + "/PRRA/LayerMapInit.php";
+  iframe.onSuccess = reinitParamCartoSuccess;
+  AjaxRequest(ajaxUrl, queryParams, iframe);
+}
+
+function reinitParamCartoSuccess(){
+  Ext.Msg.alert("Succès", "La représentation par défaut a été réinitialisée");	
+}
+
+/**
+ * true if needle is in array (php equivalent)
+ * @param needle
+ * @param haystack
+ * @param argStrict
+ * @return
+ */
+function in_array (needle, haystack, argStrict) {
+   
+  var key = '', strict = !!argStrict; 
+  if (strict) {
+      for (key in haystack) {
+        if (haystack[key] === needle) {
+          return true;            
+        }
+      }
+  } else {
+      for (key in haystack) {
+        if (haystack[key] == needle) {   
+          return true;
+        }
+      }
+  }
+  return false;
+}
+
+function actionOnSelect(strMsg){
+  var tabCheckbox = document.action_form.action;
+  var hasOneChecked = false
+  if(typeof(tabCheckbox.length)!="undefined"){
+    for (var i=0; i<tabCheckbox.length; i++){
+      if(tabCheckbox[i].checked){
+        hasOneChecked = true;
+        break;
+      }
+    }
+  }else{//only one checkbox in html page
+    if(tabCheckbox.checked)
+      hasOneChecked = true;
+  }
+    
+  if(hasOneChecked){
+    if(document.getElementById("action_detail").style.display=="")
+      document.getElementById("action_detail").style.display="none";
+    else
+      document.getElementById("action_detail").style.display=""
+  }else{
+    Ext.Msg.alert("Actions sur la sélection", strMsg);
+  }
+}
+
+/**
+ * renomme un mapfile
+ * @param srv : url du serveur carto admin
+ * @param mapfile nom du mapfile existant
+ * @param pk_stockage_carte identifiant dans stockage_carte
+ * @return
+ */
+function map_change_name(srv, mapfile, pk_stockage_carte, urlBack){
+  var iframe = this;
+  iframe.onSuccess = mapfileRename;
+  iframe.tabParams = new Array(srv, mapfile.substr(0, mapfile.length-4), pk_stockage_carte, urlBack);
+  Ext.Msg.prompt('Changement de nom', 'Vous souhaitez modifier le nom du mapfile de la carte. Les contextes utilisant cette carte sont susceptibles de ne plus fonctionner.<br>'+
+                     'Le mapfile porte le nom: "'+mapfile.substr(0, mapfile.length-4)+'".<br>Entrez le nom du nouveau mapfile:', prompt, iframe);
+}
+
+function mapfileRename(srv, mapfile, pk_stockage_carte, urlBack, newName){
+  
+  var modele = /^[a-z]+[a-z0-9_]*$/i;
+  if (modele.test(newName)){
+  }
+  else{
+    Ext.Msg.alert("Changement de nom", "Le nom de fichier saisi ne doit pas contenir de caractères\n" +
+          "accentués ou non alphanumériques comme -()\"'. etc.");
+    return;
+  }
+  if (mapfile != ""){
+	var ajaxUrl = window.location.protocol+"//"+srv+"/PRRA/Administration/Administration/Maps/MapChangeName.php";
+	var iframe = this;
+	iframe.tabParams = new Array(pk_stockage_carte, newName);
+	iframe.onSuccess = successChangeName;
+	iframe.onFailure = function(){Ext.Msg.alert("Cartes", "Echec de l'opération")};
+	var queryParams = {
+	  MAPFILE : mapfile,
+	  pk_stockage_carte : pk_stockage_carte,
+	  NEW_MAPFILE: newName 
+    }
+	AjaxRequest(ajaxUrl, queryParams, iframe);
+	/*  
+    l_url     = window.location.protocol+"//"+srv+"/PRRA/Administration/Administration/Maps/MapChangeName.php";
+    l_url    += "?MAPFILE="+mapfile;
+    l_url    += "&pk_stockage_carte="+pk_stockage_carte;
+    l_url    += "&NEW_MAPFILE="+newName;
+    l_url    += "&url_retour="+urlBack;
+    IHM_Chargement_start();
+    window.location = l_url;*/
+  }
+}
+
+function successChangeName(pk_stockage_carte, newName, responseText){
+	eval("var responseJson = "+responseText);
+	if(responseJson.success==true){
+	  if(responseJson.mode==3){
+		Ext.alert("le nom du mapfile souhaité est déjà utilisé. Aucune opération réalisée.");  
+	  }else{
+		var iframe = this;
+		iframe.onSuccess = function(){Ext.Msg.alert("Cartes", "L'opération a été réalisée avec succès.")};
+		iframe.onFailure = function(){Ext.Msg.alert("Cartes", "Echec de l'opération")};
+		var queryParams = {
+		  pk_stockage_carte : pk_stockage_carte,
+		  NEW_MAPFILE: newName,
+		  action : "rename"
+	    }
+		AjaxRequest(IHM_getBaseUrl()+"administration_carto_Action.php", queryParams, iframe);
+	 }
+  }
+}
+
+
+/**
+ * @brief Ouvre la fenêtre de création/définition d'une vue
+ * @param metadata_id : identifiant de la métadonnée de vue
+ * @param desc_vue : titre de la la vue
+ * @param nom_vue : nom de la vue, sera utilisé cmme nom de la vue dans la base 
+ * @param urlBack : url de retour en sortie du module d'administration de vue (généralement l'url de la page courante)
+ * @param color_theme_id : identifiant du theme extjs de l'interface, passé au module d'administration de vue pour qu'il soit chargé dans le même thème extjs
+ * @param svrAdmin : adresse du serveur d'administartion ou se trouve le module d'administarion de vue
+ * @return nothing
+ */
+function administration_carto_adminView(metadata_id, desc_vue, nom_vue, urlBack, color_theme_id, svrAdmin)
+{  
+  var params = {
+	  pk_view : metadata_id,
+	  view_title : desc_vue,
+	  view_name : nom_vue,
+	  url_back : urlBack,
+	  view_type : -4
+  }
+  
+  var jsonParams = Ext.encode(params);
+  var token = TextEncode(jsonParams);
+  
+  var url = svrAdmin + "/join/" + token;
+
+  window.open(url, 'administration_carto_adminView');
+}
+
+
+
+/**
+ * @brief Ouvre la fenêtre de paramétrage de structure de cuche
+ * @param metadata_id : identifiant de la métadonnée
+ * @param nom_couche : nom de la couche à créer 
+ * @param urlBack : url de retour en sortie du module d'administration de vue (généralement l'url de la page courante)
+ * @param color_theme_id : identifiant du theme extjs de l'interface, passé au module d'administration de vue pour qu'il soit chargé dans le même thème extjs
+ * @param svrAdmin : adresse du serveur d'administartion ou se trouve le module d'administarion de vue
+ * @return nothing, redirect
+ */
+function administration_carto_creerStructure(catalogue, metadata_id, nom_couche, urlBack, color_theme_id, svrAdmin)
+{
+  var params = {
+    pk_data : metadata_id,
+    data_name : nom_couche,
+    url_back : urlBack,
+    theme_id_for_ext : color_theme_id 
+  }
+  
+  var jsonParams = Ext.encode(params);
+  var token = TextEncode(jsonParams);
+  
+  var url = catalogue.admincartoURL+"/importdata/table_structure/index/"+metadata_id+(nom_couche ? "/"+nom_couche : "");
+
+  window.open(url, 'administration_carto_creerStructure');
+}
+
+/**
+ * fonction appelée au chargement de la page d'admin des tables, permet de connaitre les vues utilisant les tables
+ * @param srvAdmin
+ * @param login
+ * @param passwd
+ * @param idx
+ * @return
+ */
+function checkTables(srvAdmin, login, passwd, idx){
+  if(document.getElementById("layerTables")){
+	  var tabLayers = eval(document.getElementById("layerTables").value);
+	  var iframe = this;
+	  iframe.tabParams = new Array("");
+	  var queryParams = {
+		  idx : idx,
+		  login : login,
+		  serviceName: 'getViewsFromTablenames', 
+		  passwd : passwd,
+		  parameters : Ext.encode({
+              tablenames : tabLayers
+          }) 
+	  }
+	  
+	  var ajaxUrl = window.location.protocol+"//" + srvAdmin + "/HTML_JOIN/gui/viewServices.php";
+	  iframe.onSuccess = showTablesResult;
+	  AjaxRequest(ajaxUrl, queryParams, iframe);
+	}
+}
+/**
+ * gere la visiblité et le contenu des boutons supprimer et liste des vues
+ * @param vide
+ * @param responseText
+ * @return
+ */
+function showTablesResult(vide, responseText){
+  eval("var responseJson = "+responseText);
+  var tabLayers = responseJson.data;
+  for(var layerName in tabLayers){
+	  if(document.getElementById("suppr_"+layerName)){
+		if(tabLayers[layerName].length==0){
+			document.getElementById("suppr_"+layerName).style.display="";
+		}else{
+		  if(document.getElementById("vues_"+layerName)){
+			strViewsMsg = "Liste&nbsp;des&nbsp;vues&nbsp;contenant&nbsp;la&nbsp;table:<br>";
+		    for(var i=0;i<tabLayers[layerName].length; i++){
+		      strViewsMsg+= "<b>"+tabViews[tabLayers[layerName][i]]+"</b><br>";
+		    }
+		    document.getElementById("vues_"+layerName).style.display="";
+			document.getElementById("vues_"+layerName).setAttribute('onclick',"Ext.Msg.alert('Administration de tables','"+strViewsMsg+"')"); 
+		  }
+		}
+	}
+  }
+}
+
+/**
+ * fonction appelée au chargement de la page d'admin des tables, permet de connaitre les vues utilisant les couches
+ * @param srvAdmin
+ * @param login
+ * @param passwd
+ * @param idx
+ * @return
+ */
+function checkLayers(srvAdmin, login, passwd, idx){
+  if(document.getElementById("layers")){
+	  var tabLayers = eval(document.getElementById("layers").value);
+	  var iframe = this;
+	  iframe.tabParams = new Array("");
+	  var queryParams = {
+		  idx : idx,
+		  login : login,
+		  serviceName: 'getViewsFromLayernames', 
+		  passwd : passwd,
+		  parameters : Ext.encode({
+              layernames : tabLayers
+          }) 
+	  }
+	  
+	  var ajaxUrl = window.location.protocol+"//" + srvAdmin + "/HTML_JOIN/gui/viewServices.php";
+	  iframe.onSuccess = showLayersResult;
+	  AjaxRequest(ajaxUrl, queryParams, iframe);
+	}
+}
+/**
+ * gere la visiblité et le contenu des boutons supprimer et liste des vues
+ * @param vide
+ * @param responseText
+ * @return
+ */
+function showLayersResult(vide, responseText){
+  eval("var responseJson = "+responseText);
+  var tabLayers = responseJson.data;
+  for(var layerName in tabLayers){
+    if(document.getElementById("suppr_"+layerName)){
+		if(tabLayers[layerName].length==0){
+			document.getElementById("suppr_"+layerName).style.display="";
+		}else{
+			 if(document.getElementById("vues_"+layerName)){
+				strViewsMsg = "Liste&nbsp;des&nbsp;vues&nbsp;contenant&nbsp;la&nbsp;table:<br>";
+				for(var i=0;i<tabLayers[layerName].length; i++){
+				  strViewsMsg+= "<b>"+tabViews[tabLayers[layerName][i]]+"</b><br>";
+				}
+				document.getElementById("vues_"+layerName).style.display="";
+				document.getElementById("vues_"+layerName).setAttribute('onclick',"Ext.Msg.alert('Administration de tables','"+strViewsMsg+"')"); 
+			  }
+			  //rEs(document.getElementById("suppr_"+layerName));
+		}
+	}
+  }
+}
+
+/**
+ * remove Dom Element
+ * @param tO element to delete
+ * @return
+ */
+function rEs(tO) { var i, n; if (!tO) { return false; }
+	if (!tO.nodeName) { if (tO.length) for (n=tO.length; n--;) rEs(tO[n]); }
+	else tO.parentNode.removeChild(tO);
+}
+
+function chooseModele(displayImport){
+ document.getElementById("parcourir_import").style.display=(displayImport ? "" : "none");
+}
diff --git a/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.css b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.css
new file mode 100644
index 0000000000000000000000000000000000000000..674b546a6f5dfbb40c98705fcff28c5c61d346c1
--- /dev/null
+++ b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.css
@@ -0,0 +1,126 @@
+/*!
+ * Bootstrap-submenu v2.0.4 (https://vsn4ik.github.io/bootstrap-submenu/)
+ * Copyright 2014-2016 Vasily A. (https://github.com/vsn4ik)
+ * Licensed under the MIT license
+ */
+
+.dropdown-submenu > a:after {
+  content: "";
+}
+
+@media (min-width: 768px) {
+  .dropdown-submenu {
+    position: relative;
+  }
+  .dropdown-submenu .dropdown-menu {
+    top: 0;
+    left: 100%;
+    margin-top: -6px;
+    border-top-left-radius: 0;
+  }
+  .dropup .dropdown-submenu .dropdown-menu,
+  .navbar-fixed-bottom .dropdown-submenu .dropdown-menu {
+    top: auto;
+    bottom: 0;
+    margin-top: 0;
+    margin-bottom: -6px;
+    border-top-left-radius: 4px;
+    border-bottom-left-radius: 0;
+  }
+  .dropdown-menu-right .dropdown-submenu .dropdown-menu,
+  .navbar-right .dropdown-submenu .dropdown-menu {
+    left: auto;
+    right: 100%;
+    border-top-left-radius: 4px;
+    border-top-right-radius: 0;
+  }
+  .dropup .dropdown-menu-right .dropdown-submenu .dropdown-menu,
+  .dropup .navbar-right .dropdown-submenu .dropdown-menu,
+  .navbar-fixed-bottom .dropdown-menu-right .dropdown-submenu .dropdown-menu,
+  .navbar-fixed-bottom .navbar-right .dropdown-submenu .dropdown-menu {
+    border-radius: 4px 4px 0;
+  }
+  .dropdown-submenu > a:after {
+    float: right;
+    margin-top: 6px;
+    margin-right: -10px;
+    border-left: 4px dashed;
+    border-top: 4px solid transparent;
+    border-bottom: 4px solid transparent;
+  }
+  .dropdown-menu-right .dropdown-submenu > a:after,
+  .navbar-right .dropdown-submenu > a:after {
+    float: left;
+    border-left: none;
+    margin-left: -10px;
+    margin-right: 0;
+    border-right: 4px dashed;
+    border-top: 4px solid transparent;
+    border-bottom: 4px solid transparent;
+  }
+}
+@media (max-width: 767px) {
+  .dropdown-submenu .dropdown-menu {
+    position: static;
+    margin-top: 0;
+    border: 0;
+    box-shadow: none;
+  }
+  .dropdown-submenu > a:after {
+    margin-left: 6px;
+    display: inline-block;
+    vertical-align: middle;
+    border-top: 4px dashed;
+    border-left: 4px solid transparent;
+    border-right: 4px solid transparent;
+  }
+  .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li.dropdown-header,
+  .dropup > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li.dropdown-header,
+  .btn-group > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li.dropdown-header,
+  .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > a,
+  .dropup > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > a,
+  .btn-group > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > a {
+    padding-left: 30px;
+  }
+  .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .dropup > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .btn-group > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > a,
+  .dropup > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > a,
+  .btn-group > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > a {
+    padding-left: 40px;
+  }
+  .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .dropup > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .btn-group > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > a,
+  .dropup > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > a,
+  .btn-group > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > a {
+    padding-left: 50px;
+  }
+  .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .dropup > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .btn-group > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > a,
+  .dropup > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > a,
+  .btn-group > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > a {
+    padding-left: 60px;
+  }
+  .navbar-nav > .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li.dropdown-header,
+  .navbar-nav > .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > a {
+    padding-left: 35px;
+  }
+  .navbar-nav > .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .navbar-nav > .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > a {
+    padding-left: 45px;
+  }
+  .navbar-nav > .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .navbar-nav > .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > a {
+    padding-left: 55px;
+  }
+  .navbar-nav > .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li.dropdown-header,
+  .navbar-nav > .dropdown > .dropdown-menu > .dropdown-submenu > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > .dropdown-menu > li > a {
+    padding-left: 65px;
+  }
+}
+/*# sourceMappingURL=bootstrap-submenu.css.map */
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.css.map b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.css.map
new file mode 100644
index 0000000000000000000000000000000000000000..4ab4300a18bed083501066969026cdeaae9810f0
--- /dev/null
+++ b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["less/bootstrap-submenu.less","less/mixins.less"],"names":[],"mappings":"AAYA,iBAAkB,IAAG;EACnB,SAAS,EAAT;;AA2DF,QAxD2C;EACzC;IACE,kBAAA;;EADF,iBAGE;IACE,MAAA;IACA,UAAA;IACA,gBAAA;IACA,yBAAA;;EAGA,OAAQ,kBAPV;EAQE,oBAAqB,kBARvB;IASI,SAAA;IACA,SAAA;IACA,aAAA;IACA,mBAAA;IACA,2BAAA;IACA,4BAAA;;EAGF,oBAAqB,kBAjBvB;EAkBE,aAAc,kBAlBhB;IAmBI,UAAA;IACA,WAAA;IAEA,2BAAA;IACA,0BAAA;;EAEA,OAAQ,qBARW,kBAjBvB;EAyBI,OAAQ,cAPI,kBAlBhB;EA0BI,oBAAqB,qBATF,kBAjBvB;EA0BI,oBAAqB,cART,kBAlBhB;IA2BM,wBAAA;;EA9BR,iBAmCE,IAAG;IACD,YAAA;IACA,eAAA;IACA,mBAAA;ICrDJ,uBAAA;IAEA,iCAAA;IACA,oCAAA;;EDsDI,oBAAqB,kBAPvB,IAAG;EAQD,aAAc,kBARhB,IAAG;IASC,WAAA;IACA,iBAAA;IACA,kBAAA;IACA,eAAA;IC9DN,wBAAA;IAEA,iCAAA;IACA,oCAAA;;;ADiGF,QA9B+C;EAC7C,iBACE;IACE,gBAAA;IACA,aAAA;IACA,SAAA;IACA,gBAAA;;EALJ,iBAQE,IAAG;IACD,gBAAA;IACA,qBAAA;IACA,sBAAA;IClFJ,sBAAA;IAEA,kCAAA;IACA,mCAAA;;EAKE,SDiFU,iBADG,oBCjFf,iBAAiB,KACd;EAAD,ODkFQ,iBAFK,oBCjFf,iBAAiB,KACd;EAAD,UDmFW,iBAHE,oBCjFf,iBAAiB,KACd;EDiFD,SAAU,iBADG,oBCjFf,iBAAiB,KAEf;EDiFA,OAAQ,iBAFK,oBCjFf,iBAAiB,KAEf;EDkFA,UAAW,iBAHE,oBCjFf,iBAAiB,KAEf;IACE,kBAAA;;EAFF,SDiFU,iBADG,oBCjFf,iBAAiB,KAAjB,iBAAiB,KACd;EAAD,ODkFQ,iBAFK,oBCjFf,iBAAiB,KAAjB,iBAAiB,KACd;EAAD,UDmFW,iBAHE,oBCjFf,iBAAiB,KAAjB,iBAAiB,KACd;EDiFD,SAAU,iBADG,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAEf;EDiFA,OAAQ,iBAFK,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAEf;EDkFA,UAAW,iBAHE,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAEf;IACE,kBAAA;;EAFF,SDiFU,iBADG,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KACd;EAAD,ODkFQ,iBAFK,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KACd;EAAD,UDmFW,iBAHE,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KACd;EDiFD,SAAU,iBADG,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAEf;EDiFA,OAAQ,iBAFK,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAEf;EDkFA,UAAW,iBAHE,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAEf;IACE,kBAAA;;EAFF,SDiFU,iBADG,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KACd;EAAD,ODkFQ,iBAFK,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KACd;EAAD,UDmFW,iBAHE,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KACd;EDiFD,SAAU,iBADG,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAEf;EDiFA,OAAQ,iBAFK,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAEf;EDkFA,UAAW,iBAHE,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAEf;IACE,kBAAA;;EAFF,WDuFY,YAAY,iBAPX,oBCjFf,iBAAiB,KACd;EDuFD,WAAY,YAAY,iBAPX,oBCjFf,iBAAiB,KAEf;IACE,kBAAA;;EAFF,WDuFY,YAAY,iBAPX,oBCjFf,iBAAiB,KAAjB,iBAAiB,KACd;EDuFD,WAAY,YAAY,iBAPX,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAEf;IACE,kBAAA;;EAFF,WDuFY,YAAY,iBAPX,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KACd;EDuFD,WAAY,YAAY,iBAPX,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAEf;IACE,kBAAA;;EAFF,WDuFY,YAAY,iBAPX,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KACd;EDuFD,WAAY,YAAY,iBAPX,oBCjFf,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAAjB,iBAAiB,KAEf;IACE,kBAAA","sourcesContent":["// :after: friends with IE8. Use ::after in future.\n\n@import \"../node_modules/bootstrap/less/variables.less\";\n@import \"mixins.less\";\n\n// Variables\n@caret-margin: -@caret-width-base * 2 - 2;\n\n//\n// Sub-Menus\n// --------------------------------------------------\n\n.dropdown-submenu > a:after {\n  content: \"\";\n}\n\n@media (min-width: @grid-float-breakpoint) {\n  .dropdown-submenu {\n    position: relative;\n\n    .dropdown-menu {\n      top: 0;\n      left: 100%;\n      margin-top: -6px;\n      border-top-left-radius: 0;\n\n      // Strictly before .dropdown-menu-right\n      .dropup &,\n      .navbar-fixed-bottom & {\n        top: auto;\n        bottom: 0;\n        margin-top: 0;\n        margin-bottom: -6px;\n        border-top-left-radius: @border-radius-base;\n        border-bottom-left-radius: 0;\n      }\n\n      .dropdown-menu-right &,\n      .navbar-right & {\n        left: auto;\n        right: 100%;\n\n        border-top-left-radius: @border-radius-base;\n        border-top-right-radius: 0;\n\n        .dropup &,\n        .navbar-fixed-bottom & {\n          border-radius: @border-radius-base @border-radius-base 0;\n        }\n      }\n    }\n\n    > a:after {\n      float: right;\n      margin-top: @line-height-computed / 2 - @caret-width-base;\n      margin-right: @caret-margin;\n\n      .make-caret(left, top, bottom);\n\n      .dropdown-menu-right &,\n      .navbar-right & {\n        float: left;\n        border-left: none;\n        margin-left: @caret-margin;\n        margin-right: 0;\n\n        .make-caret(right, top, bottom);\n      }\n    }\n  }\n}\n\n@media (max-width: @grid-float-breakpoint-max) {\n  .dropdown-submenu {\n    .dropdown-menu {\n      position: static;\n      margin-top: 0;\n      border: 0;\n      box-shadow: none;\n    }\n\n    > a:after {\n      margin-left: 6px;\n      display: inline-block;\n      vertical-align: middle;\n\n      .make-caret(top, left, right);\n    }\n  }\n\n  .dropdown-menu > .dropdown-submenu {\n    .dropdown > &,\n    .dropup > &,\n    .btn-group > & {\n      .make-nested-list(30px, 0, 4);\n    }\n\n    .navbar-nav > .dropdown > & {\n      .make-nested-list(35px, 0, 4);\n    }\n  }\n}\n",".make-caret(@base, @left, @right) {\n  // dashed: fix caret size for Mozilla Firefox\n  border-@{base}: @caret-width-base dashed;\n\n  border-@{left}: @caret-width-base solid transparent;\n  border-@{right}: @caret-width-base solid transparent;\n}\n\n.make-nested-list(@offset, @i, @n) when (@i < @n) {\n  > .dropdown-menu > li {\n    &.dropdown-header,\n    > a {\n      padding-left: @offset + (10 * @i);\n    }\n\n    .make-nested-list(@offset, @i + 1, @n);\n  }\n}\n"]}
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.min.css b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.min.css
new file mode 100644
index 0000000000000000000000000000000000000000..bd7f2e948f42189fc9e8b0551e063f3701042020
--- /dev/null
+++ b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/css/bootstrap-submenu.min.css
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap-submenu v2.0.4 (https://vsn4ik.github.io/bootstrap-submenu/)
+ * Copyright 2014-2016 Vasily A. (https://github.com/vsn4ik)
+ * Licensed under the MIT license
+ */
+
+.dropdown-submenu>a:after{content:""}@media (min-width:768px){.dropdown-submenu{position:relative}.dropdown-submenu .dropdown-menu{top:0;left:100%;margin-top:-6px;border-top-left-radius:0}.dropup .dropdown-submenu .dropdown-menu,.navbar-fixed-bottom .dropdown-submenu .dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-6px;border-top-left-radius:4px;border-bottom-left-radius:0}.dropdown-menu-right .dropdown-submenu .dropdown-menu,.navbar-right .dropdown-submenu .dropdown-menu{left:auto;right:100%;border-top-left-radius:4px;border-top-right-radius:0}.dropup .dropdown-menu-right .dropdown-submenu .dropdown-menu,.dropup .navbar-right .dropdown-submenu .dropdown-menu,.navbar-fixed-bottom .dropdown-menu-right .dropdown-submenu .dropdown-menu,.navbar-fixed-bottom .navbar-right .dropdown-submenu .dropdown-menu{border-radius:4px 4px 0}.dropdown-submenu>a:after{float:right;margin-top:6px;margin-right:-10px;border-left:4px dashed;border-top:4px solid transparent;border-bottom:4px solid transparent}.dropdown-menu-right .dropdown-submenu>a:after,.navbar-right .dropdown-submenu>a:after{float:left;border-left:none;margin-left:-10px;margin-right:0;border-right:4px dashed;border-top:4px solid transparent;border-bottom:4px solid transparent}}@media (max-width:767px){.dropdown-submenu .dropdown-menu{position:static;margin-top:0;border:0;box-shadow:none}.dropdown-submenu>a:after{margin-left:6px;display:inline-block;vertical-align:middle;border-top:4px dashed;border-left:4px solid transparent;border-right:4px solid transparent}.btn-group>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li.dropdown-header,.btn-group>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>a,.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li.dropdown-header,.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>a,.dropup>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li.dropdown-header,.dropup>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>a{padding-left:30px}.btn-group>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.btn-group>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>a,.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>a,.dropup>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.dropup>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>a{padding-left:40px}.btn-group>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.btn-group>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>a,.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>a,.dropup>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.dropup>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>a{padding-left:50px}.btn-group>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.btn-group>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>a,.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>a,.dropup>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.dropup>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>a{padding-left:60px}.navbar-nav>.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li.dropdown-header,.navbar-nav>.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>a{padding-left:35px}.navbar-nav>.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.navbar-nav>.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>a{padding-left:45px}.navbar-nav>.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.navbar-nav>.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>a{padding-left:55px}.navbar-nav>.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li.dropdown-header,.navbar-nav>.dropdown>.dropdown-menu>.dropdown-submenu>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>.dropdown-menu>li>a{padding-left:65px}}
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/js/bootstrap-submenu.js b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/js/bootstrap-submenu.js
new file mode 100644
index 0000000000000000000000000000000000000000..4f202a1181df164faaaaab9918f4e36b63536086
--- /dev/null
+++ b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/js/bootstrap-submenu.js
@@ -0,0 +1,195 @@
+/*!
+ * Bootstrap-submenu v2.0.4 (https://vsn4ik.github.io/bootstrap-submenu/)
+ * Copyright 2014-2016 Vasily A. (https://github.com/vsn4ik)
+ * Licensed under the MIT license
+ */
+
+/**
+ * $.inArray: friends with IE8. Use Array.prototype.indexOf in future.
+ * $.proxy: friends with IE8. Use Function.prototype.bind in future.
+ */
+
+'use strict';
+
+(function(factory) {
+  if (typeof define == 'function' && define.amd) {
+    // AMD. Register as an anonymous module
+    define(['jquery'], factory);
+  }
+  else if (typeof exports == 'object') {
+    // Node/CommonJS
+    module.exports = factory(require('jquery'));
+  }
+  else {
+    // Browser globals
+    factory(jQuery);
+  }
+})(function($) {
+  function Item(element) {
+    this.$element = $(element);
+    this.$menu = this.$element.closest('.dropdown-menu');
+    this.$main = this.$menu.parent();
+    this.$items = this.$menu.children('.dropdown-submenu');
+
+    this.init();
+  }
+
+  Item.prototype = {
+    init: function() {
+      this.$element.on('keydown', $.proxy(this, 'keydown'));
+    },
+    close: function() {
+      this.$main.removeClass('open');
+      this.$items.trigger('hide.bs.submenu');
+    },
+    keydown: function(event) {
+      // 27: Esc
+
+      if (event.keyCode == 27) {
+        event.stopPropagation();
+
+        this.close();
+        this.$main.children('a, button').trigger('focus');
+      }
+    }
+  };
+
+  function SubmenuItem(element) {
+    this.$element = $(element);
+    this.$main = this.$element.parent();
+    this.$menu = this.$main.children('.dropdown-menu');
+    this.$subs = this.$main.siblings('.dropdown-submenu');
+    this.$items = this.$menu.children('.dropdown-submenu');
+
+    this.init();
+  }
+
+  $.extend(SubmenuItem.prototype, Item.prototype, {
+    init: function() {
+      this.$element.on({
+        click: $.proxy(this, 'click'),
+        keydown: $.proxy(this, 'keydown')
+      });
+
+      this.$main.on('hide.bs.submenu', $.proxy(this, 'hide'));
+    },
+    click: function(event) {
+      // Fix a[href="#"]. For community
+      event.preventDefault();
+
+      event.stopPropagation();
+
+      this.toggle();
+    },
+    hide: function(event) {
+      // Stop event bubbling
+      event.stopPropagation();
+
+      this.close();
+    },
+    open: function() {
+      this.$main.addClass('open');
+      this.$subs.trigger('hide.bs.submenu');
+    },
+    toggle: function() {
+      if (this.$main.hasClass('open')) {
+        this.close();
+      }
+      else {
+        this.open();
+      }
+    },
+    keydown: function(event) {
+      // 13: Return, 32: Spacebar
+
+      if (event.keyCode == 32) {
+        // Off vertical scrolling
+        event.preventDefault();
+      }
+
+      if ($.inArray(event.keyCode, [13, 32]) != -1) {
+        this.toggle();
+      }
+    }
+  });
+
+  function Submenupicker(element) {
+    this.$element = $(element);
+    this.$main = this.$element.parent();
+    this.$menu = this.$main.children('.dropdown-menu');
+    this.$items = this.$menu.children('.dropdown-submenu');
+
+    this.init();
+  }
+
+  Submenupicker.prototype = {
+    init: function() {
+      this.$menu.off('keydown.bs.dropdown.data-api');
+      this.$menu.on('keydown', $.proxy(this, 'itemKeydown'));
+
+      this.$menu.find('li > a').each(function() {
+        new Item(this);
+      });
+
+      this.$menu.find('.dropdown-submenu > a').each(function() {
+        new SubmenuItem(this);
+      });
+
+      this.$main.on('hidden.bs.dropdown', $.proxy(this, 'hidden'));
+    },
+    hidden: function() {
+      this.$items.trigger('hide.bs.submenu');
+    },
+    itemKeydown: function(event) {
+      // 38: Arrow up, 40: Arrow down
+
+      if ($.inArray(event.keyCode, [38, 40]) != -1) {
+        // Off vertical scrolling
+        event.preventDefault();
+
+        event.stopPropagation();
+
+        var $items = this.$menu.find('li:not(.disabled):visible > a');
+        var index = $items.index(event.target);
+
+        if (event.keyCode == 38 && index !== 0) {
+          index--;
+        }
+        else if (event.keyCode == 40 && index !== $items.length - 1) {
+          index++;
+        }
+        else {
+          return;
+        }
+
+        $items.eq(index).trigger('focus');
+      }
+    }
+  };
+
+  var old = $.fn.submenupicker;
+
+  // For AMD/Node/CommonJS used elements (optional)
+  // http://learn.jquery.com/jquery-ui/environments/amd/
+  $.fn.submenupicker = function(elements) {
+    var $elements = this instanceof $ ? this : $(elements);
+
+    return $elements.each(function() {
+      var data = $.data(this, 'bs.submenu');
+
+      if (!data) {
+        data = new Submenupicker(this);
+
+        $.data(this, 'bs.submenu', data);
+      }
+    });
+  };
+
+  $.fn.submenupicker.Constructor = Submenupicker;
+  $.fn.submenupicker.noConflict = function() {
+    $.fn.submenupicker = old;
+    return this;
+  };
+
+  return $.fn.submenupicker;
+});
diff --git a/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/js/bootstrap-submenu.min.js b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/js/bootstrap-submenu.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..ab71e0b10500b9f06f6fa6e985f79f66000189e2
--- /dev/null
+++ b/src/main/webapp/apps_extend/bootstrap-submenu-2.0.4/js/bootstrap-submenu.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap-submenu v2.0.4 (https://vsn4ik.github.io/bootstrap-submenu/)
+ * Copyright 2014-2016 Vasily A. (https://github.com/vsn4ik)
+ * Licensed under the MIT license
+ */
+
+"use strict";!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){function b(b){this.$element=a(b),this.$menu=this.$element.closest(".dropdown-menu"),this.$main=this.$menu.parent(),this.$items=this.$menu.children(".dropdown-submenu"),this.init()}function c(b){this.$element=a(b),this.$main=this.$element.parent(),this.$menu=this.$main.children(".dropdown-menu"),this.$subs=this.$main.siblings(".dropdown-submenu"),this.$items=this.$menu.children(".dropdown-submenu"),this.init()}function d(b){this.$element=a(b),this.$main=this.$element.parent(),this.$menu=this.$main.children(".dropdown-menu"),this.$items=this.$menu.children(".dropdown-submenu"),this.init()}b.prototype={init:function(){this.$element.on("keydown",a.proxy(this,"keydown"))},close:function(){this.$main.removeClass("open"),this.$items.trigger("hide.bs.submenu")},keydown:function(a){27==a.keyCode&&(a.stopPropagation(),this.close(),this.$main.children("a, button").trigger("focus"))}},a.extend(c.prototype,b.prototype,{init:function(){this.$element.on({click:a.proxy(this,"click"),keydown:a.proxy(this,"keydown")}),this.$main.on("hide.bs.submenu",a.proxy(this,"hide"))},click:function(a){a.preventDefault(),a.stopPropagation(),this.toggle()},hide:function(a){a.stopPropagation(),this.close()},open:function(){this.$main.addClass("open"),this.$subs.trigger("hide.bs.submenu")},toggle:function(){this.$main.hasClass("open")?this.close():this.open()},keydown:function(b){32==b.keyCode&&b.preventDefault(),-1!=a.inArray(b.keyCode,[13,32])&&this.toggle()}}),d.prototype={init:function(){this.$menu.off("keydown.bs.dropdown.data-api"),this.$menu.on("keydown",a.proxy(this,"itemKeydown")),this.$menu.find("li > a").each(function(){new b(this)}),this.$menu.find(".dropdown-submenu > a").each(function(){new c(this)}),this.$main.on("hidden.bs.dropdown",a.proxy(this,"hidden"))},hidden:function(){this.$items.trigger("hide.bs.submenu")},itemKeydown:function(b){if(-1!=a.inArray(b.keyCode,[38,40])){b.preventDefault(),b.stopPropagation();var c=this.$menu.find("li:not(.disabled):visible > a"),d=c.index(b.target);if(38==b.keyCode&&0!==d)d--;else{if(40!=b.keyCode||d===c.length-1)return;d++}c.eq(d).trigger("focus")}}};var e=a.fn.submenupicker;return a.fn.submenupicker=function(b){var c=this instanceof a?this:a(b);return c.each(function(){var b=a.data(this,"bs.submenu");b||(b=new d(this),a.data(this,"bs.submenu",b))})},a.fn.submenupicker.Constructor=d,a.fn.submenupicker.noConflict=function(){return a.fn.submenupicker=e,this},a.fn.submenupicker});
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/css/apps_extend.css b/src/main/webapp/apps_extend/css/apps_extend.css
new file mode 100644
index 0000000000000000000000000000000000000000..8bfcd9a4a9786a74c4fe4522a36b052cc8cb23b8
--- /dev/null
+++ b/src/main/webapp/apps_extend/css/apps_extend.css
@@ -0,0 +1,119 @@
+
+input.ng-invalid, textarea.ng-invalid 
+{
+  border-color: red;
+}
+ 
+#metadataCart .modal-body 
+{
+  overflow:auto;
+  max-height : 300px;
+}
+ 
+.dropdown-menu .loading {
+  font-size: 20px;
+  right: 0%;
+  top: 0%;
+  background-color: transparent;
+  left: initial;
+}
+
+.gn-resultview .gn-md-links .dropdown-menu li a {
+  padding-top: 4px;
+  padding-bottom: 4px;
+}
+
+.pull-right .metadataActions{
+  left : initial !important;
+  right : 0 !important;
+}
+
+.big-logo{
+  min-height : 50px;
+  max-height : 70px;
+  min-width : 50px;
+  max-width : 70px;
+  margin-right : 10px; 
+  float:left;
+}
+
+button.prodige-menu{
+  background-color:darkgreen;color:white
+}
+.prodige-home h1{
+  font-size:34px !important;
+}
+
+.legend-metadata li {
+  height: 30px;
+  width : 360px;
+  display : block;
+  padding : 5px;
+}
+.legend-metadata .icon {
+  border: solid 1px #000000;
+  height: 15px;
+  width: 30px;
+  float: left;
+  margin-right:5px;
+}
+li.list-group-item:hover {
+  box-shadow : 5px 5px 10px -5px !important;
+}
+
+.metadata-nonGeographicDataset
+{  background-color: rgba(218,218,218,1) !important; /* #DADADA */ }
+//li.metadata-nonGeographicDataset:hover
+//{  background-color: rgba(218,218,218,0.65) !important;  }
+
+.metadata-vector, .metadata-dataset
+{  background-color: rgba(222,236,253,1) !important; /* #DEECFD */ }
+//li.metadata-vector:hover, li.metadata-dataset:hover
+//{  background-color: rgba(222,236,253,0.65) !important; }
+
+.metadata-grid, .metadata-raster
+{  background-color: rgba(175,211,255,1) !important; /* #AFD3FF */ }
+//li.metadata-grid:hover, li.metadata-raster:hover
+//{  background-color: rgba(175,211,255,0.65) !important; }
+
+.metadata-textTable
+{  background-color: rgba(175,188,210,1) !important; /* #AFBCD2 */ }
+//li.metadata-textTable:hover
+//{  background-color: rgba(175,188,210,0.65) !important; }
+
+.metadata-series
+{  background-color: rgba(255,216,241,1) !important; /* #FFD8F1 */ }
+//li.metadata-series:hover
+//{  background-color: rgba(255,216,241,0.65) !important; }
+
+.metadata-service
+{  background-color: rgba(253,235,196,1) !important; /* #FDEBC4 */ }
+//li.metadata-service:hover
+//{  background-color: rgba(253,235,196,0.65) !important; }
+
+.metadata-carte, .metadata-map
+{  background-color: rgba(229,242,211,1) !important; /* #E5F2D3 */ }
+//li.metadata-carte:hover, li.metadata-map:hover
+//{  background-color: rgba(229,242,211,0.65) !important; }
+
+.metadata-chart
+{  background-color: rgba(220,193,241,1) !important; /* dcc1f1 */ }
+
+table.contribute-search-results > tbody > tr > td {
+  vertical-align: middle;
+}
+
+table.contribute-search-results  > tbody > tr > td .btn-group {
+  display: block;
+}
+
+.open > .dropdown-menu.metadataActions {
+  overflow-y: inherit;
+}
+
+/* thumbnail width */ 
+.gn-md-view .gn-md-side .gn-img-thumbnail, .gn-md-view .gn-md-side .gn-img-extent {
+  width: auto;
+}
+
+div[data-results=searchResults] div.gn-selection-actions li:last-child {content:'';display:none !important; }
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/images/FitAll_OFF.gif b/src/main/webapp/apps_extend/images/FitAll_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e4052ec7c6ad70856f80fd816d2dbdba9cc907d6
Binary files /dev/null and b/src/main/webapp/apps_extend/images/FitAll_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/FitAll_ON.gif b/src/main/webapp/apps_extend/images/FitAll_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5792ba995f744470fbdc7788dbc77209db21ab81
Binary files /dev/null and b/src/main/webapp/apps_extend/images/FitAll_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Infos_OFF.gif b/src/main/webapp/apps_extend/images/Infos_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..be55af29a66eb9383b1b3b5e1924c9bcc07d7efc
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Infos_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Infos_ON.gif b/src/main/webapp/apps_extend/images/Infos_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9837828bca18e512916e70d7d8c08e001cd3f6d2
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Infos_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Marianne.jpg b/src/main/webapp/apps_extend/images/Marianne.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..97b75359219be656e36d45e97dadeb16fba61a29
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Marianne.jpg differ
diff --git a/src/main/webapp/apps_extend/images/Mesure_OFF.gif b/src/main/webapp/apps_extend/images/Mesure_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ec0fd01e74d9b84e07a33a3322a86ad20e8b3cfb
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Mesure_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Mesure_ON.gif b/src/main/webapp/apps_extend/images/Mesure_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..544de2ff741af551b2de52d71d17087c9e0efff2
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Mesure_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Minimiser.gif b/src/main/webapp/apps_extend/images/Minimiser.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c010ed1e621b1ac67e8e80415ae27d1d27de3db2
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Minimiser.gif differ
diff --git a/src/main/webapp/apps_extend/images/Oeil.gif b/src/main/webapp/apps_extend/images/Oeil.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b812b6c9586bdd597cdd9dc52a9ffbf9f76fd9b6
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Oeil.gif differ
diff --git a/src/main/webapp/apps_extend/images/PRRA.gif b/src/main/webapp/apps_extend/images/PRRA.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c878cbd5a4b4ff8f8978246098f814778e9f6213
Binary files /dev/null and b/src/main/webapp/apps_extend/images/PRRA.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_Est_OFF.gif b/src/main/webapp/apps_extend/images/Pan_Est_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cb9e442a303c3fa9254613b9e649d6a217d8b6a1
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_Est_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_Est_ON.gif b/src/main/webapp/apps_extend/images/Pan_Est_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..11112ebcdab7d43067e6bf524b57c9e8b4fe76d0
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_Est_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_NordEst_OFF.gif b/src/main/webapp/apps_extend/images/Pan_NordEst_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b7011b736602619fc7113529a9b1c45f20f1c49
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_NordEst_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_NordEst_ON.gif b/src/main/webapp/apps_extend/images/Pan_NordEst_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..aa796a74e0b836dd19b77ed7cc293b1588b0302e
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_NordEst_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_NordOuest_OFF.gif b/src/main/webapp/apps_extend/images/Pan_NordOuest_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f110cf7f6388f8a5a3d1f02644d7132e0f09d515
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_NordOuest_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_NordOuest_ON.gif b/src/main/webapp/apps_extend/images/Pan_NordOuest_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c239cd777d5489dd33d4a71f3469e3c457326de0
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_NordOuest_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_Nord_OFF.gif b/src/main/webapp/apps_extend/images/Pan_Nord_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..115a60efc557ce3400d3bbb9f8ce72f0ffc8c697
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_Nord_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_Nord_ON.gif b/src/main/webapp/apps_extend/images/Pan_Nord_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6fbc172db61499e274122d99ad617f705b48d798
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_Nord_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_OFF.gif b/src/main/webapp/apps_extend/images/Pan_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7ee53abecee1b0ec248bf16f5e7d83737d7b4dd6
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_ON.gif b/src/main/webapp/apps_extend/images/Pan_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..29b7e9a7ce00e054a97808c85fdaefecb161d19b
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_Ouest_OFF.gif b/src/main/webapp/apps_extend/images/Pan_Ouest_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6c09cd2a09d90fd0c3aef4ed900ecf04aa202712
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_Ouest_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_Ouest_ON.gif b/src/main/webapp/apps_extend/images/Pan_Ouest_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3b6e1ac2229833085aac0b34091476ef9220f82b
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_Ouest_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_SudEst_OFF.gif b/src/main/webapp/apps_extend/images/Pan_SudEst_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3e8d0ff0b209dda1ac23639a28bda83b7c9ed6db
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_SudEst_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_SudEst_ON.gif b/src/main/webapp/apps_extend/images/Pan_SudEst_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..24790e6c09687bb9209bb73c47a8c91d7581cb37
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_SudEst_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_SudOuest_OFF.gif b/src/main/webapp/apps_extend/images/Pan_SudOuest_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..38b719a8984a39ff65038e0c77e5a9d2c0574f4b
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_SudOuest_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_SudOuest_ON.gif b/src/main/webapp/apps_extend/images/Pan_SudOuest_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..befaa48e4ea1e9c63e2a265628b3b6d2814536fc
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_SudOuest_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_Sud_OFF.gif b/src/main/webapp/apps_extend/images/Pan_Sud_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d9f885d59632b059a9630f4bbc8066670d003482
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_Sud_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/Pan_Sud_ON.gif b/src/main/webapp/apps_extend/images/Pan_Sud_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..87342907963635551a3dfd0fe66ca1cb57bfb2c2
Binary files /dev/null and b/src/main/webapp/apps_extend/images/Pan_Sud_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/ZoomIn_OFF.gif b/src/main/webapp/apps_extend/images/ZoomIn_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..64e76cc443f7fa398a88522ebfd58445760d423f
Binary files /dev/null and b/src/main/webapp/apps_extend/images/ZoomIn_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/ZoomIn_ON.gif b/src/main/webapp/apps_extend/images/ZoomIn_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..26ab9abaef716660deecb4a5114873de298ed733
Binary files /dev/null and b/src/main/webapp/apps_extend/images/ZoomIn_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/ZoomOut_OFF.gif b/src/main/webapp/apps_extend/images/ZoomOut_OFF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4cd99c7348f5397d8edc6c2c23cbc338cb95bf72
Binary files /dev/null and b/src/main/webapp/apps_extend/images/ZoomOut_OFF.gif differ
diff --git a/src/main/webapp/apps_extend/images/ZoomOut_ON.gif b/src/main/webapp/apps_extend/images/ZoomOut_ON.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bcb8c9a6db2c0f1340c9202d0d7c0a28b76d81b1
Binary files /dev/null and b/src/main/webapp/apps_extend/images/ZoomOut_ON.gif differ
diff --git a/src/main/webapp/apps_extend/images/add.png b/src/main/webapp/apps_extend/images/add.png
new file mode 100644
index 0000000000000000000000000000000000000000..6332fefea4be19eeadf211b0b202b272e8564898
Binary files /dev/null and b/src/main/webapp/apps_extend/images/add.png differ
diff --git a/src/main/webapp/apps_extend/images/ancre_bas.gif b/src/main/webapp/apps_extend/images/ancre_bas.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a7c912b6040f385ff8254749c8eda88ab185074e
Binary files /dev/null and b/src/main/webapp/apps_extend/images/ancre_bas.gif differ
diff --git a/src/main/webapp/apps_extend/images/ancre_droit.gif b/src/main/webapp/apps_extend/images/ancre_droit.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72619fabf7d9f33c3a1a28fb200736026a6d74ce
Binary files /dev/null and b/src/main/webapp/apps_extend/images/ancre_droit.gif differ
diff --git a/src/main/webapp/apps_extend/images/bandeau.png b/src/main/webapp/apps_extend/images/bandeau.png
new file mode 100644
index 0000000000000000000000000000000000000000..1b277ea65c2b911ec582757a0602c24e53bfbc2b
Binary files /dev/null and b/src/main/webapp/apps_extend/images/bandeau.png differ
diff --git a/src/main/webapp/apps_extend/images/bandeaux/bandeau_bleu.png b/src/main/webapp/apps_extend/images/bandeaux/bandeau_bleu.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ee7a21f68e0fd9129311a854c327d61446cb209
Binary files /dev/null and b/src/main/webapp/apps_extend/images/bandeaux/bandeau_bleu.png differ
diff --git a/src/main/webapp/apps_extend/images/bandeaux/bandeau_gris.png b/src/main/webapp/apps_extend/images/bandeaux/bandeau_gris.png
new file mode 100644
index 0000000000000000000000000000000000000000..193d973507e5993d51a8e45159dd5896a3a5a255
Binary files /dev/null and b/src/main/webapp/apps_extend/images/bandeaux/bandeau_gris.png differ
diff --git a/src/main/webapp/apps_extend/images/bandeaux/bandeau_marron.png b/src/main/webapp/apps_extend/images/bandeaux/bandeau_marron.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa45e4d7412d970b9bdd1ed0740f728b3f55550f
Binary files /dev/null and b/src/main/webapp/apps_extend/images/bandeaux/bandeau_marron.png differ
diff --git a/src/main/webapp/apps_extend/images/bandeaux/bandeau_orange.png b/src/main/webapp/apps_extend/images/bandeaux/bandeau_orange.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8e312e0920c0fa7c53f0fb0bd1653e94f0bb0de
Binary files /dev/null and b/src/main/webapp/apps_extend/images/bandeaux/bandeau_orange.png differ
diff --git a/src/main/webapp/apps_extend/images/bandeaux/bandeau_rouge.png b/src/main/webapp/apps_extend/images/bandeaux/bandeau_rouge.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9206f848d002a4b51f8241f490799b1e2080cab
Binary files /dev/null and b/src/main/webapp/apps_extend/images/bandeaux/bandeau_rouge.png differ
diff --git a/src/main/webapp/apps_extend/images/bandeaux/bandeau_vert.png b/src/main/webapp/apps_extend/images/bandeaux/bandeau_vert.png
new file mode 100644
index 0000000000000000000000000000000000000000..b6d789f2f7b9cdbfa0b54f32145673d57a3ef222
Binary files /dev/null and b/src/main/webapp/apps_extend/images/bandeaux/bandeau_vert.png differ
diff --git a/src/main/webapp/apps_extend/images/bandeaux/bandeau_violet.png b/src/main/webapp/apps_extend/images/bandeaux/bandeau_violet.png
new file mode 100644
index 0000000000000000000000000000000000000000..84fe7b93118f380e602680fa2bc9757fa50b8ef8
Binary files /dev/null and b/src/main/webapp/apps_extend/images/bandeaux/bandeau_violet.png differ
diff --git a/src/main/webapp/apps_extend/images/barre.gif b/src/main/webapp/apps_extend/images/barre.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e626bf5a3cadb20aa017600d791ee4218e40b941
Binary files /dev/null and b/src/main/webapp/apps_extend/images/barre.gif differ
diff --git a/src/main/webapp/apps_extend/images/basket.gif b/src/main/webapp/apps_extend/images/basket.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ba8e7ea6bbafceb670d60dc00307f3ff789074a8
Binary files /dev/null and b/src/main/webapp/apps_extend/images/basket.gif differ
diff --git a/src/main/webapp/apps_extend/images/boulerouge.gif b/src/main/webapp/apps_extend/images/boulerouge.gif
new file mode 100644
index 0000000000000000000000000000000000000000..aa15ec65133c078885bc2ba9903772f82de7e387
Binary files /dev/null and b/src/main/webapp/apps_extend/images/boulerouge.gif differ
diff --git a/src/main/webapp/apps_extend/images/carte16.png b/src/main/webapp/apps_extend/images/carte16.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a8e0686ef00a70c3a7e1f40e81cb4c460695358
Binary files /dev/null and b/src/main/webapp/apps_extend/images/carte16.png differ
diff --git a/src/main/webapp/apps_extend/images/carte32.png b/src/main/webapp/apps_extend/images/carte32.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd913151a599873cff66ef550231a98fc52baa3e
Binary files /dev/null and b/src/main/webapp/apps_extend/images/carte32.png differ
diff --git a/src/main/webapp/apps_extend/images/checked.gif b/src/main/webapp/apps_extend/images/checked.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fad5893727ee8a13f428aa777380ae97152adec8
Binary files /dev/null and b/src/main/webapp/apps_extend/images/checked.gif differ
diff --git a/src/main/webapp/apps_extend/images/contact.png b/src/main/webapp/apps_extend/images/contact.png
new file mode 100644
index 0000000000000000000000000000000000000000..5929e1f025fe4e79903302d379349428f9288d6c
Binary files /dev/null and b/src/main/webapp/apps_extend/images/contact.png differ
diff --git a/src/main/webapp/apps_extend/images/corbeille 16.gif b/src/main/webapp/apps_extend/images/corbeille 16.gif
new file mode 100644
index 0000000000000000000000000000000000000000..aa9c145889b8a7303319722a97b11a7376736190
Binary files /dev/null and b/src/main/webapp/apps_extend/images/corbeille 16.gif differ
diff --git a/src/main/webapp/apps_extend/images/croix rouge 12.gif b/src/main/webapp/apps_extend/images/croix rouge 12.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a8f8ce39a9b808c6c4289ba3b7c0cc991f4baa69
Binary files /dev/null and b/src/main/webapp/apps_extend/images/croix rouge 12.gif differ
diff --git a/src/main/webapp/apps_extend/images/croix rouge.gif b/src/main/webapp/apps_extend/images/croix rouge.gif
new file mode 100644
index 0000000000000000000000000000000000000000..750801c3e8b39ba53efd1952e30dd4ea08f268b3
Binary files /dev/null and b/src/main/webapp/apps_extend/images/croix rouge.gif differ
diff --git a/src/main/webapp/apps_extend/images/data_hide.gif b/src/main/webapp/apps_extend/images/data_hide.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8eba497a2654a0f1b054cd842fee574001955f5b
Binary files /dev/null and b/src/main/webapp/apps_extend/images/data_hide.gif differ
diff --git a/src/main/webapp/apps_extend/images/data_show.gif b/src/main/webapp/apps_extend/images/data_show.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f8a0d83b78657508ff67961a948b17303a20d17
Binary files /dev/null and b/src/main/webapp/apps_extend/images/data_show.gif differ
diff --git a/src/main/webapp/apps_extend/images/domaines.gif b/src/main/webapp/apps_extend/images/domaines.gif
new file mode 100644
index 0000000000000000000000000000000000000000..38331fb8c0abbcd894957a7cc02d0d470e463ede
Binary files /dev/null and b/src/main/webapp/apps_extend/images/domaines.gif differ
diff --git a/src/main/webapp/apps_extend/images/download.gif b/src/main/webapp/apps_extend/images/download.gif
new file mode 100644
index 0000000000000000000000000000000000000000..48deff30a9dfe4dbc56798211d37bcd9f836c747
Binary files /dev/null and b/src/main/webapp/apps_extend/images/download.gif differ
diff --git a/src/main/webapp/apps_extend/images/fleche_jaune.gif b/src/main/webapp/apps_extend/images/fleche_jaune.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04bef3ac0e2f73dfabf43214282af30e44eca045
Binary files /dev/null and b/src/main/webapp/apps_extend/images/fleche_jaune.gif differ
diff --git a/src/main/webapp/apps_extend/images/fondPRRA.jpg b/src/main/webapp/apps_extend/images/fondPRRA.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0260fa3f2673312cdf0ebec5b09e2c8c1569944c
Binary files /dev/null and b/src/main/webapp/apps_extend/images/fondPRRA.jpg differ
diff --git a/src/main/webapp/apps_extend/images/fondPRRA2.jpg b/src/main/webapp/apps_extend/images/fondPRRA2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..bc93aca7435abc2780977028c4b0adf4b9f045a0
Binary files /dev/null and b/src/main/webapp/apps_extend/images/fondPRRA2.jpg differ
diff --git a/src/main/webapp/apps_extend/images/graphique16.png b/src/main/webapp/apps_extend/images/graphique16.png
new file mode 100644
index 0000000000000000000000000000000000000000..87bfe77dd1e9595d3355dff93c8eb5834e5fe482
Binary files /dev/null and b/src/main/webapp/apps_extend/images/graphique16.png differ
diff --git a/src/main/webapp/apps_extend/images/iconevideo.jpeg b/src/main/webapp/apps_extend/images/iconevideo.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..c5493310793c05493a2d19fa2124ca13b3748179
Binary files /dev/null and b/src/main/webapp/apps_extend/images/iconevideo.jpeg differ
diff --git a/src/main/webapp/apps_extend/images/imagesPDF.jpeg b/src/main/webapp/apps_extend/images/imagesPDF.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..fb1aad4d921f35fe015fcc60079710bae0c30c59
Binary files /dev/null and b/src/main/webapp/apps_extend/images/imagesPDF.jpeg differ
diff --git a/src/main/webapp/apps_extend/images/lbleu.gif b/src/main/webapp/apps_extend/images/lbleu.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7cee5b6a2f50afd311a09f1a012f0274495713c3
Binary files /dev/null and b/src/main/webapp/apps_extend/images/lbleu.gif differ
diff --git a/src/main/webapp/apps_extend/images/legende.png b/src/main/webapp/apps_extend/images/legende.png
new file mode 100644
index 0000000000000000000000000000000000000000..465af117e77232aa334108734c849676572d4ce9
Binary files /dev/null and b/src/main/webapp/apps_extend/images/legende.png differ
diff --git a/src/main/webapp/apps_extend/images/legende_carte.gif b/src/main/webapp/apps_extend/images/legende_carte.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3e9c52e0e4c8fd3be9390564b6093a514a0e692
Binary files /dev/null and b/src/main/webapp/apps_extend/images/legende_carte.gif differ
diff --git a/src/main/webapp/apps_extend/images/legende_dataset.gif b/src/main/webapp/apps_extend/images/legende_dataset.gif
new file mode 100644
index 0000000000000000000000000000000000000000..841f4b6d81eca6eee269f9c5f8282687a9cf97ee
Binary files /dev/null and b/src/main/webapp/apps_extend/images/legende_dataset.gif differ
diff --git a/src/main/webapp/apps_extend/images/legende_donnee.gif b/src/main/webapp/apps_extend/images/legende_donnee.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7914381e6495e22c4071fdecdc17df97b4f49f29
Binary files /dev/null and b/src/main/webapp/apps_extend/images/legende_donnee.gif differ
diff --git a/src/main/webapp/apps_extend/images/legende_service.gif b/src/main/webapp/apps_extend/images/legende_service.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8f6494c9ca831778fbd0e204a09429ce1614b629
Binary files /dev/null and b/src/main/webapp/apps_extend/images/legende_service.gif differ
diff --git a/src/main/webapp/apps_extend/images/lgris.png b/src/main/webapp/apps_extend/images/lgris.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d65e94a4c090a39f27fcbe15ee5a87d2172744f
Binary files /dev/null and b/src/main/webapp/apps_extend/images/lgris.png differ
diff --git a/src/main/webapp/apps_extend/images/loading.gif b/src/main/webapp/apps_extend/images/loading.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e846e1d6c58796558015ffee1fdec546bc207ee8
Binary files /dev/null and b/src/main/webapp/apps_extend/images/loading.gif differ
diff --git a/src/main/webapp/apps_extend/images/logos/Logo_Prodige_V0.jpg b/src/main/webapp/apps_extend/images/logos/Logo_Prodige_V0.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a4de289bb800fed7f21dc4f070bdfa052f39b46b
Binary files /dev/null and b/src/main/webapp/apps_extend/images/logos/Logo_Prodige_V0.jpg differ
diff --git a/src/main/webapp/apps_extend/images/logos/Marianne.jpg b/src/main/webapp/apps_extend/images/logos/Marianne.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..97b75359219be656e36d45e97dadeb16fba61a29
Binary files /dev/null and b/src/main/webapp/apps_extend/images/logos/Marianne.jpg differ
diff --git a/src/main/webapp/apps_extend/images/lrouge.gif b/src/main/webapp/apps_extend/images/lrouge.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bbc4494d511aa90f68809fe38e9000dc412c3b22
Binary files /dev/null and b/src/main/webapp/apps_extend/images/lrouge.gif differ
diff --git a/src/main/webapp/apps_extend/images/lrouge.png b/src/main/webapp/apps_extend/images/lrouge.png
new file mode 100644
index 0000000000000000000000000000000000000000..fc06053a30d13c4b166d168f18c8322915ab62fb
Binary files /dev/null and b/src/main/webapp/apps_extend/images/lrouge.png differ
diff --git a/src/main/webapp/apps_extend/images/moins.GIF b/src/main/webapp/apps_extend/images/moins.GIF
new file mode 100644
index 0000000000000000000000000000000000000000..26a56333d9269c6513e4fa50262c893c28d563ea
Binary files /dev/null and b/src/main/webapp/apps_extend/images/moins.GIF differ
diff --git a/src/main/webapp/apps_extend/images/ombre.gif b/src/main/webapp/apps_extend/images/ombre.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bc8ac426e96407a25829d9a6111b6fd30a96e527
Binary files /dev/null and b/src/main/webapp/apps_extend/images/ombre.gif differ
diff --git a/src/main/webapp/apps_extend/images/ombre_h.gif b/src/main/webapp/apps_extend/images/ombre_h.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ecdcb9f3806062d93d631fdb65df9b569bbe20dd
Binary files /dev/null and b/src/main/webapp/apps_extend/images/ombre_h.gif differ
diff --git a/src/main/webapp/apps_extend/images/outils16.png b/src/main/webapp/apps_extend/images/outils16.png
new file mode 100644
index 0000000000000000000000000000000000000000..dddcdbd3039873c85b290d0b4126da8e424202c4
Binary files /dev/null and b/src/main/webapp/apps_extend/images/outils16.png differ
diff --git a/src/main/webapp/apps_extend/images/plus.gif b/src/main/webapp/apps_extend/images/plus.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1ba1341c853ad81ddb9877b92a579118f81b3e84
Binary files /dev/null and b/src/main/webapp/apps_extend/images/plus.gif differ
diff --git a/src/main/webapp/apps_extend/images/puce_h2-trans.png b/src/main/webapp/apps_extend/images/puce_h2-trans.png
new file mode 100644
index 0000000000000000000000000000000000000000..913cb71864b36334573723550881e03e02e0247a
Binary files /dev/null and b/src/main/webapp/apps_extend/images/puce_h2-trans.png differ
diff --git a/src/main/webapp/apps_extend/images/puce_h3.gif b/src/main/webapp/apps_extend/images/puce_h3.gif
new file mode 100644
index 0000000000000000000000000000000000000000..239cf1249968c883c18e84670f57c25ae885a76f
Binary files /dev/null and b/src/main/webapp/apps_extend/images/puce_h3.gif differ
diff --git a/src/main/webapp/apps_extend/images/remove.gif b/src/main/webapp/apps_extend/images/remove.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08d083355ff1b4e99b9ef8139f28ede1485b50cf
Binary files /dev/null and b/src/main/webapp/apps_extend/images/remove.gif differ
diff --git a/src/main/webapp/apps_extend/images/remove.png b/src/main/webapp/apps_extend/images/remove.png
new file mode 100644
index 0000000000000000000000000000000000000000..08f249365afd29594b51210c6e21ba253897505d
Binary files /dev/null and b/src/main/webapp/apps_extend/images/remove.png differ
diff --git a/src/main/webapp/apps_extend/images/rss.gif b/src/main/webapp/apps_extend/images/rss.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fbee103516d244bcfa028b6c98c2b9c1f90fe699
Binary files /dev/null and b/src/main/webapp/apps_extend/images/rss.gif differ
diff --git a/src/main/webapp/apps_extend/images/rss32.png b/src/main/webapp/apps_extend/images/rss32.png
new file mode 100644
index 0000000000000000000000000000000000000000..28683cca11429e85d7f551580a7d71e4b0fc5413
Binary files /dev/null and b/src/main/webapp/apps_extend/images/rss32.png differ
diff --git a/src/main/webapp/apps_extend/images/rss_over.gif b/src/main/webapp/apps_extend/images/rss_over.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fa650814787cf5371057939b6c52a6870ab7e9dd
Binary files /dev/null and b/src/main/webapp/apps_extend/images/rss_over.gif differ
diff --git a/src/main/webapp/apps_extend/images/s.gif b/src/main/webapp/apps_extend/images/s.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf
Binary files /dev/null and b/src/main/webapp/apps_extend/images/s.gif differ
diff --git a/src/main/webapp/apps_extend/images/tab-close-on.gif b/src/main/webapp/apps_extend/images/tab-close-on.gif
new file mode 100644
index 0000000000000000000000000000000000000000..eacea39b623348f656de9a8f0df4ac4b74ceccbd
Binary files /dev/null and b/src/main/webapp/apps_extend/images/tab-close-on.gif differ
diff --git a/src/main/webapp/apps_extend/images/tableau-bord.png b/src/main/webapp/apps_extend/images/tableau-bord.png
new file mode 100644
index 0000000000000000000000000000000000000000..e13d91c31ee29195697bb96890d8b7019add39a0
Binary files /dev/null and b/src/main/webapp/apps_extend/images/tableau-bord.png differ
diff --git a/src/main/webapp/apps_extend/images/tableau-bord16.png b/src/main/webapp/apps_extend/images/tableau-bord16.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a735cc018af344fb07a3fd4074511cb0e4ad821
Binary files /dev/null and b/src/main/webapp/apps_extend/images/tableau-bord16.png differ
diff --git a/src/main/webapp/apps_extend/images/tableau-bord2.png b/src/main/webapp/apps_extend/images/tableau-bord2.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a8e0686ef00a70c3a7e1f40e81cb4c460695358
Binary files /dev/null and b/src/main/webapp/apps_extend/images/tableau-bord2.png differ
diff --git a/src/main/webapp/apps_extend/images/tableau-bord232.png b/src/main/webapp/apps_extend/images/tableau-bord232.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd913151a599873cff66ef550231a98fc52baa3e
Binary files /dev/null and b/src/main/webapp/apps_extend/images/tableau-bord232.png differ
diff --git a/src/main/webapp/apps_extend/images/tableau-bord32.png b/src/main/webapp/apps_extend/images/tableau-bord32.png
new file mode 100644
index 0000000000000000000000000000000000000000..e5e0fc98ec1d94456294c3985462d49f75c643f7
Binary files /dev/null and b/src/main/webapp/apps_extend/images/tableau-bord32.png differ
diff --git a/src/main/webapp/apps_extend/images/tarte16.png b/src/main/webapp/apps_extend/images/tarte16.png
new file mode 100644
index 0000000000000000000000000000000000000000..69241868049b28d4b270d626adf64dbd75a3afea
Binary files /dev/null and b/src/main/webapp/apps_extend/images/tarte16.png differ
diff --git a/src/main/webapp/apps_extend/images/unchecked.gif b/src/main/webapp/apps_extend/images/unchecked.gif
new file mode 100644
index 0000000000000000000000000000000000000000..43823e52db80e04017b2bc1e031bef2d82c67e6a
Binary files /dev/null and b/src/main/webapp/apps_extend/images/unchecked.gif differ
diff --git a/src/main/webapp/apps_extend/images/volet.png b/src/main/webapp/apps_extend/images/volet.png
new file mode 100644
index 0000000000000000000000000000000000000000..b398de11f685a019433862770d1b29e7cf09f6a0
Binary files /dev/null and b/src/main/webapp/apps_extend/images/volet.png differ
diff --git a/src/main/webapp/apps_extend/images/volets/volet_bleu.png b/src/main/webapp/apps_extend/images/volets/volet_bleu.png
new file mode 100644
index 0000000000000000000000000000000000000000..79c65942e66d0582cb3cf0cb8fe2d378633fccb9
Binary files /dev/null and b/src/main/webapp/apps_extend/images/volets/volet_bleu.png differ
diff --git a/src/main/webapp/apps_extend/images/volets/volet_gris.png b/src/main/webapp/apps_extend/images/volets/volet_gris.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e7d095f6b94fa96bf37f38b5cf076239b4ba9e7
Binary files /dev/null and b/src/main/webapp/apps_extend/images/volets/volet_gris.png differ
diff --git a/src/main/webapp/apps_extend/images/volets/volet_marron.png b/src/main/webapp/apps_extend/images/volets/volet_marron.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdab3b82693548e1dc5c6f5e8a393dc078bbaa1f
Binary files /dev/null and b/src/main/webapp/apps_extend/images/volets/volet_marron.png differ
diff --git a/src/main/webapp/apps_extend/images/volets/volet_orange.png b/src/main/webapp/apps_extend/images/volets/volet_orange.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa430d5841f96ae5c6d687e5b6368ca866cb2b0f
Binary files /dev/null and b/src/main/webapp/apps_extend/images/volets/volet_orange.png differ
diff --git a/src/main/webapp/apps_extend/images/volets/volet_rouge.png b/src/main/webapp/apps_extend/images/volets/volet_rouge.png
new file mode 100644
index 0000000000000000000000000000000000000000..d2e3c8930ab3ed4b7e34593f6eae829dc7d21f8d
Binary files /dev/null and b/src/main/webapp/apps_extend/images/volets/volet_rouge.png differ
diff --git a/src/main/webapp/apps_extend/images/volets/volet_vert.png b/src/main/webapp/apps_extend/images/volets/volet_vert.png
new file mode 100644
index 0000000000000000000000000000000000000000..a464ff62820a9638fd6173361d615caa500c239f
Binary files /dev/null and b/src/main/webapp/apps_extend/images/volets/volet_vert.png differ
diff --git a/src/main/webapp/apps_extend/images/volets/volet_violet.png b/src/main/webapp/apps_extend/images/volets/volet_violet.png
new file mode 100644
index 0000000000000000000000000000000000000000..b21786213a8fce22a86260b88cd70880dc2f818a
Binary files /dev/null and b/src/main/webapp/apps_extend/images/volets/volet_violet.png differ
diff --git a/src/main/webapp/apps_extend/images/waiting.gif b/src/main/webapp/apps_extend/images/waiting.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8cf474009febe4953c2d0a9fd2065f51292b083
Binary files /dev/null and b/src/main/webapp/apps_extend/images/waiting.gif differ
diff --git a/src/main/webapp/apps_extend/locales/fr-extend.json b/src/main/webapp/apps_extend/locales/fr-extend.json
new file mode 100644
index 0000000000000000000000000000000000000000..e9c9c9f7c1c89e2b482b9f9f273cfb31748d4dd2
--- /dev/null
+++ b/src/main/webapp/apps_extend/locales/fr-extend.json
@@ -0,0 +1,3 @@
+{
+    "basket" : "Panier"
+}
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/panier.js b/src/main/webapp/apps_extend/panier.js
new file mode 100644
index 0000000000000000000000000000000000000000..3594271b3a5013a1336840581e483f83df17e804
--- /dev/null
+++ b/src/main/webapp/apps_extend/panier.js
@@ -0,0 +1,683 @@
+/**
+ * @brief Supprime un élément du panier
+ * @param evt
+ * @return
+ */
+function  panier_supprimerElement(evt)
+{
+  
+  
+  /*var    element;
+  var    panier;
+  var    ligne;
+  var    i;
+  var    id;
+  var    identifiant = null;
+  
+  if (navigator.appName == "Microsoft Internet Explorer")
+  {
+    evt = window.event;
+    element = evt.srcElement;
+  }
+  else
+    element = evt.target;
+  while (element && (element.tagName != "TR"))
+    element = element.parentNode;
+  if (element && (element.tagName == "TR"))
+    identifiant = panier_getElementId(element);
+  panier = panier_getPanier();
+  if (panier && identifiant)
+  {
+    for (i = 0; (i < panier.rows.length) && identifiant; i++)
+    {
+      ligne = panier.rows[i];
+      id = panier_getElementId(ligne);
+      if (id == identifiant)
+      {
+        identifiant = null;
+        panier.deleteRow(i);
+      }
+    }
+  }
+  IHM_InfosBulle_hide(evt);*/
+}
+
+/**
+ * @brief vide les éléments du panier
+ * @param oBt   objet bouton Ext, permet de différencier un appel utilisateur d'un appel programmé
+ */
+function  panier_vider(oBt)
+{
+  if ( Ext.getCmp("gridPanier").getStore().getCount() > 0 ) {
+    Ext.getCmp("gridPanier").getStore().removeAll();
+  } else if ( oBt ) {
+    Ext.Msg.alert('Données choisies','Aucune couche de données n\'est présente.');
+  }
+  
+  /*
+  var    panier;
+  var    ligne;
+  
+  panier = panier_getPanier();
+  if (panier)
+  {
+    for (i = 0; i < panier.rows.length; i++)
+    {
+      if (panier.rows[i]){
+        ligne = panier.rows[i];
+        id = panier_getElementId(ligne);
+        panier.deleteRow(i);
+      }
+    }
+  }
+  */
+}
+
+/**
+ * @brief Visualise un élément du panier
+ * @param evt
+ * @return
+ */
+function  panier_visualiserElement(evt)
+{
+  var    element;
+  var    panier;
+  var    identifiant = null;
+  
+  if (navigator.appName == "Microsoft Internet Explorer")
+  {
+    evt = window.event;
+    element = evt.srcElement;
+  }
+  else
+    element = evt.target;
+  while (element && (element.tagName != "TR"))
+    element = element.parentNode;
+  if (element && (element.tagName == "TR"))
+    identifiant = panier_getElementId(element);
+  if (identifiant)
+  {
+    try
+    {
+      IHM_Fiche_Show(identifiant);
+    }
+    catch(e){}
+  }
+  IHM_InfosBulle_hide(evt);
+}
+/**
+ * @brief Vérifie si l'élément existe déjà dans le panier
+ * @param identifiant
+ * @return boolean
+ */
+function  panier_elementExist(identifiant)
+{
+  var    panier;
+  var    ligne;
+  var    i;
+  var    id;
+  var    bRslt = false;
+  
+  panier = panier_getPanier();
+  if (panier && identifiant)
+  {
+    for (i = 0; (i < panier.rows.length) && !bRslt; i++)
+    {
+      ligne = panier.rows[i];
+      id = panier_getElementId(ligne);
+      if (id == identifiant)
+        bRslt = true;
+    }
+  }
+  return bRslt;  
+}
+
+var lastError = [];
+/**
+ * @brief Ajoute un élément au panier
+ * @param identifiant
+ * @param titre
+ * @return
+ */
+function  panier_ajouterElement(uuid, identifiant, titre, record, bCumulError)
+{
+  var    panier;
+  var    ligne;
+  var    td1, td2;
+  var    img, inpt;
+  
+  if ( bCumulError == undefined ) bCumulError = false;
+  
+  if ( uuid==undefined && identifiant==undefined && titre==undefined && bCumulError ){
+    if ( typeof lastError == "undefined" ) return;
+    if ( lastError.length == 0 ) return;
+    
+    var strMsg = "";
+    if ( lastError.length == 1 ){
+      strMsg = 'La couche '+lastError[0]+' est déjà présente dans les données choisies.';
+    }
+    else {
+      strMsg = 'Les couches : ';
+      for (var i=0; i<lastError.length; i++){
+        strMsg += "<br/> - "+lastError[i];
+      }
+      strMsg += '<br/> sont déjà présentes dans les données choisies.';
+    }
+    Ext.Msg.alert('Données choisies', strMsg);    
+    lastError = [];
+    return;
+  }
+  
+  var DataRecord = Ext.data.Record.create([{
+    name: 'Data',
+    name: 'record',
+    id : 'id'
+    }
+  ]);
+  
+  if ( Ext.getCmp("contPanier").timerCollapse ){
+    clearTimeout(Ext.getCmp("contPanier").timerCollapse);
+    Ext.getCmp("contPanier").timerCollapse = null;
+  }
+  
+  if(Ext.getCmp("gridPanier").getStore().findExact("id", identifiant)>-1){
+    
+    if ( bCumulError ){
+      lastError.push(titre);
+    }
+    else
+     Ext.Msg.alert('Données choisies', 'La couche '+titre+' est déjà présente dans les données choisies.');
+     
+  }else{
+    Ext.getCmp("gridPanier").getStore().add(
+        new DataRecord({
+          Data: titre,
+          id : identifiant,
+          record: record
+        })
+    );
+    Ext.getCmp("contPanier").expand(true);
+    Ext.getCmp("contPanier").timerCollapse = setTimeout('Ext.getCmp("contPanier").collapse(true);', 3000);
+  }
+    //windowGrid.getStore().add(r);
+
+  /*
+  if (panier_elementExist(identifiant))
+  {
+    alert("La couche est déjà présente dans le panier");
+    return;
+  }
+  panier = panier_getPanier();
+  if (panier && identifiant && titre)
+  {
+    // Suppression de la ligne vide (compatibilité HTML4.01 Transitionnal)
+    if (panier.rows.length == 1)
+    {
+      if (panier.rows[0].cells.length == 1)
+        panier.deleteRow(0);
+    }
+    
+    ligne = panier.insertRow(-1);
+    if (ligne)
+    {
+      td1 = ligne.insertCell(-1);
+      td2 = ligne.insertCell(-1);
+      if (td1)
+      {
+        node = document.createTextNode(titre);
+        td1.appendChild(node);
+        td1.className = "visualiser";
+        td1.onclick = panier_visualiserElement;
+        td1.onmouseout = IHM_InfosBulle_hide;
+        td1.onmousemove = panier_InfosBulle_visualiser;
+        inpt = document.createElement("input");
+        inpt.type = "hidden";
+        inpt.name = "panier_" + ligne.rowIndex;
+        inpt.value = identifiant;
+        td1.appendChild(inpt);
+      }
+      if (td2)
+      {
+        td2.className = "supprimer";
+        td2.onclick = panier_supprimerElement;
+        td2.onmouseout = IHM_InfosBulle_hide;
+        td2.onmousemove = panier_InfosBulle_supprimer;
+      }
+    }
+  }*/
+}
+
+
+/**
+ * @brief Affiche l'info bulle visualiser
+ * @param evt
+ * @return
+ */
+function  panier_InfosBulle_visualiser(evt)
+{
+  IHM_InfosBulle_show(evt, "Consulter la fiche");
+}
+
+/**
+ * @brief Affiche l'info bulle supprimer du panier
+ * @param evt
+ * @return
+ */
+function  panier_InfosBulle_supprimer(evt)
+{
+  IHM_InfosBulle_show(evt, "Supprimer du panier");
+}
+/**
+ * @brief retourne l'identifiant de l'élément
+ * @param ligne
+ * @return
+ */
+function  panier_getElementId(ligne)
+{
+  var    elems;
+  var    id = null;
+  
+  if (ligne && (ligne.cells.length == 2))
+  {
+    elems = ligne.cells[0].getElementsByTagName("input");
+    if (elems && (elems.length == 1))
+       id = elems[0].value;
+  }
+  return id;
+}
+/**
+ * @brief renvoie le contenu du panier
+ * @return
+ */
+function  panier_getPanier()
+{
+  var    div;
+  var    tables;
+  var    panier = null;
+  
+  div = document.getElementById("panier");
+  if (div)
+  {
+    tables = div.getElementsByTagName("TABLE");
+    if (tables && (tables.length == 1))
+      panier = tables[0];
+  }
+  return panier;
+}
+
+/**
+ * MPA: 6 mai 2006
+ * @brief Fonction qui permet d'acceder au parametrage du telechargement
+ */
+function  panier_downloadParametrage(panier)
+{
+   /* var bHasRecord = false;
+  var l_url  = "panierDownloadFrontal_parametrage.php?LAYERIDTS=";
+  //console.log(Ext.getCmp("gridPanier").getStore().data);
+  for(idx = 0; idx < Ext.getCmp("gridPanier").getStore().data.length; idx++){
+    bHasRecord = true;
+    l_url += Ext.getCmp("gridPanier").getStore().data.items[idx].data.id;
+    if (idx!=Ext.getCmp("gridPanier").getStore().data.length-1){
+      l_url +="|";
+    }
+  }
+  if(bHasRecord){
+    contenu = window.frames["fenetre"];
+    if (contenu)
+    {
+      //parent.IHM_historique_add(l_url);
+      contenu.location = l_url;
+    }
+  }else{
+    Ext.Msg.alert('Panier','Le panier ne contient aucune couche de données.<br>Veuillez ajouter une (ou des) couche(s) à votre panier.');
+  }*/
+  /**
+   * Passage des parametres en POST
+   **/
+  var l_form = document.createElement("form");
+  var l_form_input = "";
+  l_form.setAttribute('name', 'l_form');
+  l_form.setAttribute('action', prodigeConfig.URL+'/geosource/panierDownloadFrontalParametrage');
+  l_form.setAttribute('method', 'post');
+  l_form.setAttribute('target', 'fenetre');
+  var layerIdtsValue = [];
+  for (var id in panier.indexes) {
+    layerIdtsValue.push(id);
+  }
+  layerIdtsValue = layerIdtsValue.join("|");
+  
+  if(layerIdtsValue!=""){
+    l_form_input = document.createElement("input");
+    l_form_input.setAttribute("type", "text");
+    l_form_input.setAttribute("value", layerIdtsValue);
+    l_form_input.setAttribute("name", "LAYERIDTS");
+    l_form.appendChild(l_form_input);
+    document.body.appendChild(l_form);
+    l_form.submit();
+  }else{
+    Ext.Msg.alert('Données choisies - Téléchargement', 'Veuillez ajouter une (ou des) couche(s) aux données choisies.');
+  }
+
+  /*var    panier     = null;
+  var    ligne     = null;
+  var   coucheIdt   = "";
+  var   coucheIdts   = "";
+  var   idx     = 0;
+  var    l_url    = "";
+  var    ongSelected  = null;
+  
+  if (panier_hasCouches())
+  {
+    panier = panier_getPanier();
+    for (idx = 0; idx < panier.rows.length; idx++)
+    {
+      ligne = panier.rows[idx];
+      coucheIdt = panier_getElementId(ligne);
+      if (coucheIdts != "") coucheIdts += "|";
+      coucheIdts += coucheIdt;
+    }
+    l_url  = "panierDownloadFrontal_parametrage.php?";
+    l_url += "LAYERIDTS="+coucheIdts;
+    
+    ongSelected = IHM_Onglets_get(IHM_Onglets_getSel());
+    IHM_Onglets_unsel(ongSelected);
+    
+    if (navigator.appName == "Microsoft Internet Explorer")
+      contenu = window.frames("fenetre");
+    else
+      contenu = window.frames["fenetre"];
+    if (contenu)
+    {
+      parent.IHM_historique_add(l_url);
+      contenu.location = l_url;
+    }
+  }
+  else{
+    alert("Le panier ne contient aucune couche de données.\nAucun téléchargement n'est accessible.\n\nVeuillez ajouter une (ou des) couche(s) à votre panier.");
+  }*/
+}
+
+/**
+ * MPA: 6 mai 2006
+ * @brief Fonction qui permet de savoir si le panier contient des couche
+ */
+function  panier_hasCouches()
+{
+  var    panier = null;
+  var b_HasElement = false;
+  
+  panier = panier_getPanier();
+  if (panier){
+    if (panier.rows.length == 1) {
+      //on verifie que le panier contient bien une couche
+      if (panier.rows[0].cells.length == 2) b_HasElement = true;
+    }
+    else if (panier.rows.length > 1) b_HasElement = true;
+  }
+  return b_HasElement;
+}
+
+/**
+ * MTO: 5 juin 2012
+ * @brief Fonction qui permet de covisualiser le panier
+ */
+var nbRecordsCovisu = 0;
+var tabRecordsCanCovisu = [];
+var tabDatasCannotCovisu = [];
+var tabParamsCovisu = [];
+function panier_covisualiser($scope, prodigeConfig)
+{
+	var geonetwork_dir = window.location.pathname.replace(/(\/.+)?\/srv\/.+/, "$1"); 
+	nbRecordsCovisu = Object.keys($scope.metadatas).length; 
+  if ( nbRecordsCovisu > 0 ) {
+  	tabRecordsCanCovisu = [];
+    tabDatasCannotCovisu = [];
+  	tabParamsCovisu = [];
+    $.each($scope.metadatas, function(key, metadata){
+    	configureMetadata(metadata);
+    	var uuid = metadata.get("uuid");
+      var type = metadata.get('type');
+      // donnée de typ dataset
+      if ( type == "dataset" ) {
+        var oParam = {
+          id:metadata.get("id"),
+          layerTitle:metadata.get("Data"),
+          isHarvested:metadata.get("isHarvested")
+        };
+        // donnée table
+        if ( metadata.get('spatialRepresentationType_text') == "Tabulaire" ) {
+          tabDatasCannotCovisu.push(metadata.get("Data"));
+          nbRecordsCovisu--;
+        }
+        else if ( metadata.get('spatialRepresentationType') == "textTable" ) {
+          tabDatasCannotCovisu.push(metadata.get("Data"));
+          nbRecordsCovisu--;
+        }
+        // donnée moissonnée
+        else if ( metadata.get("isHarvested") == "y" ) {
+          var urlRelation = document.location.protocol+"//"+document.location.host+""+geonetwork_dir+"/srv/api/records/"+metadata.get("uuid")+"/related";
+          var paramsRelation = {type:"services"};
+          var iframe = {};
+          iframe.tabParams = [metadata];
+          iframe.onSuccess = function(record, res) {
+          	var tabService = [];
+            // console.log(xmlDoc);
+            if (typeof res == "string") res = JSON.parse(res);
+            if ( res!==null ){
+              if ( typeof res.services == "undefined" ){res.services = [];}
+              if ( !res.services ){res.services = [];}
+            	if ( !(res.services instanceof Array) ){res.services = [res.services];}
+            	tabService = res.services;
+            }
+            // console.log(tabService);
+            if (tabService.length > 0) {
+              oParam.uuidService = [];
+              for (var i = 0; i < tabService.length; i++) {
+                oParam.uuidService.push(tabService[i].id);
+              }
+              oParam.uuidService = oParam.uuidService.join("|");
+              oParam.uuidData = record.get("uuid");
+              tabRecordsCanCovisu.push(record);
+              tabParamsCovisu.push(oParam);
+              nbRecordsCovisu--;
+            } 
+            else {
+              var tabLinks = record.get("links");
+              if (tabLinks.length > 0) {
+                var oLink = {};
+                tabLinks.forEach(function(link) {
+                  var _link = {};
+                  if (typeof(link) == 'string') { // cas particulier où
+                                                  // l'ajout au panier a été
+                                                  // effectué par une
+                                                  // sélection (case à
+                                                  // cocher) => les liens ne
+                                                  // sont pas directement
+                                                  // accessibles)
+                    var tabSplit = link.split("|");
+                    _link.name = tabSplit[0] || "";
+                    _link.href = tabSplit[2] || "";
+                    _link.protocol = tabSplit[3] || "";
+                  } else {
+                    _link = link;
+                  }
+                  if (_link.protocol && _link.protocol != ""
+                      && new RegExp(/^OGC:WMS/i).test(_link.protocol)) {
+                    if (_link.href && _link.href != "" && _link.name
+                        && _link.name != "") {
+                      oLink.wms = {
+                        protocol : "GetMap",
+                        connection : _link.href,
+                        layer : _link.name
+                      }
+                    }
+                  }
+                  if (_link.protocol && _link.protocol != ""
+                      && new RegExp(/^OGC:WFS/i).test(_link.protocol)) {
+                    if (_link.href && _link.href != "" && _link.name
+                        && _link.name != "") {
+                      oLink.wfs = {
+                        protocol : "GetMap",
+                        connection : _link.href,
+                        layer : _link.name
+                      }
+                    }
+                  }
+                }, this);
+                if (oLink.wms) {
+                  oParam.protocol = oLink.wms.protocol;
+                  oParam.connection = oLink.wms.connection;
+                  oParam.layer = oLink.wms.layer;
+                  tabRecordsCanCovisu.push(record);
+                  tabParamsCovisu.push(oParam);
+                  nbRecordsCovisu--;
+                } else if (oLink.wfs) {
+                  oParam.protocol = oLink.wfs.protocol;
+                  oParam.connection = oLink.wfs.connection;
+                  oParam.layer = oLink.wfs.layer;
+                  tabRecordsCanCovisu.push(record);
+                  tabParamsCovisu.push(oParam);
+                  nbRecordsCovisu--;
+                } else {
+                  tabDatasCannotCovisu.push(record.get("title"));
+                  nbRecordsCovisu--;
+                }
+              } else {
+                tabDatasCannotCovisu.push(record.get("title"));
+                nbRecordsCovisu--;
+              }
+            }
+          }
+          AjaxRequest(urlRelation, paramsRelation, iframe, 'GET', false);
+        } 
+        // donnée non moissonnée
+        else if ( metadata.get("isHarvested") == "n" ) {
+          /*var urlUserRight = "Services/getUserRights.php";
+          var paramsUserRight = {ID:metadata.get("id"),TRAITEMENTS:"NAVIGATION",OBJET_TYPE:type,OBJET_STYPE:( type == "service" && ( metadata.get('serviceType') ) )};
+          var iframe = {};*/
+          
+          $.ajax({
+            //crossDomain: true,
+            url : prodigeConfig.routes.catalogue.prodige_verify_rights_url,
+            async: false,
+            data : {
+              ID : metadata.get("id"),
+              OBJET_TYPE : type,
+              OBJET_STYPE : ( type == "service" && ( metadata.get('serviceType') ) ),
+              TRAITEMENTS : "NAVIGATION"
+            },
+            success : function(oResUserRights) {
+              $scope.getting_rights = false;
+              //$scope.$digest()
+
+              if ( oResUserRights.NAVIGATION ) {
+                tabRecordsCanCovisu.push(oResUserRights);
+                tabParamsCovisu.push(oParam);
+                nbRecordsCovisu--;
+              } else {
+                tabDatasCannotCovisu.push(metadata.get("title"));
+                nbRecordsCovisu--;
+              }
+            }
+          });
+              
+                /*
+          iframe.tabParams = [metadata];
+          iframe.onSuccess = function(record, res){
+            var json_res = eval("("+res+")");
+            if ( json_res.NAVIGATION ) {
+              tabRecordsCanCovisu.push(record);
+              tabParamsCovisu.push(oParam);
+              nbRecordsCovisu--;
+              panier_covisualiser_confirm($scope);
+            } else {
+              tabDatasCannotCovisu.push(record.get("title"));
+              nbRecordsCovisu--;
+              panier_covisualiser_confirm($scope);
+            }
+          };
+          AjaxRequest(urlUserRight, paramsUserRight, iframe);*/
+        }
+        // moissonnage non défini
+        else {
+          tabDatasCannotCovisu.push(metadata.get("Data"));
+          nbRecordsCovisu--;
+        }
+      }
+      // autre type de donnée
+      else {
+        tabDatasCannotCovisu.push(metadata.get("Data"));
+        nbRecordsCovisu--;
+      }
+    });
+    panier_covisualiser_confirm($scope);
+  } else {
+    Ext.Msg.alert('Données choisies - Co-visualisation','Veuillez ajouter une (ou des) couche(s) aux données choisies.');
+  }
+}
+
+/**
+ * MTO: 5 juin 2012
+ * @brief Fonction qui permet d'afficher les données non visualisable et de continuer
+ */
+function panier_covisualiser_confirm($scope)
+{
+    if ( tabRecordsCanCovisu.length > 0 ) {
+      if ( tabDatasCannotCovisu.length > 0 ) {
+        /*var iframe = {};
+        iframe.tabParams = [];
+        iframe.onSuccess = panier_covisualiser_confirmed;
+        */
+        Ext.Msg.confirm(
+            'Données choisies - Co-visualisation',
+            'Les données '+tabDatasCannotCovisu.join(', ')+' ne sont pas visualisables. Souhaitez-vous continuer ?'
+            , function(id, value) {
+                if (id === 'yes') {
+                  tabDatasCannotCovisu = [];
+                  panier_covisualiser_confirmed();
+                }
+            }, this);
+        
+        tabDatasCannotCovisu = [];
+      } else {
+        panier_covisualiser_confirmed();
+      }
+    } else {
+      Ext.Msg.alert('Données choisies - Co-visualisation', 'Aucune donnée n\'est covisualisable.');
+    }
+}
+
+/**
+ * MTO: 5 juin 2012
+ * @brief Fonction qui permet de préparer les données avant covisualisation
+ */
+function panier_covisualiser_confirmed()
+{
+  var d = new Date();
+  var curr_time = d.getTime()	
+  
+  openWindowWithPost(__PRODIGE_CATALOGUE_CONFIG_URL__+'/geosource/covisualisation', "covisu"+curr_time, tabParamsCovisu);
+  tabParamsCovisu = [];
+}
+
+/**
+ * @brief Ouvre un nouvel onglet avec passage des paramètres en post
+ * @param tabParams tableau des paramètres (chaque paramètre est un objet)
+ */
+function openWindowWithPost(url,name,tabParams)
+{
+  var newWindow = window.open('', name);
+  if (!newWindow) return false;
+  var html = "";
+  html += "<html><head></head><body><form id='form_covisu' method='post' action='"+url+"'>";
+  if ( tabParams && tabParams.length > 0 ) {
+    for ( var i=0; i < tabParams.length; i++) {
+      for ( var key in tabParams[i] ) {
+        html += "<input type=\"hidden\" name=\"data["+i+"]["+key+"]\" value=\""+tabParams[i][key]+"\"/>";  // TODO : effectuer un "htmlentities"
+      }
+    }
+  }
+  html += "</form><script type='text/javascript'>document.getElementById(\"form_covisu\").submit();</script></body></html>";
+  newWindow.document.write(html);
+  return newWindow;
+}
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/search/css/App-extend.css b/src/main/webapp/apps_extend/search/css/App-extend.css
new file mode 100644
index 0000000000000000000000000000000000000000..9697d926f2f5a6525add1636a94a736c1e85aad3
--- /dev/null
+++ b/src/main/webapp/apps_extend/search/css/App-extend.css
@@ -0,0 +1,49 @@
+.nonGeographicDataset
+{
+	background-color: #DADADA !important;
+}
+
+.vector
+{
+	background-color: #DEECFD !important;
+}
+
+.grid
+{
+	background-color: #AFD3FF !important;
+}
+
+.textTable
+{
+	background-color: #AFBCD2 !important;
+}
+
+.series
+{
+	background-color: #FFD8F1 !important;
+}
+
+.carte
+{
+	background-color: #E5F2D3 !important;
+}
+
+.service
+{
+	background-color: #FDEBC4 !important;
+}
+
+/**
+ * style boutons "Actions"
+ */
+.md-view ul li * h1 span a {
+	color: #007600;
+	font-size: 15px;
+}
+.info {
+    float: left;
+    height: 40%;
+}
+.md-info {
+    height: auto !important;
+}
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/search/home_en.html b/src/main/webapp/apps_extend/search/home_en.html
new file mode 100644
index 0000000000000000000000000000000000000000..f193f5be58fcb18d777ef0bf60a01b624e661197
--- /dev/null
+++ b/src/main/webapp/apps_extend/search/home_en.html
@@ -0,0 +1,9 @@
+<p>
+    <div style="width: 100%; height: 100%;">
+        <div class="info">
+            <h3>Quick links</h3>
+            <div class="md-view" id="tag">
+            </div>
+        </div>
+    </div>
+</p>
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/search/home_fr.html b/src/main/webapp/apps_extend/search/home_fr.html
new file mode 100644
index 0000000000000000000000000000000000000000..40ba1f7eb831f80f255bfb1f640179a209e50a64
--- /dev/null
+++ b/src/main/webapp/apps_extend/search/home_fr.html
@@ -0,0 +1,9 @@
+<p>
+    <div style="width: 100%; height: 100%;">
+        <div class="info">
+            <h3>Liens rapides</h3>
+            <div class="md-view" id="tag">
+            </div>
+        </div>
+    </div>
+</p>
diff --git a/src/main/webapp/apps_extend/search/home_fre.html b/src/main/webapp/apps_extend/search/home_fre.html
new file mode 100644
index 0000000000000000000000000000000000000000..40ba1f7eb831f80f255bfb1f640179a209e50a64
--- /dev/null
+++ b/src/main/webapp/apps_extend/search/home_fre.html
@@ -0,0 +1,9 @@
+<p>
+    <div style="width: 100%; height: 100%;">
+        <div class="info">
+            <h3>Liens rapides</h3>
+            <div class="md-view" id="tag">
+            </div>
+        </div>
+    </div>
+</p>
diff --git a/src/main/webapp/apps_extend/templates/contact-admin.html b/src/main/webapp/apps_extend/templates/contact-admin.html
new file mode 100644
index 0000000000000000000000000000000000000000..b3594c5e362c0729a05f9749197faaee6b94bc3d
--- /dev/null
+++ b/src/main/webapp/apps_extend/templates/contact-admin.html
@@ -0,0 +1,120 @@
+<!-- <script type="text/javascript">
+(function(){
+  //var cat_contact_admin = angular.module('cat_contact_admin');
+  if (module){
+    module.controller('form_cat_contact_admin', [
+      '$rootScope', '$scope', '$controller', '$http'
+    , function($rootScope, $scope, $controller, $http){
+        $scope.model = {};
+        $scope.captcha = "";
+        $scope.refreshCaptcha = function(){console.log('refreshCaptcha');
+          $http({
+            method  : 'GET',
+            url : $rootScope.prodige.ip + "/include/captcha.php?rand="+Math.round(Math.random()*1000000)
+          })
+          .success(function(data){console.log('captcha', data);return;
+            $('#captchaimg').attr('src', data.img);
+            $scope.captcha = data.captcha;
+          })
+        };
+        $scope.processForm = function(){
+          if ( this.validate() ){
+            $http({
+              method  : 'POST',
+              url     : __PRODIGE_CATALOGUE_URL__+$rootScope.prodige.routes.catalogue.contact_admin,
+              data    : $.param($scope.model),  // pass in data as strings
+              headers : { 'Content-Type': 'application/x-www-form-urlencoded' }  // set the headers so angular passing info as form data (not request payload)
+             })
+            .success(function(data) {
+              console.log('submit', data);
+  
+            });
+          }
+        };
+      }
+    ]);
+  }
+})();
+/*
+  function contactAdmin(){
+    var form=document.form_pwd;
+    if ( validateEmail ){
+      form.action = top.__PRODIGE_CATALOGUE_URL__+"{{ $root.prodige.usr_name }}/geosource/contact_admin";
+      form.submit();
+    }
+   }
+  function refreshCaptcha(){
+    var oImg =  document.images['captchaimg'];
+    if( oImg ) {
+      oImg.src = oImg.src.split("?")[0]+"?rand="+Math.round(Math.random()*1000000);
+    }
+  }  
+  function validateEmail()
+  {
+    var mail = document.getElementById('usr_email').value;
+    var name = document.getElementById('usr_name').value;
+    var firstname = document.getElementById('usr_firstname').value;
+    var message = document.getElementById('message').value;
+    if(name =="" || mail == "" || firstname == "" || message == ""){
+      parent.Ext.Msg.alert('Contact', "Veuillez renseigner tous les champs.");
+      return false;
+    }
+    var modele = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
+    if (!modele.test(mail)){
+      parent.Ext.Msg.alert('Contact', "L'adresse email est incorrecte.");
+      return false
+    }
+    return true
+  }*/
+</script> -->
+<div class="modal fade" id="contactAdmin" tabindex="-1" role="dialog" aria-labelledby="contactAdminLabel">
+  <div  class="modal-dialog" role="document">
+    <div class="modal-content">
+      <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+        <h4 class="modal-title" id="contactAdminLabel">Contacter l'administrateur</h4>
+      </div>
+        <form name="formContactAdmin" ng-controller="formContactAdmin" ng-submit="processForm()" ng-init='refreshCaptcha()'>
+      <div class="modal-body">
+          <div class="form-group">
+            <label for="usr_name" class="control-label">Nom</label>
+            <input type="text" class="form-control"  ng-model='model.usr_name' required="required" name='usr_name' id='usr_name' >
+          <div class="error help-block" ng-show="formContactAdmin.usr_name.$error.required">Saisie obligatoire</div>
+          </div>
+          <div class="form-group">
+            <label for="usr_firstname" class="control-label">Prénom</label>
+            <input type="text" class="form-control"  ng-model='model.usr_firstname' value='{{model.usr_firstname}}' required="required" name='usr_firstname' id='usr_firstname' >
+          <div class="error help-block" ng-show="formContactAdmin.usr_firstname.$error.required">Saisie obligatoire</div>
+          </div>
+          <div class="form-group">
+            <label for="usr_email" class="control-label">Courriel</label>
+            <input type="email" class="form-control"  ng-model='model.usr_email' required="required" name='usr_email' id='usr_email' >
+          <div class="error help-block" ng-show="formContactAdmin.usr_email.$error.required">Saisie obligatoire</div>
+          <div class="error help-block" ng-show="formContactAdmin.usr_email.$error.email">Mauvais format de courriel</div>
+          </div>
+          <div class="form-group">
+            <label for="captcha" class="control-label">Code de sécurité </label>
+            <div class="input-group">
+              <span class="input-group-btn">
+                <button class="btn btn-default"  type="button" ng-click='refreshCaptcha()' title="Cliquez sur l'image pour générer un nouveau code.">
+                  <img src="" id="captchaimg">
+                </button>
+              </span>
+              <input type="text" class="form-control" ng-model='model.captcha' name='captcha' id='captcha' value="" required="required" >
+            </div>
+            <div class="error help-block" ng-show="formContactAdmin.captcha.$error.required">Saisie obligatoire</div>
+          </div>
+          <div class="form-group">
+            <label for="message" class="control-label">Message</label>
+            <textarea class="form-control" ng-model='model.message' required="required" name="message" id="message"></textarea>
+          <div class="error help-block" ng-show="formContactAdmin.message.$error.required">Saisie obligatoire</div>
+          </div>
+      </div>
+      <div class="modal-footer">
+        <button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
+        <button type="submit" class="btn btn-primary" name="VALIDATION">Valider</button>
+      </div>
+        </form>
+    </div>
+  </div>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/templates/editor.html b/src/main/webapp/apps_extend/templates/editor.html
new file mode 100644
index 0000000000000000000000000000000000000000..d9ae1395ce0bbca039caaf40f0a00fcf889f96de
--- /dev/null
+++ b/src/main/webapp/apps_extend/templates/editor.html
@@ -0,0 +1,82 @@
+<!-- geonetwork-3.2.0-0/catalog/components/search/resultsview/partials/viewtemplates/editor.html -->
+<table class="table gn-results-editor contribute-search-results gn-resultview">
+  <tr data-ng-repeat="md in searchResults.records" ng-class="'metadata-' + (md.type).join(' metadata-')">
+    <td>
+      <input data-gn-selection-md type="checkbox"
+             data-ng-model="md['geonet:info'].selected"
+             data-ng-change="change()"/>
+      <span
+        data-ng-class="md.valid == 1 ? 'text-success' : (md.valid == 0 ? 'text-danger' : 'text-muted')">
+        <i class="fa"
+           data-ng-class="'gn-recordtype-' + md.isTemplate"
+           data-ng-show="user.isReviewerOrMore()"
+           title="{{('isTemplate' + md.isTemplate) | translate}} ({{('validStatus-' + md.valid) | translate}})"></i>
+      </span>
+      <a href=""
+         data-ng-show="md.isTemplate != 's'"
+         data-ng-href="catalog.search#/metadata/{{md.getUuid()}}"
+         title="{{md.abstract}}">{{md.title || md.defaultTitle}}</a>
+      <span data-ng-show="md.isTemplate == 's'">{{md.title || md.defaultTitle}}</span>
+      <br/>
+      <div class="gn-record-details">
+        <span title="{{'metadataAuthor' | translate}}">{{md.getOwnername()}}</span>
+        <span class="pull-right text-muted"
+              data-ng-class="{'text-success': md.mdStatus == 2, 'text-warning': md.mdStatus == 4}"
+              data-ng-show="md.mdStatus">{{('status-' + md.mdStatus) | translate}}</span>
+      </div>
+    </td>
+    <td>
+      <!-- prodige metadata actions -->
+      <div data-gn-fix-mdlinks>
+        <div class="gn-md-links"></div>
+      </div>
+    </td>
+    <td>
+      <a class="btn btn-link"
+         data-ng-href=""
+         data-ng-if="user.canEditRecord(md) && user.isEditorOrMore()"
+         data-ng-click="mdService.openPrivilegesPanel(md, getCatScope())"
+         title="{{'privileges' | translate}}">
+        <i class="fa text-muted"
+           data-ng-class="md.isPublished() ? 'fa-unlock' : 'fa-lock'"></i>
+      </a>
+    </td>
+    <td>
+      <!-- TODO: subtemplate link for editing is different -->
+      <a class="btn btn-link"
+         data-ng-show="user.canEditRecord(md) && md.isTemplate != 's'"
+         data-ng-href="#/metadata/{{md['geonet:info'].id}}"
+         title="{{'edit' | translate}}">
+        <i class="fa fa-pencil"></i>
+      </a>
+    </td>
+    <!-- prodige metadata actions : replace default 'delete' action of geosource -->
+    <!--
+    <td>
+      <a class="btn btn-link"
+         data-ng-show="user.canEditRecord(md) && md.isTemplate != 's'"
+         data-gn-click-and-spin="deleteRecord(md)"
+         data-gn-confirm-click="{{'deleteRecordConfirm' | translate:md}}"
+         title="{{'delete' | translate}}">
+        <i class="fa fa-times text-danger"></i>
+      </a>
+    </td>
+    -->
+    <td>
+      <a class="btn btn-link"
+         data-ng-show="md.isTemplate != 's'"
+         data-ng-href="#/create?from={{md['geonet:info'].id}}"
+         title="{{'duplicate' | translate}}">
+        <i class="fa fa-copy text-muted"></i>
+      </a>
+    </td>
+    <td>
+      <a class="btn btn-link"
+         data-ng-show="user.canEditRecord(md) && md.isTemplate != 's'"
+         data-ng-href="#/create?childOf={{md['geonet:info'].id}}"
+         title="{{'createChild' | translate}}">
+        <i class="fa fa-sitemap text-muted"></i>
+      </a>
+    </td>
+  </tr>
+</table>
diff --git a/src/main/webapp/apps_extend/templates/ext-messages.html b/src/main/webapp/apps_extend/templates/ext-messages.html
new file mode 100644
index 0000000000000000000000000000000000000000..2425c4e32f4c90d611e2f117561b2ac6490fdeb8
--- /dev/null
+++ b/src/main/webapp/apps_extend/templates/ext-messages.html
@@ -0,0 +1,22 @@
+<div class="modal fade"  ng-controller="extMessages" id="extMessages" tabindex="-1" role="dialog" aria-labelledby="ext-messages-title">
+  <div  class="modal-dialog" role="document">
+    <div class="modal-content">
+      <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+        <h4 class="modal-title" id="ext-messages-title">{{ title }}</h4>
+      </div>
+      <div class="modal-body" ng-bind-html="body">
+      </div>
+      <div class="modal-footer">
+        <button type="button" class="btn btn-default" data-dismiss="modal"" style="display:none" id="autoclose">autoclose</button>
+      <div ng-if="modaltype == 'alert'">
+        <button type="button" class="btn btn-default" data-dismiss="modal"" ng-click="confirmFn('ok')">OK</button>
+      </div>
+      <div ng-if="modaltype == 'confirm'">
+        <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="confirmFn('yes')">Oui</button>
+        <button type="button" class="btn btn-default" data-dismiss="modal">Non</button>
+      </div>
+      </div>
+    </div>
+  </div>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/templates/harvested-synchronization.html b/src/main/webapp/apps_extend/templates/harvested-synchronization.html
new file mode 100644
index 0000000000000000000000000000000000000000..8e17982ab11d0a26fe826d91215b2e8838f5a7d4
--- /dev/null
+++ b/src/main/webapp/apps_extend/templates/harvested-synchronization.html
@@ -0,0 +1,42 @@
+<div class="modal fade"  ng-controller="harvestedSynchronization" id="harvestedSynchronization" tabindex="-1" role="dialog" aria-labelledby="harvestedSynchronisationLabel">
+  <div  class="modal-dialog" role="document">
+    <div class="modal-content">
+      <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+        <h4 class="modal-title" id="harvestedSynchronisationLabel">Paramétrer la synchronisation des données SIG de la métadonnée</h4>
+      </div>
+      <div class="modal-body">
+      <table class="table table-striped table-hover table-bordered table-responsive">
+        <ng-repeat ng-repeat="source in metadataSources">
+        <tr>
+        <td colspan="2">
+          <div class='synchronisation-source'>
+            <div class='source-name'>{{ source.title }}</div>
+            <div class='source-description'>{{ source.description }}</div>
+          </div>
+        </td>
+        <td>
+          <input type="radio" name="import_data_source" value="{{ link.url }}"/>
+        </td>
+        </tr>
+        <tr ng-repeat="link in sources.links">
+          <td>&nbsp;</td>
+          <td>
+            <div class='synchronisation-source'>
+              <div class='source-name'>{{ link.title }}</div>
+              <div class='source-description'>{{ link.description }}</div>
+            </div>
+          </td>
+          <td>
+            <input type="radio" name="import_data_source" value="{{ link.url }}"/>
+          </td>
+        </tr>
+        </ng-repeat>
+        <tr class="animate-repeat" ng-if="metadataSources.length == 0">
+          <td><strong>Aucun lien de téléchargement des données défini...</strong></td>
+        </tr>
+      </table>
+      </div>
+    </div>
+  </div>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/templates/help-modal.html b/src/main/webapp/apps_extend/templates/help-modal.html
new file mode 100644
index 0000000000000000000000000000000000000000..852f0cb9c389e39e619c26c8f4f40b6f33e46048
--- /dev/null
+++ b/src/main/webapp/apps_extend/templates/help-modal.html
@@ -0,0 +1,27 @@
+<div class="modal fade" ng-controller="helpModal" id="helpModal"
+  tabindex="-1" role="dialog" aria-labelledby="helpModalLabel">
+  <div class="modal-dialog" role="document">
+    <div class="modal-content">
+      <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal"
+          aria-label="Close">
+          <span aria-hidden="true">&times;</span>
+        </button>
+        <h4 class="modal-title" id="helpModalLabel">Aide</h4>
+      </div>
+      <div class="modal-body">
+        <div ng-repeat="elt in help" class="thumbnail">
+          <div class="row gn-md-title">
+            <h4>
+              <a ng-href="{{ elt.url }}" title="{{ elt.title }}"
+                target="_blank" class="ng-binding"> <i
+                class="fa gn-icon-series" title="dataset"></i> {{ elt.title }}
+              </a>
+            </h4>
+            {{ elt.desc }}
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/templates/metadata-actions.html b/src/main/webapp/apps_extend/templates/metadata-actions.html
new file mode 100644
index 0000000000000000000000000000000000000000..913630748afed287d22e3b97b37ed3da9246ce12
--- /dev/null
+++ b/src/main/webapp/apps_extend/templates/metadata-actions.html
@@ -0,0 +1,27 @@
+<!-- <colored ng-init="setMetadataDecoration()"></colored> -->
+
+          <div class="btn-group"
+               ng-show="$root.prodige.loaded">
+            <button type="button"
+                    class="btn btn-default dropdown-toggle prodige-menu"
+                    ng-class="prodigeIsContributeMenu ? 'btn-xs' : ''"
+                    data-toggle="dropdown"
+                    title="Actions"  ng-show="setMetadataDecoration()"
+                    ng-click="initMetadataActions()">
+              <span class="fa fa-plus"></span>
+              <span class="caret"></span>
+            </button>
+            <div class="dropdown-menu dropdown-menu-right metadataActions" role="menu">
+            <span class="loading fa fa-spinner fa-spin" ng-show="getting_rights"></span>
+            </div>
+          </div>
+
+
+          <div class="btn-group" ng-repeat="link in ::catalogue_actions"
+               data-ng-class="::catalogue_actions.length > 0 ? '' : 'invisible'">
+            <button type="button"
+                    class="btn btn-default"
+                    ng-click="link.url()" title="{{::link.desc}}">
+              <img data-ng-src="{{::link.icon}}"/>
+            </button>
+          </div>
diff --git a/src/main/webapp/apps_extend/templates/metadata-cart.html b/src/main/webapp/apps_extend/templates/metadata-cart.html
new file mode 100644
index 0000000000000000000000000000000000000000..a221275093b999714074547c4d12f853da18375b
--- /dev/null
+++ b/src/main/webapp/apps_extend/templates/metadata-cart.html
@@ -0,0 +1,36 @@
+<script type="text/javascript" src='../../apps_extend/panier.js'></script>
+<div class="modal fade"  ng-controller="metadataCart" ng-init='initMetadataCart()' id="metadataCart" tabindex="-1" role="dialog" aria-labelledby="contactAdminLabel">
+  <div  class="modal-dialog" role="document">
+    <div class="modal-content">
+      <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+        <h4 class="modal-title" id="contactAdminLabel">
+        Données choisies <ng-pluralize count="metadatas.length" when="{'0': '', 'one': '(1 élément)', 'other': '({} éléments)'}"></ng-pluralize>
+        </h4>
+      </div>
+      <div class="modal-body">
+      <table class="table table-striped table-hover table-bordered table-responsive">
+        <tr ng-repeat="ametadata in metadatas | orderBy:'title'">
+        <td>{{ ametadata.title }}</td>
+        <td class="text-center" style="vertical-align:middle;">
+        <span ng-show="ametadata.can_storage===null">Vérification des droits</span>
+          <a href="" class="btn btn-xs btn-link"
+             title="Retirer des données choisies"
+             ng-click="panier_retirer(ametadata)">
+             <i class="fa fa-times delete" style="vertical-align:baseline;"></i>
+          </a>
+        </td>
+        </tr>
+        <tr class="animate-repeat" ng-if="metadatas.length == 0">
+          <td><strong>Aucune métadonnée...</strong></td>
+        </tr>
+      </table>
+      </div>
+      <div class="modal-footer" ng-if="metadatas.length > 0">
+        <button type="button" class="btn btn-primary" ng-click="panier_downloadParametrage()"><span class="fa fa-download"></span>&nbsp;Télécharger</button>
+        <button type="submit" class="btn btn-primary" ng-click="panier_covisualiser()"><span class="fa fa-eye"></span>&nbsp;Co-visualiser</button>
+        <button type="submit" class="btn btn-default" ng-click="panier_vider()"><span class="fa fa-eraser"></span>&nbsp;Vider</button>
+      </div>
+    </div>
+  </div>
+</div>
\ No newline at end of file
diff --git a/src/main/webapp/apps_extend/templates/top-toolbar.html b/src/main/webapp/apps_extend/templates/top-toolbar.html
new file mode 100644
index 0000000000000000000000000000000000000000..8e50607f2d709fa47d89e61b291277e14356817c
--- /dev/null
+++ b/src/main/webapp/apps_extend/templates/top-toolbar.html
@@ -0,0 +1,53 @@
+<div ng-if="$root.prodige.loaded">
+  <!-- Actions complémentaires ajoutées à la barre d'outils -->
+  <ul class="nav navbar-nav navbar-right">
+    <li __data-ng-show="authenticated">
+      <a data-toggle="modal" data-target="#metadataCart"
+         title="Données choisies"
+         class="hidden-xs btn btn-link">
+        <i class="fa fa-star"></i>&nbsp;
+        Données choisies
+      </a>
+    </li>
+    <li ng-if="$root.prodige.PRO_CATALOGUE_CONTACT_ADMIN == 'on'">
+      <a data-toggle="modal" data-target="#contactAdmin" ng-click="initContactForm()"
+         title="Contacter l'administrateur"
+         class="hidden-xs btn btn-link">
+        <i class="fa fa-envelope"></i>&nbsp;
+        Contacter l'administrateur
+      </a>
+      <ng-include src="'../../apps_extend/templates/contact-admin.html'"></ng-include>
+    </li>
+    <li ng-if="$root.prodige.PRO_CATALOGUE_NB_SESSION_USER == 'on'">
+    <a  class="hidden-xs btn btn-link">
+          <b>#</b><ng-pluralize count="$root.prodige.sessionNumber"
+                 when="{'0': '0 visiteur',
+                     'one': '1 visiteur',
+                     'other': '{} visiteurs'}"></ng-pluralize>
+    </a>
+    </li>
+    <li class="dropdown dropdown-hover open">
+        <a data-gn-active-tb-item="admin.console"
+           title="Autres actions"
+           class="dropdown-toggle"
+           role="button" aria-expanded="false">
+          <i class="fa fa-wrench"></i>
+          <span class="hidden-sm">Autres actions</span>
+        </a>
+      <ul class="dropdown-menu">
+        <li ng-if="$root.prodige.routes.catalogue.carteperso"><a data-gn-active-tb-item="{{ $root.prodige.routes.catalogue.carteperso }}" target="_blank"><i class="fa fa-fw fa-globe"></i> Cartes personnelles</a></li>
+        <li ng-if="$root.prodige.routes.admin.prodige_admin"><a data-gn-active-tb-item="{{ $root.prodige.routes.admin.prodige_admin }}"  target="_blank"><i class="fa fa-fw fa-group"></i> Administration générale</a></li>
+        <li ng-if="$root.prodige.routes.admin.prodige_adminsite"><a data-gn-active-tb-item="{{ $root.prodige.routes.admin.prodige_adminsite }}"  target="_blank"><i class="fa fa-fw fa-cogs"></i> Administration de la plate-forme</a></li>
+        <li ng-if="$root.prodige.routes.admin.prodige_standards"><a data-gn-active-tb-item="{{ $root.prodige.routes.admin.prodige_standards }}"  target="_blank"><i class="fa fa-fw fa-thumbs-up"></i> Module qualité</a></li>
+        <li ng_if = "$root.prodige.routes.admin.optional.catalogue_opendata"><a href="{{ $root.prodige.routes.admin.optional.catalogue_opendata }}"  target="_blank"><i class="fa fa-fw fa-paper-plane"></i> Moissonnage DCAT</a><li>
+        <li ng-if="$root.prodige.routes.admin.prodige_base_territoriale"><a data-gn-active-tb-item="{{ $root.prodige.routes.admin.prodige_base_territoriale }}"  target="_blank"><i class="fa fa-fw fa-outdent"></i> Module base territoriale</a></li>
+        <li><a data-toggle="modal" data-target="#helpModal" class="btn-link"><i class="fa fa-fw fa-question-circle"></i> Aide</a></li>
+      </ul>
+    </li>
+  </ul>
+  
+  <ng-include src="'../../apps_extend/templates/metadata-cart.html'"></ng-include>
+  <ng-include src="'../../apps_extend/templates/help-modal.html'"></ng-include>
+  <ng-include src="'../../apps_extend/templates/ext-messages.html'"></ng-include>
+  
+</div>
diff --git a/src/main/webapp/apps_extend/util.js b/src/main/webapp/apps_extend/util.js
new file mode 100644
index 0000000000000000000000000000000000000000..ae535a854dadcaa9073c00f6cdaf9fe43b27a3d1
--- /dev/null
+++ b/src/main/webapp/apps_extend/util.js
@@ -0,0 +1,152 @@
+if ( typeof Ext == "undefined" ) Ext = {};
+if ( typeof Ext.menu == "undefined" ) Ext.menu = {};
+if ( typeof Ext.Msg == "undefined" ) Ext.Msg = {};
+if ( typeof Ext.menu.Item == "undefined" ) Ext.menu.Item = {};
+if ( typeof Ext.DomQuery == "undefined" ) Ext.DomQuery = {};
+
+Ext.encode = function(json) {
+  return JSON.stringify(json);
+};
+Ext.decode = function(text) {
+  return JSON.parse(text);
+};
+
+function TextEncode(strParam)
+{
+  var t = new String("test");
+  if (!t.charCodeAt) return strParam;
+  strParam = encodeToUTF8(strParam);
+  var strEncode = "";
+  for(var i=0; i<strParam.length; i++) {
+    strEncode += DecToHexa(strParam.charCodeAt(i));
+  }
+  return strEncode;
+}
+
+function TextDecode(strParam)
+{  
+  var test = "";
+  var t = new String("test");
+  if (!t.fromCharCode && !String.fromCharCode) return strParam;
+  //décodage
+  var strDecode = "";
+  for(var i=0; i<strParam.length; i+=2 ) {
+    strDecode = new String(strDecode) + String.fromCharCode( HexaToDec(strParam.substr(i, 2) ) ) ;
+  }
+
+  return decodeFromUTF8(strDecode);
+}
+
+function DecToHexa(integer, bIter){
+  var tabConv = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
+  if (integer<=15 ) {
+    if( bIter) return tabConv[integer]; 
+    return "0"+tabConv[integer];
+  }
+  var quotient = Math.floor(integer/16);
+  var remainder = integer % 16;
+  return new String(DecToHexa(quotient,true))+new String(DecToHexa(remainder,true));
+}
+
+function HexaToDec(hexa){
+  var tabConv = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
+  if (hexa.length==1){
+    for (var j=0; j<tabConv.length; j++){
+      if (tabConv[j].toLowerCase()==hexa.toLowerCase()) return j;
+    }
+    return 0;
+  }
+  var res = 0;
+  for (var p=0; p<hexa.length; p++){
+    res = new Number( new Number(res) + new Number(HexaToDec(hexa.charAt(p))*Math.pow(16, hexa.length - p -1)) );
+  }
+  return res;
+}
+
+function encodeToUTF8(strLatin1) 
+{
+  var strUTF8 = "";
+
+  for (var n = 0; n < strLatin1.length; n++) {
+    var c = strLatin1.charCodeAt(n);
+    if (c < 128) {
+      strUTF8 += String.fromCharCode(c);
+    }
+    else if((c > 127) && (c < 2048)) {
+      strUTF8 += String.fromCharCode((c >> 6) | 192);
+      strUTF8 += String.fromCharCode((c & 63) | 128);
+    }
+    else {
+      strUTF8 += String.fromCharCode((c >> 12) | 224);
+      strUTF8 += String.fromCharCode(((c >> 6) & 63) | 128);
+      strUTF8 += String.fromCharCode((c & 63) | 128);
+    }
+  }
+
+  return strUTF8;
+}
+    
+function decodeFromUTF8(strUTF8) {
+  var strLatin1 = "";
+  var i = 0;
+  var c = c1 = c2 = 0;
+
+  while ( i < strUTF8.length ) {
+    c = strUTF8.charCodeAt(i);
+    if (c < 128) {
+      strLatin1 += String.fromCharCode(c);
+      i++;
+    }
+    else if((c > 191) && (c < 224)) {
+      c2 = strUTF8.charCodeAt(i+1);
+      strLatin1 += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
+      i += 2;
+    }
+    else {
+      c2 = strUTF8.charCodeAt(i+1);
+      c3 = strUTF8.charCodeAt(i+2);
+      strLatin1 += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
+      i += 3;
+    }
+  }
+
+  return strLatin1;
+}
+function getCheckSumEncodage(strToken)
+{
+  var tabTrad = new Array();
+  for(var i=0; i<10; i++) tabTrad[i] = i;
+  tabTrad["A"] = tabTrad["a"] = 10;
+  tabTrad["B"] = tabTrad["b"] = 11;
+  tabTrad["C"] = tabTrad["c"] = 12;
+  tabTrad["D"] = tabTrad["d"] = 13;
+  tabTrad["E"] = tabTrad["e"] = 14;
+  tabTrad["F"] = tabTrad["f"] = 15;
+   
+  var iChecksum = 0;
+  for(i=0; i<strToken.length; i++) {
+    iChecksum += parseInt(tabTrad[strToken.charAt(i)]);
+  }
+  return iChecksum;
+}
+
+function replace_html(el, html) {
+	if( el ) {
+		var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
+		var newEl = document.createElement(oldEl.nodeName);
+
+		// Preserve any properties we care about (id and class in this example)
+		newEl.id = oldEl.id;
+		newEl.className = oldEl.className;
+
+		//set the new HTML and insert back into the DOM
+		newEl.innerHTML = html;
+		if(oldEl.parentNode)
+			oldEl.parentNode.replaceChild(newEl, oldEl);
+		else
+		oldEl.innerHTML = html;
+
+		//return a reference to the new element in case we need it
+		return newEl;
+	}
+}; 
diff --git a/src/main/webapp/catalog/components/cookieWarning/partials/cookieWarning.html b/src/main/webapp/catalog/components/cookieWarning/partials/cookieWarning.html
new file mode 100644
index 0000000000000000000000000000000000000000..710fa97e7ea7edec0a450b90dd3c1f618ba654cb
--- /dev/null
+++ b/src/main/webapp/catalog/components/cookieWarning/partials/cookieWarning.html
@@ -0,0 +1,16 @@
+<div class="cookie-warning"
+     data-ng-show="{{showCookieWarning}}"
+     data-ng-controller="CookieWarningController">
+
+  <p class="{showCookieWarning}"
+     data-translate="">cookieWarning</p>
+  <p>
+    <a href="https://www.cnil.fr/fr/site-web-cookies-et-autres-traceurs" target="cookie_law"
+       data-translate="">moreOnCookie</a>
+  </p>
+  <p>
+    <span data-ng-click="close()" data-translate="">acceptCookie</span>&nbsp;
+    <span data-translate="">or</span>&nbsp;
+    <span data-ng-click="goAway()" data-translate="">rejectCookie</span>
+  </p>
+</div>
diff --git a/src/main/webapp/catalog/js/jscompatibility.js b/src/main/webapp/catalog/js/jscompatibility.js
new file mode 100644
index 0000000000000000000000000000000000000000..5511f36a4e0e4909f346f76f6a2bb0b42aa63493
--- /dev/null
+++ b/src/main/webapp/catalog/js/jscompatibility.js
@@ -0,0 +1,14 @@
+if ( !String.prototype.includes ) {
+  String.prototype.includes = function(search, start) {
+    'use strict';
+    if (typeof start !== 'number') {
+      start = 0;
+    } 
+
+    if (start + search.length > this.length) {
+      return false;
+    } else {
+      return this.indexOf(search,start) !== -1;
+    }
+  };
+}
\ No newline at end of file
diff --git a/src/main/webapp/catalog/lib/jquery.ext/jquery.cookie.js b/src/main/webapp/catalog/lib/jquery.ext/jquery.cookie.js
new file mode 100644
index 0000000000000000000000000000000000000000..feb62e92561a63eae96ff42e50ed873944382a5d
--- /dev/null
+++ b/src/main/webapp/catalog/lib/jquery.ext/jquery.cookie.js
@@ -0,0 +1,117 @@
+/*!
+ * jQuery Cookie Plugin v1.4.1
+ * https://github.com/carhartl/jquery-cookie
+ *
+ * Copyright 2006, 2014 Klaus Hartl
+ * Released under the MIT license
+ */
+(function (factory) {
+	if (typeof define === 'function' && define.amd) {
+		// AMD
+		define(['jquery'], factory);
+	} else if (typeof exports === 'object') {
+		// CommonJS
+		factory(require('jquery'));
+	} else {
+		// Browser globals
+		factory(jQuery);
+	}
+}(function ($) {
+
+	var pluses = /\+/g;
+
+	function encode(s) {
+		return config.raw ? s : encodeURIComponent(s);
+	}
+
+	function decode(s) {
+		return config.raw ? s : decodeURIComponent(s);
+	}
+
+	function stringifyCookieValue(value) {
+		return encode(config.json ? JSON.stringify(value) : String(value));
+	}
+
+	function parseCookieValue(s) {
+		if (s.indexOf('"') === 0) {
+			// This is a quoted cookie as according to RFC2068, unescape...
+			s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
+		}
+
+		try {
+			// Replace server-side written pluses with spaces.
+			// If we can't decode the cookie, ignore it, it's unusable.
+			// If we can't parse the cookie, ignore it, it's unusable.
+			s = decodeURIComponent(s.replace(pluses, ' '));
+			return config.json ? JSON.parse(s) : s;
+		} catch(e) {}
+	}
+
+	function read(s, converter) {
+		var value = config.raw ? s : parseCookieValue(s);
+		return $.isFunction(converter) ? converter(value) : value;
+	}
+
+	var config = $.cookie = function (key, value, options) {
+
+		// Write
+
+		if (arguments.length > 1 && !$.isFunction(value)) {
+			options = $.extend({}, config.defaults, options);
+
+			if (typeof options.expires === 'number') {
+				var days = options.expires, t = options.expires = new Date();
+				t.setTime(+t + days * 864e+5);
+			}
+
+			return (document.cookie = [
+				encode(key), '=', stringifyCookieValue(value),
+				options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
+				options.path    ? '; path=' + options.path : '',
+				options.domain  ? '; domain=' + options.domain : '',
+				options.secure  ? '; secure' : ''
+			].join(''));
+		}
+
+		// Read
+
+		var result = key ? undefined : {};
+
+		// To prevent the for loop in the first place assign an empty array
+		// in case there are no cookies at all. Also prevents odd result when
+		// calling $.cookie().
+		var cookies = document.cookie ? document.cookie.split('; ') : [];
+
+		for (var i = 0, l = cookies.length; i < l; i++) {
+			var parts = cookies[i].split('=');
+			var name = decode(parts.shift());
+			var cookie = parts.join('=');
+
+			if (key && key === name) {
+				// If second argument (value) is a function it's a converter...
+				result = read(cookie, value);
+				break;
+			}
+
+			// Prevent storing a cookie that we couldn't decode.
+			if (!key && (cookie = read(cookie)) !== undefined) {
+				result[name] = cookie;
+			}
+		}
+
+		return result;
+	};
+
+	config.defaults = {};
+
+	$.removeCookie = function (key, options) {
+		if ($.cookie(key) === undefined) {
+			return false;
+		}
+
+		// Must not alter options, thus extending a fresh object...
+		$.cookie(key, '', $.extend({}, options, { expires: -1 }));
+		return !$.cookie(key);
+	};
+
+}));
diff --git a/src/main/webapp/catalog/locales/fr-alk-extend.json b/src/main/webapp/catalog/locales/fr-alk-extend.json
new file mode 100644
index 0000000000000000000000000000000000000000..a433e2ec16dcf69f15133c68755f631202bed996
--- /dev/null
+++ b/src/main/webapp/catalog/locales/fr-alk-extend.json
@@ -0,0 +1,5 @@
+{
+    "basket" : "Panier",
+    "contactAdmin" : "Contacter l'administrateur",
+    "moreActions" : "Autres actions"
+}
\ No newline at end of file
diff --git a/src/main/webapp/catalog/style/gn_viewer.less b/src/main/webapp/catalog/style/gn_viewer.less
new file mode 100644
index 0000000000000000000000000000000000000000..66698aebd0ba5dff05f16031fd89a5a9b6a14508
--- /dev/null
+++ b/src/main/webapp/catalog/style/gn_viewer.less
@@ -0,0 +1,694 @@
+@import "gn_bootstrap.less";
+
+@viewport-padding: 1em;
+@transition-params: .3s ease;
+
+@gn-popup-max-width: 1200px;
+
+
+[gn-main-viewer],
+.gn-main-viewer {
+  position: relative;
+
+  [role=tooltip] {
+    position: absolute;
+    clip: rect(1px, 1px, 1px, 1px);
+    right: 0;
+  }
+
+  fieldset legend {
+    margin-bottom: 2px;
+  }
+
+  .gn-layertree-filter {
+    margin: 0 0 15px 0px;
+    position:relative;
+    .clear {
+      right: 1em;
+      position: absolute;
+      top: 7px;
+    }
+  }
+
+  .wrapper {
+    width: 100%;
+    height: 100%;
+    min-height: 100%;
+  }
+  [ngeo-map] {
+    width: 100%;
+    height: 89.9vh;
+    &.gn-gfi-loading:hover {
+      cursor: wait;
+    }
+  }
+  .popover-dropdown, [gn-popover-dropdown] {
+    .dropdown-menu {
+      max-height: 45vh;
+      overflow: auto;
+
+    }
+    .dropdown-toggle {
+      padding: 0;
+      border: none;
+    }
+  }
+  .search-container {
+    position: absolute;
+    top: @viewport-padding;
+    left: @viewport-padding;
+    width: 20em;
+    .dropdown-menu {
+      width: 100%;
+      top: ~"calc(100% - 3px)";
+      background: rgba(255,255,255,.9);
+      padding: 0 0 1em;
+      h5 {
+        padding: 0 1em;
+      }
+      ul {
+        margin:0;
+        background: #fff;
+      }
+      li {
+        background: transparent;
+        padding: 0;
+        &:hover {
+        }
+      }
+      a {
+        padding: .5em 1em;
+        display: block;
+        em {
+          font-size: 90%;
+          color: grey;
+        }
+      }
+    }
+    .clear {
+      position: absolute;
+      top: .75em;
+      right: 3.5em;
+      color: #666;
+      z-index: 99;
+      &:hover {
+        cursor: pointer;
+        color: #222;
+      }
+    }
+  }
+  .tools {
+    position: absolute;
+    top: @viewport-padding;
+    right: 0;
+    width: 2.8em;
+    button, [role="button"] {
+      margin-bottom: .2em;
+      border-right-width: none;
+      border-top-right-radius: 0;
+      border-bottom-right-radius: 0;
+      background: rgba(255,255,255,.8);
+      width: 2.8em;
+      transition: background @transition-params;
+      &.active {
+        width: 3.0em;
+        border-left: medium none;
+        border-radius: 0px;
+        margin-left: -0.2em;
+        background: none repeat scroll 0% 0% rgba(0, 0, 0, 0.7);
+        border-color: transparent;
+        color: #FFF;
+      }
+    }
+
+    .tools-spacer {
+      height: 1.4em;
+    }
+  }
+  .control-tools {
+    top: auto;
+    bottom: @viewport-padding;
+  }
+  & > .panel {
+    background: rgba(255,255,255,.8);
+  }
+  .panel-tools {
+    position: absolute;
+    top: @viewport-padding;
+    right: 3em;
+    width: 26em;
+    min-height: 12.8em;
+    height: ~"calc(100% - 2em)";
+    max-width: ~"calc(100% - 4em)";
+    overflow-y: auto;
+    transition: opacity @transition-params;
+    h3 {
+      margin-top: 15px;
+    }
+    li[gn-layermanager-item] {
+      .fa-arrows-alt,.gn-layer-ordering {
+        opacity: 0;
+        transition: opacity @transition-params;
+      }
+      label {
+        padding: 0px;
+        display: block;
+        margin-bottom: 0px;
+
+      }
+    }
+    .gn-layer-outofrange > label {
+      color: #999;
+    }
+    .gn-searchlayer {
+      label {
+        font-size: 90%;
+        max-width: 68%;
+      }
+    }
+    .list-group-item {
+      transition: max-height @transition-params;
+      &:hover {
+        .fa-arrows-alt, .gn-layer-ordering {
+          opacity: 1
+        }
+      }
+      label {
+        font-weight: normal;
+      }
+      & > label {
+        font-size: 90%;
+        max-width: 72%;
+      }
+    }
+    .btn-group.gn-layer-btn {
+      display: inherit;
+    }
+    .btn-group {
+      display: flex;
+      .btn {
+        flex: 1;
+      }
+    }
+    .flux, .context {
+      margin: .2em;
+    }
+    .baselayer {
+      .dropdown-menu {
+        width: 100%;
+        top: 100%;
+        bottom: unset;
+      }
+    }
+    .gn-layer-actions {
+      [ngeo-popover-anchor] {
+        text-decoration: none;
+      }
+    }
+    .unfold {
+      opacity: 0;
+      transition: opacity @transition-params;
+      float: right;
+      border: none;
+      background: none;
+      padding: 0;
+    }
+    .unfold,
+    .close {
+      margin-top: -.1em;
+      margin-right: .2em;
+    }
+    .details {
+      font-size: 90%;
+      margin: 0 0 .5em 0;
+      p {
+        overflow: auto;
+      }
+      .delete {
+        .btn-xs;
+        .pull-right;
+        clear: both;
+        margin-top: 1.3em;
+      }
+    }
+    h5 {
+      margin: .2em 0;
+    }
+    [gn-layermanager] {
+      max-height: 44em;
+      overflow-y: auto;
+      .gn-layer-ordering {
+        margin-top: -4px;
+        margin-right: -10px;
+        .fa {
+          padding: 0px 10px;
+          font-size: 0.8em;
+        }
+      }
+      ul {
+        margin-bottom: 4px;
+      }
+    }
+    .metadata {
+      .btn;
+      .btn-link;
+      width: 100%;
+      font-style: italic;
+      font-size: 13px;
+    }
+    label {
+      padding: 10px 0;
+      font-weight: normal;
+    }
+  }
+
+  @import "../components/viewer/wmsimport/style/layertree.less";
+
+  .fu {
+    position: relative;
+    input[type=file] {
+      position: absolute;
+      top: 0;
+      left: 0;
+      opacity: 0;
+      width: 100%;
+    }
+  }
+
+  //.collapsed {
+  //  max-height: 0;
+  //  min-height: 0;
+  //  overflow-y: hidden;
+  //  border: 0;
+  //  margin: 0;
+  //  padding: 0;
+  //}
+  .force-hide {
+    opacity: 0;
+    pointer-events: none;
+  }
+
+  /* hackish tmp */
+  .ol-overlaycontainer-stopevent {
+    /* display: none; */
+  }
+  .overlay {
+    position: absolute;
+    bottom: 12px;
+    left: ~"calc(-10px - 2em)";
+    background: rgba(60,60,60,.8);
+    line-height: 2em;
+    padding: 1em;
+    width: 17em;
+    color: #fff;
+    text-shadow: 0 0 1px #000;
+    border-radius: 2px;
+    font-size: 12px;
+    &:after {
+      content: ' ';
+      position: absolute;
+      bottom: -10px;
+      left: 2em;
+      width: 0;
+      height: 0;
+      border-style: solid;
+      border-width: 10px 10px 0 10px;
+      border-color: rgba(60,60,60,.8) transparent;
+    }
+    dl {
+      margin-bottom: 0;
+      dl dd, dl dt {
+        display: block;
+        float: none;
+        width: 100%;
+        margin-left: 0;
+        text-align: left;
+      }
+    }
+    dt {
+      width: 6em;
+    }
+    dd {
+      margin-left: 6.5em;
+    }
+  }
+
+  /* jquery-ui slider */
+  .ui-slider {
+    position: relative;
+    text-align: left;
+    border: 1px solid #ddd;
+    height: .7em;
+    margin: 0.8em 0;
+
+    .ui-slider-range {
+      position: absolute;
+      z-index: 1;
+      font-size: .7em;
+      display: block;
+      border: 0;
+      background-position: 0 0;
+      background-color: dimgrey;
+      top: 0;
+      height: 100%;
+    }
+    .ui-slider-handle {
+      top: -.3em;
+      margin-left: -.6em;
+      position: absolute;
+      z-index: 2;
+      width: 0.8em;
+      height: 1.2em;
+      border-radius: 1.2em;
+      cursor: ew-resize;
+    }
+    .ui-state-default {
+      border: 1px solid #d3d3d3;
+      background: #e6e6e6 none 50% 50% repeat-x;
+      font-weight: normal;
+      color: #555555;
+    }
+  }
+
+  /* Measures */
+  .gn-measure-text {
+    .alert {
+      margin-top: 1em;
+    }
+    dt {
+      width: 120px;
+    }
+    dd {
+      margin-left: 130px;
+    }
+  }
+
+
+  .alert-warning  {
+    background: rgba(252,248,227,.6)
+  }
+  .panel-sm {
+    font-size: @font-size-small;
+  }
+
+  [gn-localisation-input] {
+    .dropdown-menu {
+      padding-bottom: 0;
+    }
+  }
+  .gn-draw-styleform {
+    > div > input {
+      margin: 15px 0;
+      width: 80%;
+    }
+    label {
+      font-weight: normal;
+      font-size: 13px;
+    }
+    form {
+      margin-top: 10px;
+      padding-bottom: 100px;
+      input[type='text'] {
+        width: 146px;
+      }
+      input[type='number'] {
+        width: 55px;
+      }
+      .form-group {
+        margin-top: 2px;
+        margin-bottom: 8px;
+      }
+    }
+  }
+
+
+  [gn-data-filter-view],
+  [data-gn-data-filter-view],
+  .gn-data-filter-view {
+    table {
+      font-size: 80%;
+    }
+    .gn-btn-data-download {
+      position: absolute;
+      right: 0px;
+      top: 18px;
+    }
+  }
+}
+
+[gn-popup] {
+  display: none;
+  min-width: 200px;
+  max-width: @gn-popup-max-width;
+  min-height: 100px;
+  max-height: ~"calc(100% - 89px)";
+  z-index: 2000;
+  height: auto;
+
+  @media (max-width: @screen-tablet) {
+    z-index: 1500;
+    left: 2%;
+    right: 2%;
+    top: 2%;
+    bottom: 2%;
+    max-height: none;
+    max-width: none;
+    overflow-y: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+  @media (max-width: @screen-phone) {
+    position: fixed !important;
+    overflow: hidden;
+  }
+}
+
+[gn-bootstrap-datepicker].input-group[class*="col-"] {
+  padding-left: 15px;
+  padding-right: 15px;
+}
+
+.gn-popup-content {
+  overflow: auto;
+  max-width: inherit;
+  max-height: 600px;
+  font-size: 12px;
+  @media (max-width: @screen-phone) {
+    width: 100%;
+    height: auto;
+    max-height: none;
+    position: absolute;
+    top: 36px;
+    bottom: 10px;
+    overflow-x: hidden;
+    overflow-y: auto;
+    table {
+      width: 100% !important;
+      td {
+        vertical-align: top;
+      }
+    }
+  }
+  .gn-popup-iframe {
+    width: 1000px;
+    height: 600px;
+
+    &.profile {
+      width: 500px;
+      height: 400px;
+    }
+    &.transect {
+      width: 400px;
+      height: 600px;
+    }
+    &.time {
+      width: 400px;
+      height: 300px;
+    }
+  }
+}
+
+
+
+[data-gn-wfs-filter-facets], [gn-wfs-filter-facets] {
+  font-size:12px;
+  .gn-facet {
+    > .list-group {
+      overflow: auto;
+      max-height: 10em;
+      margin-bottom: 10px;
+    }
+
+    .list-group-item:hover {
+      cursor: pointer;
+    }
+    .fa {
+      margin-right: .3em;
+      font-size: 14px;
+    }
+  }
+
+  .btn-group {
+    margin-top: 15px;
+    margin-bottom: 15px;
+    display: inline-block !important;
+  }
+
+  .close {
+    font-size: 14px;
+  }
+}
+
+[gn-wfs-filter-facets-tree] {
+  .list-group .list-group{
+    display: none;
+  }
+  .gn-leaf {
+    margin-left: 16px;
+  }
+}
+
+gn-features-tables, .gn-viewer-info-pane {
+  display          : block;
+  position         : absolute;
+  bottom           : 1em;
+  left             : 1em;
+  right            : 3.8em;
+  background-color : rgba(255,255,255, .6);
+  border-radius    : 3px;
+  .nav li a {
+    background  : rgba(255, 255, 255, .5);
+    text-shadow : 0 0 1px white;
+    .badge {
+      text-shadow : none;
+    }
+  }
+  .tab-content {
+    background : white;
+    min-height : 5em;
+    padding    : 1em;
+  }
+  .gn-features-table {
+    padding          : .25em;
+  }
+  .layername {
+    display        : inline-block;
+    max-width      : 10em;
+    text-overflow  : ellipsis;
+    white-space    : nowrap;
+    overflow       : hidden;
+    vertical-align : middle;
+  }
+  .close {
+    font-size : 24px;
+    margin    : .25em .4em 0 0;
+  }
+
+  .profile {
+    width: 100%;
+    min-height: 20em;
+    height: 200px;
+    overflow-x: auto;
+    svg {
+      width: auto;
+    }
+    .overlay {
+      width: 100%;
+    }
+  }
+}
+
+gn-wps-process-form {
+  .popover-parent {
+    position: relative;
+  }
+
+  ul {
+    list-style: none;
+  }
+
+  .panel {
+    background: none;
+    margin-bottom: 0px;
+    border: none;
+    box-shadow: none;
+
+    .panel-heading {
+      height: 2em;
+      line-height: 1.6em;
+
+      .close {
+        margin-right: -0.2em;
+      }
+    }
+  }
+
+  .form-group .output-selection {
+    display: inline-block;
+  }
+  .form-group .input-group {
+    margin-bottom: 6px;
+  }
+}
+
+gn-geometry-tool .btn-group {
+  display: flex;
+  .btn {
+    flex-basis: initial !important;
+    flex-grow: 1;
+    &.btn-icon {
+      flex-grow: 0 !important;
+    }
+  }
+}
+
+.ol-dragbox, .gnbbox-dragbox {
+   background-color: rgba(255,255,255,0.4);
+   border: solid 2px red;
+ }
+
+.layermanager-item-menu {
+  margin: -9px -14px;
+  ul {
+    li {
+      padding: 8px 10px !important;
+      border-top: 1px solid #ccc;
+      a {
+        font-size: 14px;
+      }
+      &:first-child {
+        border-top: 0;
+      }
+      label {
+        color: #757575;
+      }
+    }
+    input[type="range"] {
+      width: 100% !important;
+    }
+  }
+}
+
+[gn-ows-context] {
+  ul.gn-resultview li.gn-grid {
+    width: 150px;
+    min-width: 150px;
+    max-height: 170px;
+    padding: 2px;
+    margin: 2px;
+    font-size: 80%;
+    text-align: center;
+  }
+  .gn-md-thumbnail {
+    float:left;
+    width: 110px;
+    height: 110px;
+    margin: 2px !important;
+  }
+}
+[data-gn-search-layer-for-map] {
+  .gn-md-thumbnail .gn-img-thumbnail {
+    width: 40px;
+    height: 40px;
+    margin: 2px !important;
+  }
+}
diff --git a/src/main/webapp/catalog/style/inspire/iti.css b/src/main/webapp/catalog/style/inspire/iti.css
new file mode 100644
index 0000000000000000000000000000000000000000..6c1969262cec161b3bf84e7b35a3ac4a12729b59
--- /dev/null
+++ b/src/main/webapp/catalog/style/inspire/iti.css
@@ -0,0 +1,776 @@
+/* Colors by group of themes */
+/* Icons ref for the 34 themes */
+/* Fonts containing icons for the 34 themes */
+@font-face {
+    font-family: 'INSPIRE-themes';
+    src: url('../catalog/style/inspire/INSPIRE-themes.eot?9d9vnf');
+    src: url('../catalog/style/inspire/INSPIRE-themes.eot?#iefix9d9vnf') format('embedded-opentype'), url('../catalog/style/inspire/INSPIRE-themes.ttf?9d9vnf') format('truetype'), url('../catalog/style/inspire/INSPIRE-themes.woff?9d9vnf') format('woff'), url('../catalog/style/inspire/INSPIRE-themes.svg?9d9vnf#INSPIRE-themes') format('svg');
+    font-weight: normal;
+    font-style: normal;
+}
+/* Fonts for labels
+   Generated by Font Squirrel (http://www.fontsquirrel.com) on June 2, 2015 */
+@font-face {
+    font-family: 'pf_square_sans_promedium';
+    src: url('../catalog/style/inspire/pfsquaresanspro-medium-webfont.eot');
+    src: url('../catalog/style/inspire/pfsquaresanspro-medium-webfont.eot?#iefix') format('embedded-opentype'), url('../catalog/style/inspire/pfsquaresanspro-medium-webfont.woff2') format('woff2'), url('../catalog/style/inspire/pfsquaresanspro-medium-webfont.woff') format('woff'), url('../catalog/style/inspire/pfsquaresanspro-medium-webfont.ttf') format('truetype'), url('pfsquaresanspro-medium-webfont.svg#pf_square_sans_promedium') format('svg');
+    font-weight: normal;
+    font-style: normal;
+}
+[class^="iti-"],
+[class*=" iti-"] {
+    font-family: 'INSPIRE-themes';
+    speak: none;
+    font-style: normal;
+    font-weight: normal;
+    font-variant: normal;
+    text-transform: none;
+    line-height: 1;
+    /* Better Font Rendering =========== */
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+}
+.inspire-themes-icons-box,
+.iti-box {
+    border-radius: 6px;
+    border-collapse: initial;
+    margin: 2px;
+    width: 34px;
+    height: 34px;
+    float: left;
+    margin-right: 5px;
+    border: 2px solid;
+    /* Border colors */
+}
+.inspire-themes-icons-box .icon,
+.iti-box .icon {
+    border-radius: 4px;
+    border: 1px solid #ffffff;
+    padding: 0px;
+    width: 32px;
+    height: 32px;
+    background-color: white;
+    font-size: 32px;
+    display: table-cell;
+    vertical-align: middle;
+}
+.inspire-themes-icons-box.acr,
+.iti-box.acr {
+    width: 80px;
+    display: table;
+}
+.inspire-themes-icons-box.acr p.label,
+.iti-box.acr p.label {
+    font-size: 24px;
+    display: table-cell;
+    vertical-align: middle;
+    margin-top: 6px;
+    margin-bottom: 0px;
+}
+.inspire-themes-icons-box.full,
+.iti-box.full {
+    width: 240px;
+    display: table;
+}
+.inspire-themes-icons-box.full p.label,
+.iti-box.full p.label {
+    font-size: 11px;
+    width: 202px;
+    display: table-cell;
+    vertical-align: middle;
+}
+.inspire-themes-icons-box p.label,
+.iti-box p.label,
+.inspire-themes-icons-box p.label:before,
+.iti-box p.label:before {
+    float: left;
+    /*font-family: pf_square_sans_promedium;*/
+    color: white;
+    margin-left: 4px;
+}
+.inspire-themes-icons-box.bu,
+.iti-box.bu,
+.inspire-themes-icons-box.cp,
+.iti-box.cp,
+.inspire-themes-icons-box.gg,
+.iti-box.gg,
+.inspire-themes-icons-box.gn,
+.iti-box.gn,
+.inspire-themes-icons-box.oi,
+.iti-box.oi,
+.inspire-themes-icons-box.rs,
+.iti-box.rs {
+    background-color: #b2b2b2;
+    border-color: #b2b2b2;
+}
+.inspire-themes-icons-box.am,
+.iti-box.am,
+.inspire-themes-icons-box.au,
+.iti-box.au,
+.inspire-themes-icons-box.hh,
+.iti-box.hh,
+.inspire-themes-icons-box.lu,
+.iti-box.lu,
+.inspire-themes-icons-box.pd,
+.iti-box.pd,
+.inspire-themes-icons-box.su,
+.iti-box.su {
+    background-color: #ea572d;
+    border-color: #ea572d;
+}
+.inspire-themes-icons-box.ad,
+.iti-box.ad,
+.inspire-themes-icons-box.af,
+.iti-box.af,
+.inspire-themes-icons-box.el,
+.iti-box.el,
+.inspire-themes-icons-box.er,
+.iti-box.er,
+.inspire-themes-icons-box.pf,
+.iti-box.pf,
+.inspire-themes-icons-box.tn,
+.iti-box.tn,
+.inspire-themes-icons-box.us,
+.iti-box.us {
+    background-color: #f59e00;
+    border-color: #f59e00;
+}
+.inspire-themes-icons-box.ac,
+.iti-box.ac,
+.inspire-themes-icons-box.ef,
+.iti-box.ef,
+.inspire-themes-icons-box.hy,
+.iti-box.hy,
+.inspire-themes-icons-box.mf,
+.iti-box.mf,
+.inspire-themes-icons-box.of,
+.iti-box.of,
+.inspire-themes-icons-box.sr,
+.iti-box.sr {
+    background-color: #36a9e1;
+    border-color: #36a9e1;
+}
+.inspire-themes-icons-box.br,
+.iti-box.br,
+.inspire-themes-icons-box.hb,
+.iti-box.hb,
+.inspire-themes-icons-box.lc,
+.iti-box.lc,
+.inspire-themes-icons-box.ps,
+.iti-box.ps,
+.inspire-themes-icons-box.sd,
+.iti-box.sd {
+    background-color: #95c11f;
+    border-color: #95c11f;
+}
+.inspire-themes-icons-box.ge,
+.iti-box.ge,
+.inspire-themes-icons-box.mr,
+.iti-box.mr,
+.inspire-themes-icons-box.nz,
+.iti-box.nz,
+.inspire-themes-icons-box.so,
+.iti-box.so {
+    background-color: #b17f4a;
+    border-color: #b17f4a;
+}
+/* Icon colors */
+.iti-bu, .iti-15, .iti-Bâtiments,
+.iti-cp, .iti-6, .iti-Parcellescadastrales,
+.iti-gg, .iti-2, .iti-Systèmesdemaillagegéographique,
+.iti-gn, .iti-3, .iti-Dénominationsgéographiques,
+.iti-oi, .iti-12,.iti-Ortho-imagerie,
+.iti-rs, .iti-1, .iti-Référentielsdecoordonnées {
+    color: #b2b2b2;
+}
+.iti-am, .iti-24, .iti-Zonesdegestionderestrictionouderéglementationetunitésdedéclaration,
+.iti-au, .iti-4, .iti-Unitésadministratives,
+.iti-hh, .iti-18, .iti-Santéetsécuritédespersonnes,
+.iti-lu, .iti-17, .iti-Usagedessols,
+.iti-pd, .iti-23, .iti-Répartitiondelapopulation—démographie,
+.iti-su, .iti-14, .iti-Unitésstatistiques {
+    color: #ea572d;
+}
+.iti-ad, .iti-5, .iti-Adresses,
+.iti-af, .iti-22, .iti-Installationsagricolesetaquacoles,
+.iti-el, .iti-10, .iti-Altitude,
+.iti-er, .iti-33, .iti-Sourcesdénergie,
+.iti-pf, .iti-21, .iti-Lieuxdeproductionetsitesindustriels,
+.iti-tn, .iti-7, .iti-Réseauxdetransport,
+.iti-us, .iti-19, .iti-Servicesdutilitépubliqueetservicespublics{
+    color: #f59e00;
+}
+.iti-ac, .iti-26, .iti-Conditionsatmosphériques,
+.iti-ef, .iti-20, .iti-Installationsdesuivienvironnemental,
+.iti-hy, .iti-8, .iti-Hydrographie,
+.iti-mf, .iti-27, .iti-Caractéristiquesgéographiquesmétéorologiques,
+.iti-of, .iti-28, .iti-Caractéristiquesgéographiquesocéanographiques,
+.iti-sr, .iti-29 .iti-Régionsmaritimes{
+    color: #36a9e1;
+}
+.iti-br, .iti-30, .iti-Régionsbiogéographiques,
+.iti-hb, .iti-31, .iti-Habitatsetbiotopes,
+.iti-lc, .iti-11, .iti-Occupation,
+.iti-ps, .iti-9, .iti-Sitesprotégés,
+.iti-sd, .iti-32, .iti-Répartitiondesespèces {
+    color: #95c11f;
+}
+.iti-ge, .iti-13, .iti-Géologie,
+.iti-mr, .iti-34, .iti-Ressourcesminérales,
+.iti-nz, .iti-25, .iti-Zonesàrisquenaturel,
+.iti-so, .iti-16, .iti-Sols {
+    color: #b17f4a;
+}
+/*
+An experiment of loop - need more work.
+@iti-theme-bu: bu;
+@iti-theme-cp: cp;
+@iti-theme-gg: gg;
+@iti-group-grey: @iti-theme-bu, @iti-theme-cp, @iti-theme-gg;
+
+.iti-group-box-color(@color) {
+  background-color: @color;
+  border-color: @color;
+}
+.@{iti-css-prefix}-box {
+  .-(@i: length(@iti-group-grey)) when (@i > 0) {
+    @name: extract(@iti-group-grey, @i);
+    &.@{name} {
+      .iti-group-box-color(@iti-color-grey)
+    }
+    .-((@i - 1));
+  } .-;
+}*/
+.iti-bu:before, .iti-15:before, .iti-Bâtiments:before {
+    content: "\e606";
+}
+.iti-cp:before, .iti-6:before, .iti-Parcellescadastrales:before {
+    content: "\e607";
+}
+.iti-gg:before, .iti-2:before, .iti-Systèmesdemaillagegéographique:before {
+    content: "\e60c";
+}
+.iti-gn:before, .iti-3:before, .iti-Dénominationsgéographiques:before {
+    content: "\e60d";
+}
+.iti-oi:before, .iti-12:before, .iti-Ortho-imagerie:before {
+    content: "\e617";
+}
+.iti-rs:before, .iti-1:before, .iti-Référentielsdecoordonnées:before {
+    content: "\e61b";
+}
+.iti-am:before, .iti-24:before, .iti-Zonesdegestionderestrictionouderéglementationetunitésdedéclaration:before {
+    content: "\e603";
+}
+.iti-au:before, .iti-4:before, .iti-Unitésadministratives:before {
+    content: "\e604";
+}
+.iti-hh:before, .iti-18:before, .iti-Santéetsécuritédespersonnes:before {
+    content: "\e60f";
+}
+.iti-lu:before, .iti-17:before, .iti-Usagedessols:before {
+    content: "\e612";
+}
+.iti-pd:before, .iti-23:before, .iti-Répartitiondelapopulation—démographie:before {
+    content: "\e618";
+}
+.iti-su:before, .iti-14:before, .iti-Unitésstatistiques:before {
+    content: "\e61f";
+}
+.iti-ad:before, .iti-5:before, .iti-Adresses:before {
+    content: "\e601";
+}
+.iti-af:before, .iti-22:before, .iti-Installationsagricolesetaquacoles:before {
+    content: "\e602";
+}
+.iti-el:before, .iti-10:before, .iti-Altitude:before {
+    content: "\e609";
+}
+.iti-er:before, .iti-33:before, .iti-Sourcesdénergie:before {
+    content: "\e60a";
+}
+.iti-pf:before, .iti-21:before, .iti-Lieuxdeproductionetsitesindustriels:before {
+    content: "\e619";
+}
+.iti-tn:before, .iti-7:before, .iti-Réseauxdetransport:before{
+    content: "\e620";
+}
+.iti-us:before, .iti-19:before, .iti-Servicesdutilitépubliqueetservicespublics:before {
+    content: "\e621";
+}
+.iti-ac:before, .iti-26:before, .iti-Conditionsatmosphériques:before{
+    content: "\e600";
+}
+.iti-ef:before, .iti-20:before, .iti-Installationsdesuivienvironnemental:before {
+    content: "\e608";
+}
+.iti-hy:before, .iti-8:before, .iti-Hydrographie:before {
+    content: "\e610";
+}
+.iti-mf:before, .iti-27:before, .iti-Caractéristiquesgéographiquesmétéorologiques:before {
+    content: "\e613";
+}
+.iti-of:before, .iti-28:before, .iti-Caractéristiquesgéographiquesocéanographiques:before {
+    content: "\e616";
+}
+.iti-sr:before, .iti-29:before, .iti-Régionsmaritimes:before {
+    content: "\e61e";
+}
+.iti-br:before, .iti-30:before, .iti-Régionsbiogéographiques:before {
+    content: "\e605";
+}
+.iti-hb:before, .iti-31:before, .iti-Habitatsetbiotopes:before {
+    content: "\e60e";
+}
+.iti-lc:before, .iti-11:before, .iti-Occupation:before {
+    content: "\e611";
+}
+.iti-ps:before, .iti-9:before, .iti-Sitesprotégés:before {
+    content: "\e61a";
+}
+.iti-sd:before, .iti-32:before, .iti-Répartitiondesespèces:before {
+    content: "\e61c";
+}
+.iti-ge:before, .iti-13:before, .iti-Géologie:before {
+    content: "\e60b";
+}
+.iti-mr:before, .iti-34:before, .iti-Ressourcesminérales:before {
+    content: "\e614";
+}
+.iti-nz:before, .iti-25:before, .iti-Zonesàrisquenaturel:before {
+    content: "\e615";
+}
+.iti-so:before, .iti-16:before, .iti-Sols:before {
+    content: "\e61d";
+}
+/*=========SCALABILITY=========*/
+.x05 .iti-box {
+    border-radius: 3px;
+    /*6*/
+    width: 16px;
+    /*34*/
+    height: 16px;
+    /*34*/
+    margin-right: 2px;
+    /*5*/
+    border-width: 1px;
+    /*2*/
+}
+.x05 .iti-box .icon {
+    border-radius: 2px;
+    /*4*/
+    border-width: 0px;
+    /*1*/
+    width: 16px;
+    /*32*/
+    height: 16px;
+    /*32*/
+    font-size: 16px;
+    /*32*/
+}
+.x05 .iti-box.acr {
+    width: 40px;
+    /*80*/
+}
+.x05 .iti-box.full {
+    width: 110px;
+    /*220*/
+}
+.x05 .iti-box .label,
+.x05 .iti-box .label:before {
+    margin-left: 2px;
+    /*4*/
+}
+.x05 .iti-box.acr .label {
+    font-size: 12px;
+    /*24*/
+    margin-top: 3px;
+    /*6*/
+}
+.x05 .iti-box.full .label {
+    font-size: 4px;
+    /*11*/
+    margin-top: 4px;
+    /*11*/
+    width: 91px;
+    /*182*/
+    /*white-space: pre;*/
+    display: none;
+}
+.x05 .iti-box.full .label.two {
+    margin-top: 3px;
+    /*6*/
+}
+.x15 .iti-box {
+    border-radius: 9px;
+    /*6*/
+    width: 50px;
+    /*34*/
+    height: 50px;
+    /*34*/
+    margin-right: 8px;
+    /*5*/
+    border-width: 3px;
+    /*2*/
+}
+.x15 .iti-box .icon {
+    border-radius: 6px;
+    /*4*/
+    border-width: 1px;
+    /*1*/
+    width: 48px;
+    /*32*/
+    height: 48px;
+    /*32*/
+    font-size: 48px;
+    /*32*/
+}
+.x15 .iti-box.acr {
+    width: 120px;
+    /*80*/
+}
+.x15 .iti-box.full {
+    width: 330px;
+    /*220*/
+}
+.x15 .iti-box .label,
+.x15 .iti-box .label:before {
+    margin-left: 6px;
+    /*4*/
+}
+.x15 .iti-box.acr .label {
+    font-size: 36px;
+    /*24*/
+    margin-top: 9px;
+    /*6*/
+}
+.x15 .iti-box.full .label {
+    font-size: 17px;
+    /*11*/
+    margin-top: 17px;
+    /*11*/
+    width: 273px;
+    /*182*/
+    /*white-space: pre;*/
+}
+.x15 .iti-box.full .label.two {
+    margin-top: 9px;
+    /*6*/
+}
+.x20 .iti-box {
+    border-radius: 12px;
+    /*6*/
+    width: 68px;
+    /*34*/
+    height: 68px;
+    /*34*/
+    margin-right: 10px;
+    /*5*/
+    border-width: 4px;
+    /*2*/
+}
+.x20 .iti-box .icon {
+    border-radius: 8px;
+    /*4*/
+    border-width: 2px;
+    /*1*/
+    width: 64px;
+    /*32*/
+    height: 64px;
+    /*32*/
+    font-size: 64px;
+    /*32*/
+}
+.x20 .iti-box.acr {
+    width: 160px;
+    /*80*/
+}
+.x20 .iti-box.full {
+    width: 440px;
+    /*220*/
+}
+.x20 .iti-box .label,
+.x20 .iti-box .label:before {
+    margin-left: 8px;
+    /*4*/
+}
+.x20 .iti-box.acr .label {
+    font-size: 48px;
+    /*24*/
+    margin-top: 12px;
+    /*6*/
+}
+.x20 .iti-box.full .label {
+    font-size: 22px;
+    /*11*/
+    margin-top: 22px;
+    /*11*/
+    width: 364px;
+    /*11*/
+    /*white-space: pre;*/
+}
+.x20 .iti-box.full .label.two {
+    margin-top: 12px;
+    /*6*/
+}
+.x25 .iti-box {
+    border-radius: 18px;
+    /*6*/
+    width: 84px;
+    /*34*/
+    height: 84px;
+    /*34*/
+    margin-right: 15px;
+    /*5*/
+    border-width: 6px;
+    /*2*/
+}
+.x25 .iti-box .icon {
+    border-radius: 12px;
+    /*4*/
+    border-width: 2px;
+    /*1*/
+    width: 80px;
+    /*32*/
+    height: 80px;
+    /*32*/
+    font-size: 80px;
+    /*32*/
+}
+.x25 .iti-box.acr {
+    width: 200px;
+    /*80*/
+}
+.x25 .iti-box.full {
+    width: 550px;
+    /*220*/
+}
+.x25 .iti-box .label,
+.x25 .iti-box .label:before {
+    margin-left: 10px;
+    /*4*/
+}
+.x25 .iti-box.acr .label {
+    font-size: 60px;
+    /*24*/
+    margin-top: 15px;
+    /*6*/
+}
+.x25 .iti-box.full .label {
+    font-size: 28px;
+    /*11*/
+    margin-top: 28px;
+    /*11*/
+    width: 454px;
+    /*182*/
+    /*white-space: pre;*/
+}
+.x25 .iti-box.full .label.two {
+    margin-top: 15px;
+    /*6*/
+}
+.iti-box.acr.ac .label:before {
+    content: "AC";
+}
+.iti-box.acr.ad .label:before {
+    content: "AD";
+}
+.iti-box.acr.af .label:before {
+    content: "AF";
+}
+.iti-box.acr.am .label:before {
+    content: "AM";
+}
+.iti-box.acr.au .label:before {
+    content: "AU";
+}
+.iti-box.acr.br .label:before {
+    content: "BR";
+}
+.iti-box.acr.bu .label:before {
+    content: "BU";
+}
+.iti-box.acr.cp .label:before {
+    content: "CP";
+}
+.iti-box.acr.ef .label:before {
+    content: "EF";
+}
+.iti-box.acr.el .label:before {
+    content: "EL";
+}
+.iti-box.acr.er .label:before {
+    content: "ER";
+}
+.iti-box.acr.ge .label:before {
+    content: "GE";
+}
+.iti-box.acr.gg .label:before {
+    content: "GG";
+}
+.iti-box.acr.gn .label:before {
+    content: "GN";
+}
+.iti-box.acr.hb .label:before {
+    content: "HB";
+}
+.iti-box.acr.hh .label:before {
+    content: "HH";
+}
+.iti-box.acr.hy .label:before {
+    content: "HY";
+}
+.iti-box.acr.lc .label:before {
+    content: "LC";
+}
+.iti-box.acr.lu .label:before {
+    content: "LU";
+}
+.iti-box.acr.mf .label:before {
+    content: "MF";
+}
+.iti-box.acr.mr .label:before {
+    content: "MR";
+}
+.iti-box.acr.nz .label:before {
+    content: "NZ";
+}
+.iti-box.acr.of .label:before {
+    content: "OF";
+}
+.iti-box.acr.oi .label:before {
+    content: "OI";
+}
+.iti-box.acr.pd .label:before {
+    content: "PD";
+}
+.iti-box.acr.pf .label:before {
+    content: "PF";
+}
+.iti-box.acr.ps .label:before {
+    content: "PS";
+}
+.iti-box.acr.rs .label:before {
+    content: "RS";
+}
+.iti-box.acr.sd .label:before {
+    content: "SD";
+}
+.iti-box.acr.so .label:before {
+    content: "SO";
+}
+.iti-box.acr.sr .label:before {
+    content: "SR";
+}
+.iti-box.acr.su .label:before {
+    content: "SU";
+}
+.iti-box.acr.tn .label:before {
+    content: "TN";
+}
+.iti-box.acr.us .label:before {
+    content: "US";
+}
+
+.iti-box.full.ac-en .label:before {
+    content: "Atmospheric conditions";
+}
+.iti-box.full.ad-en .label:before {
+    content: "Addresses";
+}
+.iti-box.full.af-en .label:before {
+    content: "Agricultural and\A aquaculture facilities";
+}
+.iti-box.full.am-en .label:before {
+    content: "Area management/restriction/\A regulation zones and reporting units";
+}
+.iti-box.full.au-en .label:before {
+    content: "Administrative units";
+}
+.iti-box.full.br-en .label:before {
+    content: "Bio-geographical regions";
+}
+.iti-box.full.bu-en .label:before {
+    content: "Buildings";
+}
+.iti-box.full.cp-en .label:before {
+    content: "Cadastral parcels";
+}
+.iti-box.full.ef-en .label:before {
+    content: "Environmental monitoring facilities";
+}
+.iti-box.full.el-en .label:before {
+    content: "Elevation";
+}
+.iti-box.full.er-en .label:before {
+    content: "Energy resources";
+}
+.iti-box.full.ge-en .label:before {
+    content: "Geology";
+}
+.iti-box.full.gg-en .label:before {
+    content: "Geographical grid systems";
+}
+.iti-box.full.gn-en .label:before {
+    content: "Geographical names";
+}
+.iti-box.full.hb-en .label:before {
+    content: "Habitats and biotopes";
+}
+.iti-box.full.hh-en .label:before {
+    content: "Human health and safety";
+}
+.iti-box.full.hy-en .label:before {
+    content: "Hydrography";
+}
+.iti-box.full.lc-en .label:before {
+    content: "Land cover";
+}
+.iti-box.full.lu-en .label:before {
+    content: "Land use";
+}
+.iti-box.full.mf-en .label:before {
+    content: "Meteorological\A geographical features";
+}
+.iti-box.full.mr-en .label:before {
+    content: "Mineral resources";
+}
+.iti-box.full.nz-en .label:before {
+    content: "Natural risk zones";
+}
+.iti-box.full.of-en .label:before {
+    content: "Oceanographic\A geographical features";
+}
+.iti-box.full.oi-en .label:before {
+    content: "Orthoimagery";
+}
+.iti-box.full.pd-en .label:before {
+    content: "Population distribution –\A demography";
+}
+.iti-box.full.pf-en .label:before {
+    content: "Production and industrial facilities";
+}
+.iti-box.full.ps-en .label:before {
+    content: "Protected sites";
+}
+.iti-box.full.rs-en .label:before {
+    content: "Coordinate reference systems";
+}
+.iti-box.full.sd-en .label:before {
+    content: "Species distribution";
+}
+.iti-box.full.so-en .label:before {
+    content: "Soil";
+}
+.iti-box.full.sr-en .label:before {
+    content: "Sea regions";
+}
+.iti-box.full.su-en .label:before {
+    content: "Statistical units";
+}
+.iti-box.full.tn-en .label:before {
+    content: "Transport networks";
+}
+.iti-box.full.us-en .label:before {
+    content: "Utility and governmental services";
+}
diff --git a/src/main/webapp/catalog/templates/admin/admin.html b/src/main/webapp/catalog/templates/admin/admin.html
new file mode 100644
index 0000000000000000000000000000000000000000..2085edc9a4d0442223bb96bf6462d9ecbc8148d1
--- /dev/null
+++ b/src/main/webapp/catalog/templates/admin/admin.html
@@ -0,0 +1,38 @@
+<span>
+  <div class="col-lg-8" data-ng-controller="GnAdminController">
+    <div class="clearfix">
+      <a data-ng-repeat="m in getMenu()" href="{{getMenuUrl(m)}}"
+        class="btn btn-lg btn-block {{m.classes}} gn-btn-admin" ng-if="getMenuUrl(m) != '#organization'">
+        <i class="fa {{m.icon}} fa-4x"/>
+        <p data-translate="">{{m.name}}</p>
+      </a>
+    </div>
+  </div>
+  <div class="col-lg-4">
+    <div class="panel panel-default" data-ng-hide="true">
+      <div class="panel-heading" data-translate="">latestNews</div>
+    </div>
+    <div class="panel panel-default" data-ng-hide="true">
+      <div class="panel-heading" data-translate="">quicklinks</div>
+    </div>
+    <div class="panel panel-default text-center" data-ng-hide="searchInfo.facet.types.length === 0">
+      <div class="panel-body">
+        <div data-ng-repeat="type in searchInfo.facet.types">
+          <h2>{{type['@count']}}</h2>
+          <h5>{{(type['@label'] || type['@name']) | translate}}</h5>
+        </div>
+      </div>
+    </div>
+    <div class="panel panel-default text-center">
+      <div class="panel-body">
+        <div data-ng-hide="searchInfo.count == 0">
+          <h2>{{searchInfo.count}}</h2>
+          <h5 data-translate="" title="{{'totalNumberOfRecordsHelp' | translate}}"
+            >totalNumberOfRecords</h5>
+        </div>
+        <div data-ng-show="searchInfo.count == 0" data-translate=""> emptyCatalogShouldBeFilled
+        </div>
+      </div>
+    </div>
+  </div>
+</span>
diff --git a/src/main/webapp/catalog/templates/top-toolbar.html b/src/main/webapp/catalog/templates/top-toolbar.html
new file mode 100644
index 0000000000000000000000000000000000000000..494adcc97c3be881e14dfcf35dc049a98d795f1c
--- /dev/null
+++ b/src/main/webapp/catalog/templates/top-toolbar.html
@@ -0,0 +1,156 @@
+<div class="container-fluid">
+  <div class="navbar-header">
+    <button type="button"
+            class="navbar-toggle collapsed"
+            data-toggle="collapse"
+            data-target="#navbar"
+            title="{{'toggleNavigation' | translate}}"
+            aria-expanded="false"
+            aria-controls="navbar">
+      <span class="sr-only" data-translate>toggleNavigation</span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+      <span class="icon-bar"></span>
+    </button>
+  </div>
+  <div id="navbar" class="navbar-collapse collapse">
+    <ul class="nav navbar-nav">
+      <li data-ng-if="gnCfg.mods.home.enabled">
+        <a data-gn-active-tb-item="{{gnCfg.mods.home.appUrl}}">
+          <img class="gn-logo"
+               data-ng-src="{{gnUrl}}../images/logos/{{info['system/site/siteId']}}.png?random{{info['system/site/lastUpdate']}}"/>
+          <span class="hidden-sm hidden-md">{{info['system/site/name']}}</span>
+        </a>
+      </li>
+      <li data-ng-if="gnCfg.mods.search.enabled">
+        <a data-gn-active-tb-item="{{gnCfg.mods.search.appUrl}}"
+           title="{{'search' | translate}}">
+          <i class="fa fa-search"></i>
+          <span class="hidden-sm" data-translate="">search</span>
+        </a>
+      </li>
+      <li data-ng-if="gnCfg.mods.map.enabled">
+        <a data-gn-active-tb-item="{{gnCfg.mods.map.appUrl}}"
+           title="{{'map' | translate}}">
+          <i class="fa fa-globe"></i>
+          <span class="hidden-sm" data-translate="">makeYourMap</span>
+
+          <span data-gnv-layer-indicator=""/>
+        </a>
+      </li>
+      <li class="dropdown dropdown-hover open" data-ng-if="gnCfg.mods.editor.enabled"
+          data-ng-show="authenticated && user.isEditorOrMore()"
+          id="gn-login-dropdown">
+        <a data-gn-active-tb-item="{{gnCfg.mods.editor.appUrl}}"
+           title="{{'editorBoard' | translate}}"
+           class="dropdown-toggle"
+           role="button" aria-expanded="false">
+          <i class="fa fa-pencil"></i>
+          <span class="hidden-sm" data-translate="">contribute</span>
+        </a>
+        <ul class="dropdown-menu" role="menu">
+          <li>
+            <a data-gn-active-tb-item="{{gnCfg.mods.editor.appUrl}}#/create">
+              <i class="fa fa-fw fa-plus"/>&nbsp;<span data-translate="">addRecord</span>
+            </a>
+          </li>
+          <li>
+            <a data-gn-active-tb-item="{{gnCfg.mods.editor.appUrl}}#/import">
+              <i class="fa fa-fw fa-upload"/>&nbsp;<span data-translate="">ImportRecord</span>
+            </a>
+          </li>
+          <li>
+            <a data-gn-active-tb-item="{{gnCfg.mods.editor.appUrl}}#/directory">
+              <i class="fa fa-fw fa-list-ul"/>&nbsp;<span data-translate="">directoryManager</span>
+            </a>
+          </li>
+          <li>
+            <a data-gn-active-tb-item="{{gnCfg.mods.editor.appUrl}}#/batchedit">
+              <i class="fa fa-fw fa-pencil"/>&nbsp;<span data-translate="">batchEditing</span>
+            </a>
+          </li>
+        </ul>
+      </li>
+      <li class="dropdown dropdown-hover open" data-ng-show="user.isUserAdminOrMore()">
+        <a data-gn-active-tb-item="admin.console"
+           title="{{'adminConsole' | translate}}"
+           class="dropdown-toggle"
+           role="button" aria-expanded="false">
+          <i class="fa fa-wrench"></i>
+          <span class="hidden-sm" data-translate="">adminConsole</span>
+        </a>
+        <ul data-ng-if="user.isUserAdmin() && viewMenuAdmin" class="dropdown-menu" role="menu">
+          <li data-ng-repeat="t in userAdminMenu" data-ng-if="t.name!=usersAndGroups">
+            <a data-gn-active-tb-item="admin.console{{t.route}}">
+              <i class="fa fa-fw {{t.icon}}"/>&nbsp;<span data-translate="">{{t.name | translate}}</span>
+            </a>
+          </li>
+        </ul>
+        <ul data-ng-if="user.isAdministrator()" class="dropdown-menu" role="menu">
+          <li data-ng-repeat="t in adminMenu" data-ng-if="t.name!=usersAndGroups">
+            <a data-gn-active-tb-item="{{gnCfg.mods.admin.appUrl}}{{t.route}}">
+              <i class="fa fa-fw {{t.icon}}"/>&nbsp;<span data-translate="">{{t.name | translate}}</span>
+            </a>
+          </li>
+        </ul>
+      </li>
+      <li><a>
+          <span class="alert alert-danger ng-hide"
+                data-ng-show="session.remainingTime > 0 &&
+                    session.remainingTime < session.alertInTitleWhen"
+                data-translate=""
+                data-translate-values="{remainingTime: '{{session.remainingTime}}'}">
+            sessionWillExpireIn
+          </span>
+      </a></li>
+    </ul>
+
+
+    <form class="navbar-form navbar-right" role="language">
+      <div class="form-group"
+           data-gn-language-switcher="lang"
+           data-langs="langs"
+           data-lang-labels="langLabels"/>
+    </form>
+
+    <ul data-ng-if="gnCfg.mods.signin.enabled"
+        class="nav navbar-nav navbar-right">
+      <li data-ng-show="authenticated">
+        <a>
+          <user-account-expiration-msg/>
+        </a>
+      </li>
+      <li class="dropdown dropdown-hover open" data-ng-show="authenticated">
+         <a href="javascript:openUserDetails();"
+           title="Afficher les informations du compte"
+           class="hidden-xs btn btn-link">
+          <img class="img-circle"
+            data-ng-src="//gravatar.com/avatar/{{user.email | md5}}?s=18"/>&nbsp;
+          <div class="gn-user-info">
+            {{user.name}} {{user.surname}}<br>
+            <span class="gn-user-role">{{user.profile | lowercase | translate}}</span>
+          </div>
+          <user-account-expiration-msg/>
+        </a>
+        <ul class="dropdown-menu" role="menu">
+          <li>
+            <a href="{{gnCfg.mods.signout.appUrl}}"
+                title="{{'signout' | translate}}">
+              <i class="fa fa-sign-out"></i>&nbsp;
+              {{'signout' | translate}}
+            </a>
+          </li>
+        </ul>
+      </li>
+      <li data-ng-show="!authenticated && service !== 'catalog.signin' && service !== 'new.account' && !shibbolethEnabled">
+        <a href="{{gnCfg.mods.signin.appUrl | signInLink}}"
+           title="{{'signIn'|translate}}"
+           data-ng-keypress="$event"
+           data-ng-mouseover="focusLoginPopup()">
+          <i class="fa fa-sign-in"/>&nbsp;
+          {{'signIn' | translate}}
+        </a>
+      </li>
+    </ul>
+  </div>
+</div>
diff --git a/src/main/webapp/catalog/views/default/directives/partials/mdactionmenu.html b/src/main/webapp/catalog/views/default/directives/partials/mdactionmenu.html
new file mode 100644
index 0000000000000000000000000000000000000000..85edfc4135ce49edb77268603f08f33170c36e8e
--- /dev/null
+++ b/src/main/webapp/catalog/views/default/directives/partials/mdactionmenu.html
@@ -0,0 +1,121 @@
+<div>
+  <div class="btn-group md-actions"
+       data-ng-if="user.isConnected()">
+    <button type="button"
+            title="{{'manageRecord' | translate}}"
+            class="btn btn-default dropdown-toggle"
+            data-toggle="dropdown"
+            aria-expanded="false">
+      <i class="fa fa-cog"/>&nbsp;
+      <span class="caret"></span>
+    </button>
+    <ul class="dropdown-menu" role="menu">
+      <li><a data-ng-href=""
+             data-ng-if="user.canEditRecord(md) && user.isEditorOrMore()"
+             data-ng-click="mdService.openPrivilegesPanel(md, getCatScope())">
+        <i class="fa fa-key"></i>&nbsp;
+        <span data-translate="">privileges</span>
+      </a></li>
+      <li data-ng-if="md.isOwned() && user.isUserAdminOrMore()">
+        <a data-ng-href=""
+           data-ng-click="mdService.openTransferOwnership(md, null, getCatScope())">
+          <i class="fa fa-user"></i>&nbsp;
+          <span data-translate="">transferOwnership</span>
+        </a></li>
+      <li data-ng-if="user.canEditRecord(md) && user.isReviewerOrMore()"
+          data-ng-class="
+            (md.isPublished() || (allowPublishInvalidMd() === true) ||
+            (!md.isPublished() && (allowPublishInvalidMd() === false) &&
+            (!md.hasValidation() || (md.hasValidation() && md.isValid())))) ? '' : 'disabled'"
+          title="{{(!md.isPublished() ? (md.isValid() ? 'mdvalid' :
+                    (!md.hasValidation() ? 'mdnovalidation':
+                      (allowPublishInvalidMd() === false ? 'mdinvalidcantpublish' : 'mdinvalid'))) : '') | translate }}"
+      >
+        <a data-ng-click="mdService.publish(md, undefined, undefined, getCatScope())">
+          <i class="fa"
+             data-ng-class="md.isPublished() ? 'fa-lock' : 'fa-unlock'"></i>&nbsp;
+          <span data-ng-if="md.isPublished()"
+                data-translate="">unpublish</span>
+          <span data-ng-if="!md.isPublished()"
+                data-translate="">publish</span>&nbsp;
+
+          <i class="fa"
+             data-ng-if="!md.isPublished() && md.hasValidation()"
+             data-ng-class="md.isValid() ? 'gn-recordtype-n text-success' : 'gn-recordtype-n text-danger'"></i>
+          <i class="fa gn-recordtype-n text-muted"
+             data-ng-if="!md.isPublished() && !md.hasValidation()"></i>
+        </a>
+
+      </li>
+      <!-- TODO: Some installation only allows status update
+      based on current status. -->
+      <li data-ng-class="((allowPublishInvalidMd() === true) || 
+            ((allowPublishInvalidMd() === false) &&
+            (!md.hasValidation() || (md.hasValidation() && md.isValid())))) ? '' : 'disabled'">
+        <a data-ng-href=""
+           data-ng-if="user.canEditRecord(md) &&
+                                md.isWorkflowEnabled()"
+           data-ng-click="mdService.openUpdateStatusPanel(getScope())">
+          <i class="fa fa-bell"></i>&nbsp;
+          <span data-translate="">updateStatus</span>
+        </a></li>
+      <li><a data-ng-href=""
+             data-ng-if="user.canEditRecord(md) &&
+                                  !md.isWorkflowEnabled()"
+             data-ng-click="mdService.startWorkflow(md, getCatScope())">
+        <i class="fa fa-bell"></i>&nbsp;
+        <span data-translate="">enableWorkflow</span>
+      </a></li>
+      <li class="divider" data-ng-if="user.isConnected()"></li>
+      <li><a data-ng-href=""
+             data-ng-if="user.isEditorOrMore()"
+             data-ng-click="mdService.duplicate(md)">
+        <i class="fa fa-copy"></i>&nbsp;
+        <span data-translate="">duplicate</span>
+      </a></li>
+      <li><a data-ng-href=""
+             data-ng-if="user.isEditorOrMore()"
+             data-ng-click="mdService.createChild(md)">
+        <i class="fa fa-sitemap"></i>&nbsp;
+        <span data-translate="">createChild</span>
+      </a></li>
+    </ul>
+  </div>
+  <div class="btn-group md-actions">
+    <button type="button"
+            title="{{'downloadRecord' | translate}}"
+            class="btn btn-default dropdown-toggle"
+            data-toggle="dropdown"
+            aria-expanded="false">
+      <i class="fa fa-download"/>&nbsp;
+      <span class="caret"></span>
+    </button>
+    <ul class="dropdown-menu" role="menu">
+      <li><a data-ng-href=""
+             data-ng-click="mdService.getPermalink(md)">
+        <i class="fa fa-link"/>&nbsp;
+        <span data-translate="">permalink</span>
+      </a></li>
+      <li><a data-ng-href=""
+             data-ng-click="mdService.metadataMEF(md.getUuid())">
+        <i class="fa fa-file-zip-o"></i>&nbsp;
+        <span data-translate="">exportMEF</span>
+      </a></li>
+      <li><a data-ng-href="../api/records/{{md.getUuid()}}/formatters/xsl-view?root=div&output=pdf"
+             target="_blank">
+        <i class="fa fa-file-pdf-o"></i>&nbsp;
+        <span data-translate="">exportPDF</span>
+      </a></li>
+      <li><a data-ng-href="../api/records/{{md.getUuid()}}/formatters/xml"
+             target="_blank">
+        <i class="fa fa-file-code-o"></i>&nbsp;
+        <span data-translate="">exportXML</span>
+      </a></li>
+      <li><a data-ng-href=""
+             data-ng-click="mdService.metadataRDF(md.getUuid())">
+        <i class="fa fa-share-alt"></i>&nbsp;
+        <span data-translate="">exportRDF</span>
+      </a></li>
+    </ul>
+  </div>
+</div>
diff --git a/src/main/webapp/catalog/views/default/templates/results.html b/src/main/webapp/catalog/views/default/templates/results.html
new file mode 100644
index 0000000000000000000000000000000000000000..2aaae058d5a772a5e8998daf5fe85a3f2f3e4ff2
--- /dev/null
+++ b/src/main/webapp/catalog/views/default/templates/results.html
@@ -0,0 +1,117 @@
+<div class="container-fluid"
+     data-ng-search-form=""
+     data-runSearch="true">
+  <div data-ng-include="'../../catalog/views/default/templates/searchForm.html'"></div>
+
+  <div gn-grid-related-query="searchResults.records"></div>
+  <div class="row">
+    <div class="col-md-3 gn-search-facet">
+
+      <div data-ng-show="searchResults.records.length > 0"
+           data-gn-saved-selections-panel="user"></div>
+
+      <!-- Hierachical facet mode -->
+      <div class="panel panel-default"
+           data-ng-show="searchResults.records.length > 0">
+        <div class="panel-heading" data-gn-slide-toggle="">
+          <i class="fa fa-search"/>&nbsp;
+          <span data-translate="">filter</span>
+        </div>
+        <div class="panel-body">
+          <div data-gn-facet-dimension-list="searchResults.dimension"
+               data-params="searchObj.params"
+               data-facet-type="facetsSummaryType"
+               data-facet-list="facetConfig"
+               data-current-facets="currentFacets">
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <div class="col-md-9 container-fluid">
+      <div class="row" data-ng-show="isFilterTagsDisplayedInSearch">
+        <div class="col-xs-12">
+          <div data-search-filter-tags="">
+
+          </div>
+        </div>
+      </div>
+      <div class="row">
+        <div class="col-xs-12 col-md-9"
+            data-gn-facet-dimension-list="searchResults.dimension"
+            data-params="searchObj.params"
+            data-facet-type="facetsSummaryType"
+            data-facet-list="facetConfig"
+            data-current-facets="currentFacets"
+            data-tab-field="facetTabField"></div>
+
+        <div class="col-xs-12 col-sm-6 col-sm-push-3 text-center"
+          data-ng-show="searchResults.records.length > 0">
+          <div class=""
+              data-gn-pagination="paginationInfo"
+              data-hits-values="searchObj.hitsperpageValues"
+              data-enable-hot-keys=""
+              data-enable-events=""></div>
+        </div>
+
+        <div class="col-xs-6 col-sm-3 col-sm-pull-6 col-lg-pull-6"
+          data-ng-show="searchResults.records.length > 0">
+          <div data-gn-selection-widget=""
+                data-results="searchResults"></div>
+        </div>
+
+        <div class="col-xs-6 col-sm-3"
+          data-ng-show="searchResults.records.length > 0">
+          <div class="pull-right"
+              data-sortby-combo=""
+              data-params="searchObj.params"
+              data-gn-sortby-values="searchObj.sortbyValues"></div>
+        </div>
+    </div>
+
+
+    <div class="row">
+      <div class="col-xs-12">
+        <span class="loading fa fa-spinner fa-spin"
+              data-ng-show="searching"></span>
+
+        <div class="alert alert-warning" role="alert"
+            ng-if="!searching && searchResults.count == 0">
+          <i class="fa fa-frown-o"></i>
+          <span data-translate="">zarooResult</span>
+        </div>
+
+        <div data-ng-show="searchResults.records.length > 0"
+            data-gn-results-container=""
+            data-search-results="searchResults"
+            data-template-url="resultTemplate"
+            data-map="searchObj.searchMap"></div>
+      </div>
+    </div>
+
+    <div class="row">
+      <div class="col-xs-12 text-center"
+      data-ng-show="searchResults.records.length > 0">
+        <div class=""
+              data-gn-pagination="paginationInfo"
+              data-hits-values="searchObj.hitsperpageValues"
+              data-enable-hot-keys=""
+              data-enable-events=""></div>
+      </div>
+    </div>
+    <br>
+  </div>
+
+  <div data-gn-map-field="searchObj.searchMap"
+       data-gn-map-field-geom="searchObj.params.geometry"
+       data-gn-map-field-opt="searchObj.mapfieldOption"
+       class="gn-search-map">
+  </div>
+
+  <button data-ng-click="toggleMap()"
+          title="{{'toggleMiniMap' | translate}}"
+          class="gn-toggle gn-minimap-toggle btn btn-link gn-minimap-button">
+    <i class="fa fa-angle-double-right" ></i>
+    <b class="gn-minimap-toggle gn-minimap-text" data-translate="">map</b>
+  </button>
+</div>
diff --git a/src/main/webapp/images/logos/favicon.ico b/src/main/webapp/images/logos/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..a1891f3dfb2dd178652a7bdbec66c9638797f38d
Binary files /dev/null and b/src/main/webapp/images/logos/favicon.ico differ
diff --git a/src/main/webapp/xslt/base-layout.xsl b/src/main/webapp/xslt/base-layout.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..2d5b686abbbfe2f710c7b756eb45a25ae1ae3e30
--- /dev/null
+++ b/src/main/webapp/xslt/base-layout.xsl
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright (C) 2001-2016 Food and Agriculture Organization of the
+  ~ United Nations (FAO-UN), United Nations World Food Programme (WFP)
+  ~ and United Nations Environment Programme (UNEP)
+  ~
+  ~ This program is free software; you can redistribute it and/or modify
+  ~ it under the terms of the GNU General Public License as published by
+  ~ the Free Software Foundation; either version 2 of the License, or (at
+  ~ your option) any later version.
+  ~
+  ~ This program is distributed in the hope that it will be useful, but
+  ~ WITHOUT ANY WARRANTY; without even the implied warranty of
+  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ General Public License for more details.
+  ~
+  ~ You should have received a copy of the GNU General Public License
+  ~ along with this program; if not, write to the Free Software
+  ~ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  ~
+  ~ Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
+  ~ Rome - Italy. email: geonetwork@osgeo.org
+  -->
+
+<!--
+  The main entry point for all user interface generated
+  from XSLT.
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="2.0"
+                exclude-result-prefixes="#all">
+
+  <xsl:output omit-xml-declaration="yes" method="html" doctype-system="html" indent="yes"
+              encoding="UTF-8"/>
+
+  <xsl:include href="common/base-variables.xsl"/>
+
+  <xsl:include href="base-layout-cssjs-loader.xsl"/>
+
+  <!-- Enable extension of application -->
+  <!-- @PRODIGE -->
+  <xsl:include href="extend/base-layout-cssjs-loader.xsl"/>
+
+  <xsl:template match="/">
+    <html ng-app="{$angularModule}" lang="{$lang}" id="ng-app">
+      <head>
+        <title>
+          <xsl:value-of select="concat($env/system/site/name, ' - ', $env/system/site/organization)"
+          />
+        </title>
+        <meta charset="utf-8"/>
+        <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
+        <meta name="apple-mobile-web-app-capable" content="yes"/>
+
+        <meta name="description" content=""/>
+        <meta name="keywords" content=""/>
+
+
+        <!--<link rel="icon" sizes="16x16 32x32 48x48" type="image/png"
+              href="../../images/logos/favicon.png"/>-->
+        <link href="rss.search?sortBy=changeDate" rel="alternate" type="application/rss+xml"
+              title="{concat($env/system/site/name, ' - ', $env/system/site/organization)}"/>
+        <link href="portal.opensearch" rel="search" type="application/opensearchdescription+xml"
+              title="{concat($env/system/site/name, ' - ', $env/system/site/organization)}"/>
+
+        <xsl:call-template name="css-load"/>
+        <!-- @PRODIGE -->
+        <xsl:call-template name="ux-css-load"/>
+      </head>
+
+
+      <!-- The GnCatController takes care of
+      loading site information, check user login state
+      and a facet search to get main site information.
+      -->
+      <body data-ng-controller="GnCatController">
+        <!-- @PRODIGE force the authenticated status -->
+        <xsl:if test="not($isLoggedIn)">
+        <iframe src="/geonetwork/srv/fre/catalog.signin?redirect=noroute" style="display:none" onload="$(this).remove()"></iframe>
+        </xsl:if>
+        <!-- @PRODIGE -->
+        <div data-gn-alert-manager=""></div>
+
+        <xsl:choose>
+          <xsl:when test="ends-with($service, 'nojs')">
+            <!-- No JS degraded mode ... -->
+            <div>
+              <!-- TODO: Add header/footer -->
+              <xsl:apply-templates mode="content" select="."/>
+            </div>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:if test="$isJsEnabled">
+              <xsl:call-template name="no-js-alert"/>
+            </xsl:if>
+            <!-- AngularJS application -->
+            <xsl:if test="$angularApp != 'gn_search' and $angularApp != 'gn_viewer' and $angularApp != 'gn_formatter_viewer'">
+              <div class="navbar navbar-default gn-top-bar"
+                   data-ng-hide="layout.hideTopToolBar"
+                   data-ng-include="'{$uiResourcesPath}templates/top-toolbar.html'"></div>
+            </xsl:if>
+
+            <xsl:apply-templates mode="content" select="."/>
+
+            <xsl:if test="$isJsEnabled">
+              <!-- @PRODIGE -->
+              <script src="{$uiResourcesPath}js/jscompatibility.js"></script>
+              <xsl:call-template name="javascript-load"/>
+              <!-- @PRODIGE -->
+              <xsl:call-template name="ux-javascript-load"/>
+            </xsl:if>
+          </xsl:otherwise>
+        </xsl:choose>
+      </body>
+    </html>
+  </xsl:template>
+
+
+  <xsl:template name="no-js-alert">
+    <noscript>
+      <div class="alert alert-warning" data-ng-hide="">
+        <strong>
+          <xsl:value-of select="$i18n/warning"/>
+        </strong>
+        <xsl:text> </xsl:text>
+        <xsl:copy-of select="$i18n/nojs"/>
+      </div>
+    </noscript>
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/src/main/webapp/xslt/extend/base-layout-cssjs-loader.xsl b/src/main/webapp/xslt/extend/base-layout-cssjs-loader.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..b9a5683440fa96fc632e88c597b99298faa985c7
--- /dev/null
+++ b/src/main/webapp/xslt/extend/base-layout-cssjs-loader.xsl
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="2.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:util="java:org.fao.geonet.util.XslUtil"
+                exclude-result-prefixes="#all">
+  <!-- Template to load CSS and Javascript -->
+
+  <xsl:include href="base-variables.xsl"/>
+  
+  <xsl:template name="ux-css-load">
+  <!-- ALKANTE EXTENSION -->
+    <link href="{/root/gui/url}/apps_extend//bootstrap-submenu-2.0.4/css/bootstrap-submenu.css" rel="stylesheet" media="screen" />
+    <link href="{/root/gui/url}/apps_extend/css/apps_extend.css{$minimizedParam}" rel="stylesheet" media="screen" />
+  </xsl:template>
+
+
+  <xsl:template name="ux-javascript-load">    
+    <script type="text/javascript">
+      var __PRODIGE_CATALOGUE_CONFIG_URL__ = '<xsl:value-of select="/root/gui/config/prodige/catalogue/url"/>';
+      var __PRODIGE_BROADCAST_CONNECT_URL__ = [
+      <xsl:for-each select="/root/gui/config/prodige/broadcast-connect/url">
+        '<xsl:value-of select="text()" />'<xsl:if test="position() != last()">,</xsl:if>
+      </xsl:for-each>
+      ];
+    </script>
+    <!-- ALKANTE_EXTENSION [-->
+    <script type="text/javascript" src="{/root/gui/url}/catalog/lib/jquery.ext/jquery.cookie.js"></script>
+    <script type="text/javascript" src="{/root/gui/url}/apps_extend//bootstrap-submenu-2.0.4/js/bootstrap-submenu.js"></script>
+    <script type="text/javascript" src="{/root/gui/url}/apps_extend/util.js"></script>
+    <script type="text/javascript" src="{/root/gui/url}/apps_extend/administration_carto.js"></script>
+    <script type="text/javascript" src="{/root/gui/url}/apps_extend/actions.js"></script>
+    <script type="text/javascript" src="{/root/gui/url}/apps_extend/admin.js"></script>
+    <script type="text/javascript" src="{/root/gui/url}/apps_extend/panier.js"></script>
+    <!-- ] ALKANTE_EXTENSION -->
+  </xsl:template>
+</xsl:stylesheet>
diff --git a/src/main/webapp/xslt/extend/base-variables.xsl b/src/main/webapp/xslt/extend/base-variables.xsl
new file mode 100644
index 0000000000000000000000000000000000000000..75d23e7689269e285e734508fcab7f2c5d51a0f2
--- /dev/null
+++ b/src/main/webapp/xslt/extend/base-variables.xsl
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="2.0"
+                xmlns:util="java:org.fao.geonet.util.XslUtil"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+  <!-- Global XSL variables about the catalog and user session -->
+  
+  
+  <xsl:output name="default-serialize-mode" indent="no"
+    omit-xml-declaration="yes" />
+  <xsl:output name="default-indent-mode" indent="yes"
+    omit-xml-declaration="yes" />
+  
+  <!--
+  -->
+  <xsl:variable name="prodigeCatalogueUrl" select="concat(/root/rating, '.2.', /root/gui/rating, '.3.', /root/config/rating, '.4.', /root/gui/config/rating)"/>
+  <!-- 
+  
+  <xsl:variable name="uiResourcesPath" select="'../../catalog/'"/>
+  
+  The current service name
+  <xsl:variable name="service" select="/root/gui/reqService"/>
+  
+  <xsl:variable name="i18n" select="/root/gui/i18n"/>
+  <xsl:variable name="lang" select="/root/gui/language"/>
+  <xsl:variable name="requestParameters" select="/root/request"/>
+
+  XSL using this variable should be refactored to not rely on the
+  old i18n files. FIXME eg. metadata-fop.xsl
+  <xsl:variable name="oldGuiStrings" select="/root/gui/strings"/>
+  
+  <xsl:variable name="isDebugMode" select="/root/request/debug"/>
+  <xsl:variable name="isReadOnly" select="/root/gui/env/readonly = 'true'"/>
+  <xsl:variable name="withD3" select="$service = 'admin.console'"/>
+
+  <xsl:variable name="searchView" select="if (/root/request/view) then /root/request/view else if(util:getSettingValue('system/ui/defaultView')) then util:getSettingValue('system/ui/defaultView') else 'default'"></xsl:variable>
+  <xsl:variable name="owsContext" select="/root/request/owscontext" />
+  <xsl:variable name="wmsUrl" select="/root/request/wmsurl" />
+  <xsl:variable name="layerName" select="/root/request/layername" />
+  <xsl:variable name="angularModule" select="if ($angularApp = 'gn_search') then concat('gn_search_', $searchView) else $angularApp"></xsl:variable>
+
+  Define which JS module to load using Closure
+  <xsl:variable name="angularApp" select="
+    if ($service = 'admin.console') then 'gn_admin'
+    else if ($service = 'catalog.signin' or 
+              $service = 'new.account' or 
+              $service = 'new.password' or 
+              $service = 'error' or
+              $service = 'service-not-allowed' or
+              $service = 'node-change-warning') then 'gn_login'
+    else if ($service = 'contact.us') then 'gn_contact_us'
+    else if ($service = 'catalog.edit') then 'gn_editor'
+    else if ($service = 'catalog.viewer') then 'gn_viewer'
+    else if ($service = 'catalog.search') then 'gn_search'
+    else if ($service = 'md.viewer') then 'gn_formatter_viewer'
+    else 'gn'"/>
+
+  <xsl:variable name="customFilename" select="concat($angularApp, '_', $searchView)"></xsl:variable>
+
+    Catalog settings
+  <xsl:variable name="env" select="/root/gui/systemConfig"/>
+  
+  Only system settings (use for backward compatibility replacing
+  /root/gui/env by $envSystem is equivalent). New reference to setting
+  should use $env.
+ 
+  <xsl:variable name="envSystem" select="/root/gui/systemConfig/system"/>
+  
+  URL for services - may not be defined FIXME or use fullURL instead
+  <xsl:variable name="siteURL" select="/root/gui/siteURL"/>
+  
+  URL for webapp root
+  <xsl:variable name="baseURL" select="substring-before($siteURL,'/srv/')"/>
+  Full URL with protocol, host and port
+  <xsl:variable name="fullURL" select="concat($env/system/server/protocol, '://',
+    $env/system/server/host, ':',
+    $env/system/server/port)"/>
+  Full URL for services
+  <xsl:variable name="fullURLForService" select="concat($fullURL, /root/gui/locService)"/>
+  <xsl:variable name="fullURLForWebapp" select="concat($fullURL, /root/gui/url)"/>
+
+  <xsl:variable name="isMailEnabled" select="$env/feedback/emailServer/host != ''"/>
+
+  <xsl:variable name="serviceInfo" select="/root/gui"/>
+  <xsl:variable name="session" select="/root/gui/session"/>
+  <xsl:variable name="isLoggedIn" select="$session/userId != ''"/>
+  
+  <xsl:variable name="isJsEnabled" select="not(ends-with($service, '-nojs'))"/>
+
+  <xsl:variable name="is3DModeAllowed"
+                select="if ($service = 'catalog.search' and
+                            ($env/map/is3DModeAllowed = 'true' or /root/request/with3d))
+                        then true()
+                        else false()"/>
+
+  TODO: retrieve from settings
+  <xsl:variable name="geopublishMatchingPattern"
+    select="'^WWW:DOWNLOAD.*|^FILE:GEO|FILE:RASTER|^DB:POSTGIS'"/>
+  <xsl:variable name="layerMatchingPattern"
+                select="'^OGC:WMS.*'"/> -->
+</xsl:stylesheet>