Hallo Janine,
meine Antwort bezog sich auf direkt auf Deine Problemschilderung.
Ich kann Deine weiteren Fragen so nicht beantworten. Der Code ist durch die fehlenden externen XML-Dokumente [document('…')] gar nicht nachvollziehbar. Zudem ist im XSLT-Code ein Fehler. Konnte ihn durch ein zusätzliches öffnendes <div> nach <body> reparieren, aber auch das führt mit Saxon-HE 10.0 nur zu:
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body></body>
</html>
Erstelle einen nachvollziehbaren Testcase, der das exakte Problem abbildet. Sonst artet das nur in wilde Kaffeesatzleserei aus.
Die benannten xsl:call-template|s erscheinen mir auch nicht zielführend. Ich würde von vorn beginnen und auf xsl:template / xsl:apply-templates setzen sowie xsl:for-each nur für direkte Abfolgen / Aufzählungen im jeweiligen Kontext verwenden.
Auch die Erzeugung von Listen via Absätzen mit Unicode-Bullets wäre gegenüber von ul-/li-/Listen zu hinterfragen.
Grüße,
Thomas