Gedi pisze:Twoja strona NIE jest dokumentem XML, wbij to sobie do głowy. O tym co decyduje o typie dokumentu jest MIME. Dla typu XHTML masz mieć "application/xhtml+xml", dla XML masz mieć "text/xml" lub "application/xml", dla HTML masz mieć "text/html".
Twój dokument wysyła "text/html" i tak jest parsowany. HTML -> *html, XHTML -> *xhtml, XML -> *xml. Nadal nie wiesz o co chodzi. Jak nie wiesz zmień rozszerzenie swojego pliku na *xhtml lub zmuś serwer do wysłania typu MIME "application/xhtml+xml".
Zajec pisze:No niezupełnie. O tym czym jest wysyłany plik _decyduje mimetype_ - co widzę, że zrozumiał Gedi. Pomyśl:
czy jeśli wyślę plik o treści "TO JEST ARCHIWUM RAR" jako text/plain oznacza, że plik stanowi faktycznie archiwum?
Pozwólcie sobie coś wytłumaczyć:
1. dokument zaczyna się deklaracją xml. Tu jest ustawiana strona kodowa, ta z meat jest ignorowana
2. potem pojawia się doctype - tu parser decyduje, o tym, co jest przetwarzane - element główny dokumentu XML
3. do znacznika <meta http-equiv="Content-Type" ... nie da się dotrzeć, bez przetworzenia tego co powyżej. Czyli odczytując go - praser jest już w dokumencie XML, albo przetwarza dokument niezgodnie z jefgo formatem.
Przeczytajcie uważnie, co piszę - że plik leżący na twardym dysku, jeśli nawet ma wpisane w HTTP-equiv dowolne bzdury - jest przetwarzany poprawnie (np przez Firefoxa), bo MUSI być przetwarzany jako XML od wczytania pierwszej linii.
Problem się pojawi jeśli przeglądarka ZANIM dostanie dokument otrzyma nagłówek HTTP z błędnym określeniem zawartości mime. Wtedy odczyta poprawny dokument XML, jako coś innego, JASNE? To nie będzie znaczyło, że dokument ten nie jest poprawnym XMLem, tylko, że przeglądarka go niepoprawnie przetwarza (bo dostała błędny mime).
