Die Umstellung von XHTML auf HTML5 war nicht unbedingt ein Fortschritt, wenn es um die Verarbeitung der Strukturen mittels XSLT geht. Denn ein HTML5 Dokument kann im Gegensatz zu XHTML auch nicht abgeschlossene Tags beinhalten.
Man muss also zunächst das HTML5 mittels z.B. HTML Tidy valide machen und nach XHTML überführen, bevor man es dann per XSLT weiterverarbeiten kann. Natürlich frägt sich jetzt der geneigte Leser, warum man das will - schließlich handelt es sich bei HTML5 ja schon um ein Ausgabeformat.
Mir fallen auf Anhieb zwei Use Cases ein:
Reverse Engineering eines Ausgabepakets der Konkurrenz, um die Daten in das eigene CCMS zu importieren
Web scraping mittels XSLT
Aber auch schon einen Schritt vorher, wenn Saxon den Ausgabebaum für HTML5 schreibt, können Probleme auftreten. Insbesondere wenn sich unmaskierte Sonderzeichen, die im XML erlaubt sind - aber im HTML nicht - ausgegeben werden sollen.