Hallo,
Ja, kann ich. Kümmere dich nicht um das Ganze. Der Validator kann keine XSL-Datei validieren. (Das geht so oder so nicht, weil es weder eine DTD noch ein XML-Schema für XSLT gibt, weil beides unsinn und auch nicht wirklich möglich sind (ps: ja, es gab Versuche für XML-Schema für XSLT, aber lassen wir das jetzt).
Das kann ich gerade nicht ganz nachvollziehen aber okay.
OK, also langsamer:
Du hast ein X(HT)ML-Datei und dazu eine DTD (so wie das Beispiel unter http://de.selfhtml.org/xml/darstellung/css.htm#fahrplanbeispiel, oder du hast statt der DTD ein XML-Schema und du verweist auf das Schema in deinem XML-Dokument:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.example.org/foo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.examlpe.org/foo foo-schema.xsd"> ...
(in diesem Fall iegt die Schemadatei 'foo-schema.xsd' im selben Verzeichnis wie deine XML-Datei)
In beiden Fällen (DTD/Schema) kann dir der Validator deine XML-Datei auf Validität überprüfen.
Begriffe: Validität und Wohlgeformtheit http://de.selfhtml.org/xml/regeln/begriffe.htm
Für eine XSL-Datei gibt es aber weder eine DTD noch ein XML-Schema (und eine zu erstellen würde eh scheitern bzw. hat keinen Sinn).
D.h. der Validator kann deine XSL-Datei lediglich auf Wohlgeformtheit, nicht auf auf Validität überprüfen.
Jetzt aber doch konkret:
Diese "<!DOCTYPE xsl:stylesheet [ ..." Geschichte solltest du aus deinem XSL rauswerfen, wenn dir das der Dreamweaver dort einfügt, ist das Programm Mist, was XSL angeht. Wirf es weg. (ehrlich!)Das kann ich jetzt aber nicht verstehen wesshalb das jetzt weg soll, denn nur mit diesen Angaben kann ich im Firefox (1.5), Internet Explorer (7 Beta 3) und Opera (9.1) auf der webseite die ähm ü usw verwenden.
Du sollst auch keine HTML-Entities in deinem XML und in deinem XSL verwenden.
Wenn du Umlaute brauchst, verwendest du eine entsprechende Angabe zur Zeichenkodierung in der XML-Deklaration (sowohl in der XML-, als auch in der XSL-Datei):
<?xml version="1.0" encoding="ISO-8859-1"?>
Dann kannst du normal ä,ö,ü,ß, », « etc. Schreiben. Lediglich für brauchst du   zu schreiben (das aber auch nur in der XSL-Datei, wenn du dann im HTML an einer stelle wirklich ein brauchst.) Auch sonst gilt: du kannst für jedes Zeichen seine Unicode-Schreibweise (ob dezimale oder hexadezimale) verwenden.
Dir ist schon bewusst, dass du zur Zeit mit XHTML 1.1 absolut nichts erreichen kannst?
Zugegeben nicht aber ich bin der Meinung das es nicht schaden kann sich an die neusten Standarts zu halten.
Wie du meist. Solange du weisst was XHTML 1.1 wirklich ist.
Abgesehen davon:
<xsl:output method="html" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>ist ein krasser Gegenspruch: du musst method="xml" verwenden, wenn du XHTML als Ausgabe haben willst (egal ob 1.0 oder 1.1)
Das mag sein, aber wenn es dann von keinem Browser mehr richtig dargestellt wird lasse ich es lieber.
Mir ist das wirklich egal, natürlich kannst du das machen wie du es für richtig hältst. Aber mit method="html" erzeugst du auch nur HTML.
Sprich ein <img>-Element wird so aussehen wie in HTML (also <img .... >) und nicht wie in XHTML (also <img ... />) und das gilt für alle sonstigen leere Elemente (z.B. br)
Sprich: du willst zwar XHTML ausliefern, erstellst du aber doch nur HTML. Und das finde ich nicht wirklich gut überlegt (und valid werden deine XHTML-Datei so nie; falls jemand auf die Idee käme das generierte HTML zu überprüfen), weshalb ich meinte, du kannst auch normal HTML 4.01 als Ausgabeformat verwenden.
Grüße
Thomas