# DocuMentor — XSL-Transformationen unter Kontrolle

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
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