HTML i XHTML to dwa języki znaczników służące do tworzenia stron internetowych, które na pierwszy rzut oka mogą wydawać się bardzo podobne, ale w rzeczywistości różnią się pod względem zasad składni, możliwości rozbudowy oraz zasadności stosowania. Poznanie różnic między nimi jest kluczowe zarówno dla początkujących, jak i dla zaawansowanych twórców stron www.
Podstawowe definicje
- HTML (HyperText Markup Language) – jest najpopularniejszym językiem znaczników, który pozwala na tworzenie i prezentację treści w sieci. Jego główną zaletą jest elastyczność składni – przeglądarki często „wybaczają” błędy w kodzie i próbują wyświetlić stronę mimo nich;
- XHTML (Extensible HyperText Markup Language) – to odmiana HTML stworzona jako aplikacja XML. Wprowadza znacznie bardziej rygorystyczne zasady składni i jest przeznaczona do lepszej współpracy z innymi technologiami opartymi na XML.
Kluczowe różnice pomiędzy HTML a XHTML
| Cecha | Html | Xhtml |
|---|---|---|
| „Luz” składniowy | Dopuszcza błędy i nieścisłości | Wymagana ścisła poprawność składniowa |
| Zamknięcie znaczników | Niektóre znaczniki mogą być otwarte | Wszystkie znaczniki muszą być zamknięte |
| Wielkość liter w znacznikach | Dowolna (np. <DIV> lub <div>) |
Wyłącznie małe litery w znacznikach |
| Wartości atrybutów | Nie muszą być w cudzysłowie | Wszystkie muszą być ujęte w cudzysłowie |
| Dopuszczalne formatowania | Niektóre skrócone zapisy dopuszczalne | Skrócone zapisy niedozwolone, atrybuty wymagają pełnej formy |
| Opcjonalny lub różne wersje | Obowiązkowy, określający wersję XHTML | |
Przestrzeń nazw xmlns |
Niewymagana | Obowiązkowa w znaczniku <html> |
| Typ MIME | text/html | application/xhtml+xml (choć dla zgodności często stosuje się też text/html) |
| Parsowanie przez przeglądarki | Tolerancyjne podejście do błędów | Błędy parsowania powodują niedziałanie dokumentu |
Przykład kodu HTML
<!DOCTYPE html>
<html>
<head>
<title>Przykład HTML</title>
</head>
<body>
<h1>Witamy na stronie!</h1>
<img src="logo.png" alt="Logo">
<p>To jest przykładowy paragraf.<br>
Kontynuacja tekstu.</p>
<input type="text" name="imie">
</body>
</html>
W powyższym kodzie np. znacznik <br> nie jest zamknięty, a wartości atrybutów nie muszą być otoczone cudzysłowami.
Przykład kodu XHTML
<!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">
<head>
<title>Przykład XHTML</title>
</head>
<body>
<h1>Witamy na stronie!</h1>
<img src="logo.png" alt="Logo" />
<p>To jest przykładowy paragraf.<br />
Kontynuacja tekstu.</p>
<input type="text" name="imie" />
</body>
</html>
Zasady wersji XHTML
- wszystkie znaczniki muszą być zamknięte (nawet samodzielne, jak
<br />,<img />,<input />), - wszystkie atrybuty muszą mieć wartości w cudzysłowie,
- nazwy znaczników i atrybutów muszą być pisane małymi literami,
- konieczne jest podanie
DOCTYPEi przestrzeni nazw w znaczniku<html>.
Zastosowania i praktyka
- HTML – jest nadal standardem stosowanym do większości witryn. Jego elastyczność sprawia, że łatwo zacząć naukę, a praca nad kodem jest szybka;
- XHTML – wykorzystywany jest głównie tam, gdzie wymagana jest zgodność z XML – na przykład jeśli witryna ma być zintegrowana z rozbudowanymi systemami publikacyjnymi lub w projektach, które mają być przetwarzane automatycznie przez inne narzędzia.
W praktyce większość nowych projektów używa HTML5, który – choć luźniejszy w składni niż XHTML – wprowadza nowe, semantyczne znaczniki oraz poprawia zgodność z nowoczesnymi przeglądarkami.
Podsumowanie
- Wybierz HTML, jeśli tworzysz klasyczne strony internetowe i zależy Ci na szybkości i elastyczności wdrożenia,
- wybierz XHTML tam, gdzie ważna jest ścisła poprawność składniowa i współpraca z narzędziami wymagającymi formatu XML.
Dokładne zrozumienie różnic pozwoli Ci lepiej dostosować technologię do wymagań projektu oraz zapewni kompatybilność i stabilność tworzonych stron.