Moin,
wie Thomas schon fragte: welche Content-Type (MIME-Type) wird für die Datei gesendet? Wenn du (dein Script) kein Header("") mit ausgibst der annäherungsweise was mit XML-Daten zu tun hat, landet die Datei als text/html im Brwoser (default bei PHP), da kann sie .xml heissen wie sie will: der Content-type entscheidet und eine HTML-Datei(!!) hat nunmal mit <xml-stylesheet> nix am Hut. So einfach ist das.
Schau die Info zu Header() im PHP-Manual an, ohne das gehtz nicht.
Such dir ein Beispielscript, der Dateien ausliest und an den Browser senden, denn das wirst du wohl machen müssen - ziemlicher Akt.
Vielleicht steht was bei PHPSelf drin - musdugucken.
Abgesehn davon kann bestenfalls MSIE4+ mit dem XSLT was anfangen, weil NS6 und Opera nämlich nir XML+CSS verstehen. Dazu kommt, das der XML-Parser der mit dem IE (bis 6.0) kommt, kurzum sch... ist, deine Besucher müssten also wenigstens MSXML3 installieren, was sicher keiner macht. Dann geht das nur unter Windoze, weil es den nur dafür gibt. Dumm gelaufen.
Ergo: dein XML ist ok, kommt aber falsch deklariert bei Browser an (als HTML-Seite), anzeigen könnte es nur ein Bruchteil der Besucher (trotz IE).
XML serverseitig ist ja ok und löblich, aber dann solltest du auch das XSLT auf dem Server drübernudeln lassen. Auch hier hat dir Thomas gesagt was du dazu brauchst: Sablotron.
Viel Spaß dabei,das ganze dann auch noch unter Windows zu testen <g>
CirTap