XHTML

XHTML (Extensible Hypertext Markup Language) to rozszerzalny hipertekstowy język znaczników służący do tworzenia stron WWW ogólnego przeznaczenia. W odróżnieniu od HTML-a, dokumenty pisane w XHTML są zgodne z oficjalną specyfikacją XML. Specyfikacja XHTML 1.0 jest akceptowana przez istniejące przeglądarki HTML (dokument XHTML może być w nich wyświetlany jako HTML) i jednocześnie oferuje korzyści jakie daje XML.

Wzrost popularności XHTML był hamowany przez problemy związane z parsowaniem i walidacją dokumentów oraz brak pełnej współpracy ze strony przeglądarek. Dopiero od niedawna, za sprawą rozwoju popularnych przeglądarek (przede wszystkim powstanie Internet Explorer w wersji 9) strony napisane w XHTML mogą się wyświetlać na naszych komputerach jako XHTML (a nie HTML).

Wymienia się następujące punkty przewagi XHTML nad HTML:

  • dokumenty XHTML są zgodne z XML. Mogą być edytowane i walidowane przy pomocy standardowych narzędzi XML,
  • dokumenty XHTML mogą wykorzystywać aplikacje (skrypty i aplety) opierające się albo na obiektowym modelu dokumentu HTML, albo na obiektowym modelu dokumentu XML,
  • możliwość łączenia z innymi językami zgodnymi z XML, np. MathML czy SVG (jest to możliwe dzięki wykorzystaniu mechanizmu przestrzeni nazw),
  • możliwość tworzenia semantycznych stron. Język XHTML nie jest semantyczny, ale pozwala na tworzenie semantycznego kodu, przy spełnieniu pewnych warunków, m.in.: kod musi zawierać informacje w postaci tekstu, wszystkie elementy decydujące o wyglądzie muszą znaleźć się osobno (w arkuszach stylów) oraz wszystkie identyfikatory i nazwy klas mają się odnosić do funkcji, a nie do wyglądu.

Można znaleźć także głosy krytyczne, według których zalety wynikające z xml-owej struktury dokumentu XHTML niekoniecznie muszą równoważyć  wysiłek nad jego poprawnym sporządzeniem.

Podstawowe reguły kodowania XHTML, które różnią go od HTML to:

  • dokument powinien rozpoczynać się od deklaracji XML, np. <?xml version="1.0" encoding="UTF-8"?>,
  • element główny <html> musi zawierać atrybut xmlns określający przestrzeń nazw XHTML,
  • dla każdego znacznika otwierającego niepusty element powinien być znacznik zamykający,
  • nazwy elementów i atrybutów XHTML należy pisać małymi literami,
  • wszystkie wartości atrybutów musza być pisane w cudzysłowach,
  • niedozwolona jest skrótowy opis trybutów (czyli zamiast <textarea readonly> musi być <textarea readonly=”readonly”>).

Dokument XHTML, podobnie jak dokument XML, powinien być poprawny pod względem składniowym jak i struktury. Zgodność ze strukturą bada się na postawie schematu skojarzonego z danym dokumentem. Schematy określające definicję dokumentu XHTML są wyrażone językach schematów takich jak DTD, XML Schema oraz RELAX NG.