Schema Validator XHTML

Status
Nicht offen für weitere Antworten.
Wie gesagt, zwei verschiedene Versionen deiner Seite sind (noch) nicht nötig, da XHTML 1.0/1.1 abwärtskompatibel ist.
Welchen Mime Typen geben ich standarmässig bei Benutzung des PHP Codes ein, doch den application/xhtml+xml oder?
Was meinst du damit? :confused:

Der Code kommt ganz am Anfang der Datei hin, vor dem PHP-Teil darf kein einziges Zeichen (nichtmal ein Leerzeichen oder eine Leerzeile) stehen, sonst klappt's nicht. Der PHP-Code wie von dir gepostet stimmt so wunderbar und sollte funktionieren. (Btw: Wenn du
PHP:
/
verwendest, wird der Code auch noch richtig schön gehighlightet. ;))

Wenn dein Webserver PHP unterstützt, genügt es eigentlich, die Dateiendung von .html auf .php zu ändern, dann sollte es funktionieren.
 
Hallo,

ich habe mit der Frage gemeint, welchen Mime Typen ich generell in den Seiten verwenden soll, wenn ich noch zusätzlichen den PHP Code mit einbaue. Also entweder immer den text/html oder den anderen?

Was bedeutet gehighlightet.ist das gut :-) ?

Wie erstellst du selber deine Seiten mit XHTML oder ohne.

Glaubst du wirklich das in den nächsten Jahren XHTML das normale HTML ablösen wird?

Ohne diesen PHP Code kann ich doch meine XHTML Seiten ganz vergessen, weil die der IE nicht anzeigt? Wieso bekomme ich aber troztdem meine Seite zu sehen, wenn ich den xml Mime Typen einbaue ansatt den text/html und lokal auf meinem Browser die Seite lade?
 
Servus

Also wenn du statt HTML- PHP-Dateien verwendest, musst du den MIME-Typ nicht ändern. Der Browser kriegt ja nicht mit, dass da PHP im Spiel ist - PHP wird vollständig auf dem Server ausgeführt, erst, wenn der damit fertig ist, wird das fertige reine HTML-Dokument zum Browser geschickt. Daher kannst du da text/html lassen.

Highlighten bedeutet, dass die Schlüsselwörter und/oder spezielle Kontrollstrukturen einer Sprache in anderen Farben hervorgehoben werden. Hier mal ein Beispiel:
HTML:
<?php if (stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml')) { 
	header("Content-type: application/xhtml+xml"); 
} else { 
	header("Content-type: text/html"); 
} ?>
PHP:
<?php if (stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml')) { 
	header("Content-type: application/xhtml+xml"); 
} else { 
	header("Content-type: text/html"); 
} ?>
Ich hoffe, du siehst den zwar kleinen, aber feinen Unterschied. ;)

Meine Webseite habe ich gestern Abend nach rund sechsmonatigem Herumgeschwanke zwischen HTML und XHTML endlich richtig auf XHTML umgestellt (verwende übrigens dabei genau das Script, das ich auch hier gepostet habe).

Bezüglich der Frage, ob/wann XHTML HTML ablösen wird, kann meines Erachtens nur spekuliert werden. XHTML 1.0/1.1 sind wie bereits erwähnt noch abwärtskompatibel, wenn aber irgendwann mal XHTML 2.0 kommt, dann sieht die Sache ganz anders aus. Bis dieses von allen Browsern unterstützt wird, werden wohl noch Jahre vergehen - ich denke, XHTML wird (leider) frühestens ab 2010 für den normalen Webdesigner interessant werden.

Wenn du die Fallunterscheidung in PHP raushaust, wird das Dokument immer als text/html geschickt. Das ist zwar einerseits gut, da der IE so keine Probleme damit hat, andererseits ist da ja aber nicht Sinn der Sache - wenn du schon XHTML verwendest, dann solltest du das Dokument auch als solches kennzeichnen. Schliesslich hättest du dir sonst die ganze Arbeit umsonst gemacht, und das bringt's ja nicht.
 
Hallo,

langsam verstehe ich jetzt besser die Sache mit den Medi Typen und Browsern.

1. Der Firefox Browser unterstüzt ja alle XHTML Seiten und der IE aber nicht soweit ich weis. Wieso bekomme ich abe trotzdem eine Seite angezeigt im IE wenn ich meiner Seite den XHTML Media TYpen gebe und im Browser lade. Es müsste doch nicht funktionieren weil der IE doch kein XHTML unterstützen tut?

2. Dann habe ich noch etwas bemerkt, in meiner Seite habe ich ein Javscript zu Anzeigen eines Datums mit Uhr:
HTML:
<script type="text/javascript">
<!--
var Datum = new (Date);
var Tag = Datum.getDate();
var Wochentag = Datum.getDay();
var Monat = Datum.getMonth();
var Jahr = Datum.getFullYear();
var Tagname = new Array("So","Mo","Di","Mi","Do","Fr","Sa");
var Monatname = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var Stunde = Datum.getHours();
var Minute = Datum.getMinutes();
if(Minute<10)
{
 Minute = "0" + Minute;
}
if(Stunde<10)
{
 Stunde = "0" + Stunde;
}
document.write(Tagname[Wochentag]+", "+Tag+". "+Monatname[Monat]+" "+Jahr+" - "+Stunde+":"+Minute);
//-->
</script>
Das Scrip habe ich aber nicht in eine CDATA Tag getan weil es unter dem head im body Bereich ist, ich weis nicht ob das so richtig ist, aber ich habe einen Hinweis bekommen non jemanden der sagt das es auch im body Bereich in ein CDATA Tag gehört. Der Schema Validator hingegen hat aber dagen auch nichts gegen diese Script gesagt, was er doch aber müste, oder nicht?

3. Wen der Schema Validator wegen solchen Fehlern auch keine Medlung macht, und die XML-Parser der Browser aber bei solchen Fehlern die Seite nicht anzeigen, wie kann ich dann vorher meine Seiten auf 100% Korektheit überprüfen? Ich habe mir dazu gedacht das der Firefox Browser mir dabei helfen könnte, indem ich vorher immer meinen Seiten den XHTML Media Typen gebe und dann im Firefox lade, wenn die Seite dann geladen werden sollte ohne Fehlermeldung, sollt alles in Ordnung sein und alle anderen XML Parser sollten auch mit der Seite keine Probleme bekommen? Hier stellt sich aber wieder die Frage von vorhin, warum der IE auch die Seite anzeigt bei XHTML Media Typen wenn er doch wiederum kein XHTML unterstützen tut?

Wie ih sieht habe ich immer wieder Fragen zu XHTML, aber das ist auch gut so, weil ich mir alles aufschreibe und am Ende für alles ein Antwort habe und loslegen kann.

P.S. @SilentWarrior, wenn XHTML erst 2010 für den normalen Webdesigner interessant werden sollte, was sind dann die Leute die jetzt schon XHTML anwenden, eine Stufe höher oder Und XHTML 2 soll ja nicht mehr mit normalen HTML kopatibel sein, man wird doch aber trotzdem immer das Rückkompatible XHTML1.0 verwenden können

gruß
feh
 
Zu Punkt 1: Sobald ein Dokument mit dem für XHTML korrekten Media-Typen application/xhtml+xml an den Internet Explorer ausgeliefert wird, öffnet sich der „Dateidownload“-Dialog des Browser. Das lässt mich darauf schließen, dass der Internet Explorer kein XHTML interpretiert.

Zu Punkt 2: Hast du dir die Begriffserklärung zu CDATA nicht durchgelesen? Dort steht, dass in XML-Dokumenten – und damit auch XHTML-Dokumenten – ein CDATA-Abschnitt verwendet wird, „um einem Parser mitzuteilen, dass kein Markup folgt, sondern normaler Text.“ Und da es sich in deinem Fall definitiv nicht um XHTML-Markup handelt, ist dort ein CDATA-Abschnitt nötig.


XHTML 2.0 ist weder zu füheren Versionen von XHTML nach zu HTML kompatibel. Wann und ob es überhaupt die anderen Sprachen langfristig ablöst, kann man schlecht sagen. Denn derzeit werden Webseiten noch immer zu häufig als Darstellungs- oder Präsentationssprache (wenn nicht sogar als Programmiersprache mit seinen Befehlen) angesehen. Und solange sich dieses Denken nicht ändert, sieht auch die Zukunft einer zukunftsweisenden Auszeichnungssprache düster aus. Desweiteren schränkt die fehlende Rückkombatibilität die flächendeckende Anwendung weiter ein. Denn solange die UA nichts mit den Dokumenten anfangen können, nützt auch die zukunftsweisende Technologie nichts.
Hoffentlich ändert sich das mit der nächsten Version des Internet Explorers, der Version 7, sodass dieser auch die heute etabliertesten Web-Standards interpretiert.
 
Hallo,

zu 1. Ich habe in meiner Datei den XHTML Mediy Typen application/xhtml+xml angegeben und lade die Seite im IE und sie öffent sich auch ganz normal, zwar im Qiuks Modus wegen der XML Deklaration am Anfang aber sie öffnet sich und wird nicht zum Dowload angeboten. Woran kan das liegen?
1.2 Daran das meine Datei die Endung html hat und nicht xhtml?
1.3 Daran das meine Datei nicht auf dem Server liegt sondern intern auf dem Rechner getestet wird?

so sieht meine MEdia Typ Angabe aus:
HTML:
 <meta http-equiv="content-type" content="application/xhtml+xml; charset=ISO-8859-1" />

zu 2. Ich habe es mir schon fast gedacht das da ein CDATA fehlt, habe ich es wie folgt richtig eingebaut, also in einem Kommentar versrsteckt?
HTML:
<script type="text/javascript">
<!--<![CDATA[ -->
<!--
var Datum = new (Date);
var Tag = Datum.getDate();
var Wochentag = Datum.getDay();
var Monat = Datum.getMonth();
var Jahr = Datum.getFullYear();
var Tagname = new Array("So","Mo","Di","Mi","Do","Fr","Sa");
var Monatname = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
var Stunde = Datum.getHours();
var Minute = Datum.getMinutes();
if(Minute<10)
{
 Minute = "0" + Minute;
}
if(Stunde<10)
{
 Stunde = "0" + Stunde;
}
document.write(Tagname[Wochentag]+", "+Tag+". "+Monatname[Monat]+" "+Jahr+" - "+Stunde+":"+Minute);
//-->
<!--]]>-->
</script>

zu 3. Was hat es jetzt auf sich mit dem Schema Validator und dem 100 % Endtest für meine XHTML Seite mit dem Firfox Browser? Wenn der Schema Validator solche Fehler wie die fehlende CDATA Kalmmer nicht herausfindet, wie kann ich dann trotzdem testen ob alles 100% in Ordnung ist und auf jedenfall von allen XHTML fähigen Brwosern dargestellt wird. Ist die Lösung einfach mit einem XHTML fähigen Brwoser das zu testen angebracht und wird das auch Brwoser ubergreifend auf das gleiche Ergebnis führen?

4. Wann glaubst du kommt der neue IE Brwoser raus?
 
Bei der Gewichtung der Media-Typen gibt es folgende Reihenfolge:
  1. vom Webserver gesendetes HTTP-Header-Feld Content-Type
  2. im Dokument selbst, z. B. als meta-Element (was jedoch eigentlich nicht anstatt der HTTP-Header-Information benutzt werden sollte)
Demnach ist es wichtiger, welcher Media-Typ im HTTP-Header gesendet wird.

Dateien mit den Endungen htm und html werden mit den Standardeinstellungen von Windows und den meisten Webservern mit den Media-Typen text/html ausgeliefert – auch wenn im Dokument selbst etwas anderes notiert ist. Dateien mit der Endung xhtml werden hingegen als application/xhtml+xml.


Laut den neuesten Meldungen zufolge soll der Internet Explorer nicht vor Frühling 2006 erscheinen – allerdings nur zusammen mit dem kommenden Windows-Betriebssystem „Longhorn“.
 
Zuletzt bearbeitet:
Hallo Gumbo,

die Medlung das der neue IE erst in ca 2 Jahren raus kommen soll und dann noch nicht mal für XP lässt in mir Zweifel aufkommen ob es sich trotzdem lohnt XHTML Seiten zu machen, siehst du das nicht auch so?

IE trägt einen Anteil von 92% nach der Info, und unterstüzt doch kein XHTML wofür ist es dann zu gebraucehn?

Wenn ich z.B. in meiner Seite noch irgendwelche andere XHTML spezifische Sprachen einbaue was bassiert dann, wenn das ganze an den IE als text/html weitergegeben wird.

Die Seite wird dann doch nicht mehr angezeigt wegen der anderen XHTML spezifischen Sprache die im Dokument mit eingebaut wurde und auch nur bei Ausgabe von XHTML Seiten funktionieren müsste, oder?

Auch wenn es etwas spät kommt, aber ich sehe das ganze dann so an, als ob XHTML Seiten nur noch für die anderen 6 % der Browser interessant sind.

Aber vielleicht hilst du mir nochmal diese Zweifel loszuwerden.

gruß
feh
 
Zugegeben, die Nachricht stammt vom 18.11. letzten Jahres, dennoch stimmt es, dass es mit der Veröffentlichung des Internet Explorers noch etwas dauern wird, „frühestens 2006“, „auch ein Veröffentlichungstermin 2007 ist möglich“, schreibt SPIEGEL ONLINE.
Um ehrlich zu sein, sprechen derzeit noch mehr Argumente gegen die Nutzung von XHTML als dafür. Deine zahlreichen XHTML-bezüglichen Fragen haben auch mich dazu gebracht, etwas tiefer in die Materie einzusteigen und zu recherchieren. Falls du deinen Englischkenntnissen etwas zumuten möchtest, dann kann ich dir in diesem Zusammenhang nur Ian Hicksons Artikel „Sending XHTML as text/html Considered Harmful“ nahelegen, der umfasst so ziemlich alles Wissenwerte. Zum Ende kommt er zu folgendem Fazit:
There are few advantages to using XHTML if you are sending the content as text/html, and many disadvantages.

In addition, currently, the majority (over 90% by most counts) of the UA market is unable to correctly render real XHTML content sent as text/xml (or other XML MIME types). For example, point IE at:

http://www.mozillaquestquest.com/

Only Mozilla, Mozilla-based browsers such as Netscape 6 and 7, recent versions of Opera, and Safari, are able to correctly render that site. (IE6 shows a DOM tree!)

Authors who are not willing to use one of the XML MIME types should stick to writing valid HTML 4.01 for the time being. Once user agents that support XML and XHTML sent as one of the XML MIME types are widespread, then authors may reconsider learning and using XHTML.
 
Status
Nicht offen für weitere Antworten.
Zurück