diff --git a/config.json b/config.json
index a8cec25c98fcb110258320cec01f2d50b3fb788c..8990e662a37a5b1871e89911801a899c6e247861 100644
--- a/config.json
+++ b/config.json
@@ -5,6 +5,8 @@
   },
   "xsd":{
     "filename":"dcc.xsd",
-    "externalBaseURL":"https://ptb.de/dcc/"
+    "externalBaseURL":"https://ptb.de/dcc/",
+    "localPath":"./xsd-local/",
+    "releases":"https://www.ptb.de/dcc/releases.json"
   }
 }
diff --git a/server.py b/server.py
index 05471f86e2aacaa67bbd4dda8a941d99e261e862..f8c500deb28ebf381e377c0d953c7e316e26d707 100644
--- a/server.py
+++ b/server.py
@@ -3,11 +3,13 @@ from flask_cors import CORS
 import utils as utils
 from trans import Trans
 from datetime import datetime
-import subprocess
+import subprocess, json
 from pprint import pprint
 
 config = utils.get_config_dict()
-
+releases_dict = utils.get_releases_dict(config['xsd']['releases'])
+versions = utils.get_versions(releases_dict) 
+        
 app = Flask(__name__)
 CORS(app)
 trans = Trans()
@@ -65,11 +67,11 @@ def validate():
 @app.route('/validation.html', methods=['GET'])
 def validation():
     app.logger.debug('hit validation.html')
-    # pprint(vars(request)) 
     l = str(request.accept_languages).split(',')[0][0:2]
     if l != 'de':
         l = 'en'
-    x = "['2.4.0','2.3.0','2.2.0','2.1.1','2.1.0']"
+    # x = '["2.4.0","2.3.0","2.2.0","2.1.1","2.1.0"]'
+    x = '[' + ','.join(versions) + ']'# javascript array definition as string 
     return trans.show_html(version=utils.get_version(), language=l, 
       xsd_versions=x)
 
@@ -90,3 +92,5 @@ def logo_folder(fn):
 
 if __name__ == '__main__':
     app.run(host=config['server']['host'], port=config['server']['port'])
+
+
diff --git a/utils.py b/utils.py
index cffec5b31d87deae12388e9a92f3f9b4ddd90aa9..33f5437363028e681b1bb89d07fd1b0ec2c4167e 100644
--- a/utils.py
+++ b/utils.py
@@ -21,6 +21,29 @@ def get_config_dict():
 
     return config
 
+# get content of 'releases.json' via http request
+def get_releases_dict(url):
+    try:
+        filename = urlparse(url).path.split('/')[-1]
+        r = requests.get(url, allow_redirects=True)
+        if r.url.endswith(filename): # no bad redirection
+            try:
+                return json.loads(r.text)
+            except:
+                return False         
+        else:
+            return False
+    except:
+        return False  
+
+# a reverse list of version strings        
+def get_versions(d):
+    v = []
+    for i in d['releases']:
+        v.append('"' + i['version'] + '"') 
+    v = list(reversed(v))
+    return v
+
 def get_version():
     try:
         with open('./VERSION', 'r') as f: