Entsprechend dem, was du mir vorgeschlagen hast. Also die Funktion ausgelagert.
Also in dem Quellcode sehe ich keine ausgelagerte Funktion. Aber egal. Wenn ich den Code in einer HTML-Datei speichere, kann ich sie problemlos aufrufen und bekomme keinen XML-Fehler. Wenn ich die von dir verwendeten Scripte einbinde, bekomme ich auch eine Slideshow zu sehen.
Wie gesagt liegt der Fehler vielleicht darin, dass du eine Datei mit der .php-Erweiterung lokal aufrufst. Als was der Browser diese Datei verarbeitet, ist ihm überlassen. Offenbar verarbeitet er das XHTML-Dokument als XML. Das liegt zwar nahe, aber letztlich ist es Unsinn, da du höchstwahrscheinlich HTML-kompatibles XHTML schreibst, das von den Browsern nicht als XML verarbeitet werden soll.
Wie auch immer, bei einer Verarbeitung als XML treten Fehler auf, weil du den Script-Code nicht in einem <http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style@title=CDATA-Bereich eingeschlossen> hast:
<script type="text/javascript">
/* <![CDATA[ */
...
/* ]]> */
</script>
Prüfe den Code also mal mit einem Validator. Doch wie gesagt solltest du die Datei einfach .html nennen und dann sollte kein Browser das Dokument überhaupt als XML verarbeiten.
Mathias