Liebe XHTMLforum Gemeinde,
da dies mein erster Forenbeitrag ist, gestattet mir ersteinmal mich kurz vorzustellen (im Usenet ist das ja auch üblich).
Ich beschäftige mich seit einigen Jahren mit Webdesign und demnach auch den damit verbundenen Technologien. Im Interesse meines "Selbststudiums" (im RL studiere ich auch) steht jedoch vielmehr die Erkenntniss grundlegender Zusammenhänge als die Präsentation toller Websites.
Vor kurzem habe ich (wie fast jden Tag) die Seiten der W3C besucht und nach langem Überlegen eine E-Mail an die Betreiber der entsprechenden Subsite verfasst.
(Übersetzung ins Deutsche angefügt)
--------------------------------------------------------------------------
Original Nachricht an das W3C (www-html-editor@w3.org

)
--------------------------------------------------------------------------
Dear Sir, dear Madam,
(Sehr geehrte Damen und Herren)
I'm responding to your well established FAQ (
XHTML Frequently Answered Questions) section 12 (Does Microsoft Internet Explorer accept the media type application/xhtml+xml?)
(Ich
beziehe mich hiermit auf Ihre gut gestaltete FAQ (
URL) Abschnitt 12 (Akzeptiert der Microsoft Internet Explorer den Mdientyp (MIME) application/xhtml+xml?))
In short a printout from my "index.html" to make it easier to understand.
(In kürze ein Ausdruck meiner "index.html"
und dtd.sxl um es leichter verständlich zu machen.)
[ index.html ]
Zitat:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="./database/d@ta/style/xsl/dtd.xsl" type="text/xsl"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
|
Now the modifierd "copy.xsl" (renamed to dtd.xsl here!)
(Nun die veränderte "copy.xsl" (hier in dtd.xsl umbenannt!))
[dtd.xsl]
Zitat:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns: xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<copy-of select="."/>
</xsl:template>
</xsl:stylesheet>
|
My question is, if my version of that XSL-file is better formed than yours. As you have probably noticed I was including a new line at first. Furthermore I included the FO namespace. Any changes made by me are marked in red.
(Meine Frage ist nun, ob meine Version der XSL-Datei besser geformt ist als die Ihre. Wie Sie vermutlich bemerkt haben fügte ich zu beginn eine neue Zeile ein. Weiter fügte ich eine
Deklaration des FO Namesraums ein. Alle Veränderungen, die meinerseits durchgeführt wurden, sind rot markiert.)
Lastly I'd like to know if the "lang="en-US" xml:lang="en-US"" specification within the <html>-tag is well formed.
(Zuletzt würde ich gerne noch wissen ob die "lang="en-US" xml:lang="en-US"") Spezifikation innerhalb des HTML-Tags korrekt geformt ist.)
Yours sincerely, J.C.
(Mit freundl. Grüßen, J.C.)
--------------------------------------------------------------------------
Meine Frage ist nun was Ihr davon haltet. Nach ausführlichen Recherchen und ausgiebiger Validierung (die
NUR die "wellformedness" untersuchen, da das XSL standalone ist - keine Dokumenttypdeklaration) bin ich noch kein bisschen schlauer.
Die meisten XSL Documente die im Netz auffindbar sind leiten mit dem <stylesheet>-Tag ein und verzichten meist auf Versionsangabe, Zeichensatz oder ähnliches. Dass die Angabe von FO optional ist - sie macht in dtd.xsl nicht wirklich Sinn

- ist mir klar. Dennoch ist es (wie z.B. in Hochsprachen wie C, C++ oder D) auch immer besser mal 'nen include mehr zu machen als etwas unspezifiziert zu lassen. Es ist mehr meine 'Angst' die daher rührt.
Die Angabe von "
xml:" in jedem Tag schein korrekt zu sein, aber wohl unnötig, oder?
So. Genug nun der Fragerei. Viel interessanter ist ja wohl warum ich mich dafür interessiere und was es mit Kapitel 12 auf
XHTML Frequently Answered Questions auf sich hat. Ist der Workaround doch höchst interessant.
Definiert man auf seinem Server (z.B. Apache) via .htaccess oder unter ./conf/mime.types dass Dateien mit der Erweiterung .xhtml als text/html ausgeliefert werden, so hat auch der MS IE kein Problem mehr. Natürlich will man aber erreichen, dass z.B. ein Opera9 oder Firefox das Dokument durch seinen internen XML Parser jagt, so muss es auch als application/xhtml+xml (MIME-Type) gesendet werden.
Angeblich (so schreibt es das W3C auf o.g. Seite) soll der Workarund mit dem Stylesheet (copy.xsl oder meinem dtd.xsl) eben dafür sorgen.
Leider konnte ich dies bisher nicht feststellen. Erstens ist in meinem nach XHTML 1.0 Strict definierten Document nichts vorhanden, was sich nicht in selber Art und Weise auch mit einem SGML-Parser - wohlgemerkt gleich - darstellen ließe. Weiter irritiert mich weshalb der Browser nicht darauf hört (nicht kann) was der Server zum Header sagt. Jeder Browser sollte sich doch 'nen Teufel darum schern, wass im Dokument unter DTD steht, wenn der Server es z.B. als text/html ausliefert. Anderenfalls würden ja auch nicht foo.ext (z.B. eine foo.html) zum download angeboten. Der Server kann eine HTML ja nur entsprechend übergeben, wenn in der Liste die extension mit einem "bekannten" MIME-Typ vorhanden ist. Somit wird foo.ext oder foo.weißdergeierwas immer zum Download angeboten.
Um nun zu Rande zu kommen. ich habe in meinem (Apache Server steht nur zu hause) tollen 1&1 Webhostingpaket natürlich keinen Zugriff auf MIME-Konfigurationen und deshalb in der .htaccess definiert, dass alle .xhtml entsprechend als (CODE:
AddType application/xhtml+xml .xhtml) application/xhtml+xml ausgegeben werden sollen. So und hier ist das W3C am Ende. Alle Browser können das anzeigen, nur der IE7 weigert sich und will downloaden. Somit sehe ich meine Theorie bestätigt, dass der Kopf des (X)HTML Dokuments - der darin enthaltene DTD - einfach irrelevant ist... zumindest in Bezug auf den MIME. Natürlich funktioniert das lesen der xhtml1-transitional.dtd (SYSTEM) weiter.
Ich hätte gerne eine Lösung für oben genanntes Problem. Der Workaraound des W3C scheint mir unzureichend oder ich verstehe ihn nicht.
Auf eine spannende Diskussion...