Table of Contents
- Session: From DATEX II Standard to Local Deployment
- Session: Using the DATEX II Toolchain to generate your code
- Session: DATEX II Best practices
The DATEX II Virtual User Forum presented a series of online presentations on selected topics.
Below, you will find a summary of the presentations grouped into sessions.
Session: From DATEX II Standard to Local Deployment
Date: 2023-10-04
Profiling: Simplify DATEX II Class model
YouTube (35:28) by Jörg Freudenstein
Understanding the concept of ’profiling’ and how to create profiles of DATEX II content class model.
Profiling enables selecting only the necessary features. In terms of the DATEX II class model, this allows for the creation of a streamlined class model, resulting in simpler messages.
EU Profiles: Set of standard DATEX II profiles
YouTube (40:53) by Martin van Ekelenburg
This section discusses the recommended EU Profiles and their relevance. The provided profiles offer a simplified class model for specific types of content, encompassing all attributes expected by related European Commission delegated acts.
Extensions: Adding custom data structures to standard DATEX II class model
YouTube (32:44) by Jonas Jäderberg
How to add missing attributes and structures to an existing DATEX II content class model by creating its extension.
Validation: Automate detection of broken classes and messages
Slides by Jan Vlčinský, Edgar van Wilgenburg and Andreas Dis.
Multi-part presentation on how to use DATEX II validation to speed up & improve quality of data exchange.
Links:
- GitLab repo: pytest-validate
- GitLab repo: xmlstarlet-docker
Validation Concepts in Context of DATEX II
By Jan Vlčinský.
Platform Independent model (PIM) as generic class model of DATEX II Payload.
Platform Specific Model (PSM) as format specific schema for data structuring and validation.
PSM can be derived from PIM by means of schema generation tool
Links:
- schema generation tool: https://webtool.datex2.eu
DATEX II Class Model Validation (RAV Centre)
By Andreas Dis.
Online tool to validate your class for being complete. Currently checks, that the profiling did not remove any attribute, required for Safe and Secure Truck Parking (SSTP) by European Commission delegated act number 885/2013.
Links:
- RAV Centre: https://testcenter.datex2.eu/xmlchk/
Use cases for Validation Schema
By Jan Vlčinský.
Use cases for message validation schema during SW development and system operations.
Tip: Publishing Message Schema Quickly
By Jan Vlčinský.
How to make your message schema available within “no time” by publishing essential schema files, samples and meta information on GitHub or GitLab.
How to: Validate using CLI or pytest
By Jan Vlčinský.
How to validate XML messages using:
- CLI
xmlstarlet
and - python test suite using
pytest
andlxml
.
Links:
- GitLab repo: pytest-validate
- GitLab repo: xmlstarlet-docker
NDW Online Message Validator
By Edgar van Wilgenburg.
NDW online validator to check the messages conform to agreed schema before they go to production.
Links:
- NDW online DATEX II Validator: https://d2val.staging.ndw.nu/
InQMS: Czech system for validating every published message
By Jan Vlčinský.
InQMS collects and archives published messages to evaluate:
- structural quality of each message (does it conform to the schema?)
- metrics (size, update period, number of records…)
Links:
Session: Using the DATEX II Toolchain to generate your code
Date: 2023-11-15
Set of presentation on generating code using the DATEX II toolchain. Starting with explaining DATEX II toolchain concepts, over generating XML schema, generating Python code from it, using OpenAPI specification to generate client and server code in C# and concluding by generating Java code from OpenAPI specification to interact with the C# server developed in previous step.
Links:
Toolchain demo: XML Schema and JSON generation
YouTube (23:41) by Jan Vlčinský.
How to use online schema generator to profile rich DATEX II class model into simpler one and then generate schema for XML and JSON message format.
Links:
Python code generation
YouTube (17:46) by Victoria Steiner.
Practical example how to use Python code in Jupyter Notebook. It uses python library xsdata
to generate code for Python class which can be used to load real XML file or to create a new instance.
The presentation also shows how to visalize messages on a map using python library ipyleaflet
.
C# OpenAPI/JSON: server and client side code generation
YouTube (51:20) by Jonas Jäderberg.
Practical example showing how to use JSON Schema, generated for selected DATEX II publication and pre-generated OpenAPI specification to develop in C# relevant server and client side code serving and consuming given content.
Java: client implementation
YouTube (24:39) by Bob van Leeuwen.
Practical example of how to use JSON Schema and OpenAPI specification file to create in Java a client, which is able to interact with server code implemented in previous presentation.
Session: DATEX II Best practices
Date: 2024-01-24
Set of loosely coupled presentations on best practices.
Note, that this session has no links to real content (videorecorded presentations or PowerPoint files). Links may be added as they become available.
Lessons Learned from Collecting Traffic Information Across Europe (VMS, Road Works, Situations)
By Chrysostomos Mylonas and Jan Vlčinský.
Findings from implementing system EuroRoaSt collecting data from all around Europe
By Chrysostomos Mylonas.
Presentation of system EuroRoaSt, which collects VMS, road works and situation from all around Europe and visualize the currently valid content on map in web application.
Best practices for providing data
By Jan Vlčinský.
Best practices for data providers based on findings done during EuroRoaSt system implementation.
Automated Traffic Regulations
45 minutes
DFRS Ecosystem - How does it work and where is DATEX II used
45 minutes
What is METR?
45 minutes?