Hi Hannes,
zwei Sachen fallen mir ein:
1. Wo steht denn die Funktion? Wenn sie im Head stehen sollte, wird über document.write AFAIK dort hin geschrieben,also in den Head --> Verwirrung --> plötzlich ein Body bevor </head> kommt
2. Ein JS-Interpreter betrachtet ein Script als beendet, wo ein / vorkommt. In Deinem Fall also z.B. hier:
document.writeln("<html><head><title>Test</title>");
^
Hast Du das Glück, dass der Browser darüber hinweggeht, müsste es aber spätestens hier zu Ende sein:
document.writeln("...</script>");
^^^^^^^^^
Vorschlag: sämtliche Slashes müssen durh Backslashes maskiert werden, also z.B.
document.writeln("...</script>");
Grüße,
Utz