jakie są różnice między html a xhtml

Różnice między HTML a XHTML

Twórcy HTML5 zaimplementowali w nim 2 tryby parsowania danych – HTML oraz XML. W zależności od tego, w jaki sposób programista określi typ zawartości „Content-Type” w nagłówku dokumentu html, taki tryb parsowania (składni) zostanie przyjęty w całym dokumencie. Programista możę użyć następujących tagów do określenia składni:

Content-type: text/html

Content-type: application/xml+xhtml

Typ `text/html` charakteryzuje się poniższymi cechami:

  • Dokument musi zaczynać się definicją !DOCTYPE html.

    <!DOCTYPE html />

  • Nie jest wymagane stosowanie otwierających lub zamykających znaczników dla wszystkich tagów,

    <p> Tu jest pierwszy akapit. <p> A tu drugi, zauważ że nie zamknęliśmy poprzedniego...

  • Tylko elementy nie obejmujące innych mogą (ale nie muszą) być zamykane za pomocą />. Np. br, img, hr, link,

  • Tagi i atrybuty można pisać zarówno małymi jak i wielkimi literami bez wpływu na działanie strony,

    <span>Jakiś tekst</spAN>

  • Wartości dla atrybutów nie muszą być w cudzysłowiach,

    <img src=obrazek.jpg />

  • Można stosować puste atrybuty (checked, disabled), Nie trzeba stosować znaków unikowych dla znaków specjalnych,

Natomiast XML to drugi tryb składni, który może być stosowany. Jest on dużo bardziej restrykcyjny i nazywa się go również XHTML. Innymi słowy, XHTML jest to kod HTML zapisany za pomocą składni XML. W nagłówku dokumenty określany jest jako Content-Type: application/xml+xhtml.

Cechy charakterystyczne XHTML:

  • Wszystkie elementy muszą mieć tag otwierający,
  • Wszystkie elementy, które mogą obejmować inne muszą mieć tag zamykający (np. ’p’, ’span’, ’div’),
  • Elementy można zamykać za pomocą />, Rozmiar ma znaczenie 🙂 – należy używać jednolitego rozmiaru liter dla tagów i atrybutów (z reguły jest to zapis małymi literami),
  • Wartości atrybutów muszą być zawierane w cudzysłowie Nie można stosować pustych atrybutów (zamiast disabled, stosujemy disabled = "disabled" itd.)
  • Znaki specjalne muszę być być zastąpione wersjami unikowymi.

Z powyższych informacji łatwo wysnuć wniosek, że stosowanie składni XHTML może przyprawić o większy ból głowy, z kolei składnia text/html jest dużo bardziej „liberalna” i ma większą tolerancję na różne sposoby pisania kodu.