This repository contains the EBU Metadata Classification Schemes in XML format, along with tools to explore and navigate them using a visual interface.
The European Broadcasting Union (EBU) provides a set of reference classification schemes for metadata modeling, standardization, and data interoperability across media organizations.
The XML files in the metadata repository represent controlled vocabularies for terms such as roles, media types, content genres, rights, and more.
The project is organized into two repositories:
- Metadata repository: Contains XML files that define a
ClassificationScheme
and a structured hierarchy ofTerm
elements. - Code repository: Provides tools to browse and search the metadata content.

👉 Open the app: ebu-cs-xml.streamlit.app
- Browse all XML classification schemes grouped by repository.
- Filter files and search within terms by label or definition.
- Click terms to explore hierarchical children and read definitions.
No installation required. Just visit the URL!
The local Streamlit XML viewer requires Python 3.12 or higher due to features and compatibility with Streamlit and XML processing libraries.
You can check your current Python version by running:
python --version
If your version is lower than 3.12, follow these instructions to upgrade:
brew install [email protected]
brew link --overwrite [email protected]
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12 python3.12-venv python3.12-dev
Download and install the latest Python 3.12.x from the official website:
👉 https://www.python.org/downloads/windows/
⚠️ After installation, make surepython
andpip
point to the new version. You might need to run:python3.12 -m pip install --upgrade pip
Once Python 3.12+ is installed and available, you can set up and run the project locally using:
This version uses a GUI built with tkinter
to browse and search XML classification schemes.
📁 Source code: code/cmd
- Python 3.12 or higher is required (due to improved
tkinter
behavior). tkinter
must be installed (already included in most Python 3.12 installs).
cd code/cmd
python run.py
📝 By default, it loads XML files from ../../metadata/cs
or lets you browse your own.
This version provides a modern browser-based interface using Streamlit.
📁 Source code: code/streamlit
- Navigate to the app directory:
cd code/streamlit
- Create and activate a virtual environment (recommended):
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install required packages:
pip install -r requirements.txt
- Launch the app:
streamlit run xml_streamlit_viewer.py
The app will open at: http://localhost:8501