Desktop-Anwendung // PySide6 // Open Source

DOCUMENTOR

XSL-Transformationen unter Kontrolle. Validieren. Vergleichen. Verifizieren. Die Toolchain für Entwickler, die PDF-Dokumente aus XSL/XML erzeugen und Änderungen lückenlos nachverfolgen muessen.

100+ XSL-Dateien
3 PDF-Panels
BLAKE2B Hash-Tracking
Transformationen
SAXON • APACHE FOP • DIFF-PDF • POSTGRESQL • PYSIDE6 • BLAKE2B • XSL • XML • PDF • SAXON • APACHE FOP • DIFF-PDF • POSTGRESQL • PYSIDE6 • BLAKE2B • XSL • XML • PDF • SAXON • APACHE FOP • DIFF-PDF • POSTGRESQL • PYSIDE6 • BLAKE2B • XSL • XML • PDF • SAXON • APACHE FOP • DIFF-PDF • POSTGRESQL • PYSIDE6 • BLAKE2B • XSL • XML • PDF •
01 // Features

Was DocuMentor leistet

Feature 01

Baumstruktur

Hierarchische Organisation von XSL-Transformationen. TreeNode, XslFile und XmlFile bilden eine übersichtliche Projektstruktur. Import- und Include-Abhängigkeiten auf einen Blick.

Feature 02

PDF-Diff

Drei-Panel-Ansicht: Referenz, Diff und Neu. Visueller Vergleich mit Alpha-Blending. Änderungen in PDF-Dokumenten sofort erkennen — Pixel für Pixel.

#_ Feature 03

Hash-Tracking

BLAKE2B-Hashing zur Änderungsverfolgung von XML-Dateien. Automatische Berechnung beim Laden. 64-Zeichen-Hexdigest in project.yaml persistiert.

Feature 04

Async-Verarbeitung

Hintergrund-Threads für Hash-Berechnungen und Datenbank-Abfragen. Die UI bleibt reaktionsfähig — auch bei 100+ Dateien. Abbrechen-Dialog inklusive.

Feature 05

PostgreSQL

Datenbankintegration mit Polars und ConnectorX. SSL-Unterstützung. SQL-Abfragen direkt aus der Anwendung. Ergebnisse als DataFrames.

Feature 06

Toolchain-Konfig

Zentrale Verwaltung: Java VM, Saxon JAR, Apache FOP, diff-pdf. ID-basierte Referenzierung. Projekte koennen verschiedene Tool-Versionen verwenden.

02 // Workflow

Vier Schritte zum Ergebnis

01

XSL bearbeiten

Änderungen an den XSL-Dateien durchführen. Import- und Include-Verknüpfungen beachten — eine Änderung kann viele Dokumente betreffen.

02

Transformation starten

Saxon führt die XSLT-Transformation durch. Apache FOP erzeugt die PDF-Ausgabe. Alles konfigurierbar über die Toolchain.

03

PDF-Diff begutachten

Die Drei-Panel-Ansicht zeigt Referenz, Differenz und neues Dokument. diff-pdf markiert alle Änderungen visuell.

04

Ergebnis verifizieren

Wurden die richtigen PDFs geändert? Entsprechen die Änderungen den Erwartungen? Bei Bedarf: zurück zu Schritt 1.

03 // Oberfläche

Die Anwendung im Einsatz

DocuMentor v1.0 — Projekt: Pruefungsdokumente ■ PySide6
Urkunden
bachelor_urkunde.xsl
student_01.xml
student_02.xml
student_03.xml
master_urkunde.xsl
Zeugnisse
zeugnis_ba.xsl
zeugnis_ma.xsl
Bescheide
Referenz-PDF
Referenz
■ Diff-Ansicht
Differenz
Neues PDF
Neu generiert
student_02.xml — BLAKE2B: a3f7c9... ■ Transformation abgeschlossen
04 // Tech-Stack

Gebaut mit roher Kraft

Python

Kern-Sprache

PySide6

Qt-GUI-Framework

Saxon

XSLT-Prozessor

Apache FOP

PDF-Erzeugung

diff-pdf

PDF-Vergleich

PostgreSQL

Datenbank

Polars

DataFrames

Pydantic

Konfiguration

05 // Loslegen

Jetzt installieren

Voraussetzungen

DocuMentor läuft auf Linux, Windows und macOS. Die Konfiguration wird plattformspezifisch gespeichert.

  • [x] Python 3.13+
  • [x] Java VM (für Saxon)
  • [x] Saxon HE/PE/EE JAR
  • [x] Apache FOP
  • [x] diff-pdf
  • [x] PostgreSQL (optional)
Dokumentation
Terminal
# Repository klonen
$ git clone https://github.com/user/xsl-validator.git
$ cd xsl-validator

# Abhängigkeiten installieren
$ uv sync

# Anwendung starten
$ uv run python src/main.py
Linting
$ uv run ruff check
$ uv run ruff format