XML, HTML, XHTML – jeden pies?
Zawsze sądziłem, że język HTML jest rozpoznawany przez ludzi. Okazuje się, że nie wszyscy go znają. Co gorsza, nawet wielu programistów nie zna różnic między HTMLem i XHTMLem, czy nawet XMLem. Postanowiłem więc opisać najważniejsze różnice.
XML
Z trzech wyżej wymienionych jest to to język, o którym wiem dość sporo, ale używam go najrzadziej. Nie będę tłumaczyć jak wygląda szkielet dokumentu, czy skąd język się wziął – takie informacje serwuje Wikipedia. Ja chciałbym tylko zauważyć, że XML jest doskonałym nauczycielem pokory i dokładności – żadna przeglądarka nie otworzy niepoprawnie sformatowanego dokumentu XML! Poprawność jest tutaj kluczowa. Z drugiej strony, często dokumenty XML mają swój schemat DTD, z którym muszą być zgodne. To również powoduje, że musimy być pewni, co piszemy.
Z drugiej strony, XML jest językiem, który opisuje całą zawartość – wiemy co tam jest i jak się to nazywa. Przecież tag <title>Mały Książę</title> mówi sam o sobie – Mały Książę jest tytułem.
HTML
Najpopularniejszy i najsłabszy z tych języków. Doczekał się już wersji 4.01, ale nadal jest ona słaba. Pełna specyfikacja i opis języka dostępne są w sieci. Łatwo też znaleźć kursy HTMLa. Osobiście uważam, że język niewart jest nawet tego akapitu, jednak nie jestem tu autorytetem. Będzie wersja 5.0, zamiast przejścia na XHTML 2.0
XHTML
W sumie jest to hybryda XMLa i HTMLa. Język, który tak jak HTML udostepnia pewien okrojony zestaw znaczników, ale który wzorem XMLa musi być well-formed. Każdy dokument XHTML jest poprawnym dokumentem XML. Na dodatek, wszystkie nowe przeglądarki internetowe (poza IE) potrafią wyświetlać XHTML jako HTML.
Uważam, że z tej trójki XHTML jest czymś, co każdy web-developer musi znać. Posiada zalety HTMLa i XML. Szkoda, że W3c zrezygnowało z rozwijania XHTMLa. Więcej na ten temat, można poczytać w wielu miejscach w sieci, ale ja podam przykładowy adres. Mam tylko nadzieję, że kiedyś stwierdzą, że jednak popełnili błąd i powrócą do XHTMLa, którego używam nagminnie.
Wrzesień 7th, 2010 at 15:56
hmmm chyba fundamentalna roznica jest tutaj konwencja i pewne podejscie do pisania kodu w html piszemy jak chcemy w xml piszemy wg wzoru, w xhtml budujemy majac na uwadze wzor. Jezeli HTML5 bedzie „lansowal” pisanie kodu majac na wuadze wzor a przegladarki beda to egzekwowac to po co dalej rozwijac xhtml ?
Wrzesień 10th, 2010 at 23:28
Jestem po prostu przekonany, że HTML5 pozostaną jakieś paskudne naleciałości z poprzednich wersji. Poza tym XHTML wysyłany jako XML wymuszał poprawność, a w HTML5 nadal będziemy wysyłać zwykły tekst. A jak wiadomo, czysty tekst może być wysłany jakkolwiek i przeglądarki w Quirks Mode znów zaczną robić ze stronami cuda.