Gramatyka XHTML

Pisanie kodu XHTML wymaga czystej składni HTML

Więcej zasad składni XHTML:

  • Nazwy atrybutów muszą być pisane małymi literami
  • Wartości atrybutów muszą być w cudzysłowie
  • Atrybuty nie mogą być skrócone
  • Używaj atrybutu Id zamiast name
  • DTD XHTML wymusza użycie elementów HTML

Nazwy atrybutów muszą być pisane małymi literami

To jest błędne:

<table WIDTH="100%">

To jest poprawne:

<table width="100%">

Wartości atrybutów muszą być w cudzysłowie

To jest błędne:

<table width=100%>

To jest poprawne:

<table width="100%">

Atrybuty nie mogą być skrócone

To jest błędne:

<input checked>
<input readonly>
<input disabled>
<option selected>
<frame noresize>

To jest poprawne:

<input checked="checked" />
<input readonly="readonly" />
<input disabled="disabled" />
<option selected="selected" />
<frame noresize="noresize" />

Poniżej znajduje się lista skróconych atrybutów HTML oraz ich odpowiedniki w XHTML:

HTML XHTML
compact compact="compact"
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"

Zastępowanie atrybutu name atrybutem id

HTML 4.01 definiuje atrybut name dla następujących elementów: a, applet, frame, iframe, img i map.

W XHTML nie zaleca się używania atrybutu name, zamiast tego należy używać id.

To jest błędne:

<img src="picture.gif" name="picture1" />

To jest poprawne:

<img src="picture.gif" id="picture1" />

Ważna wskazówka dotycząca kompatybilności:

Powinieneś dodać dodatkową spację przed znakiem "/", aby Twoje XHTML było zgodne z dzisiejszymi przeglądarkami.

Atrybut językowy (lang)

Atrybut lang stosowany jest prawie do wszystkich elementów XHTML. Definiuje typ języka używanego do zawartości elementu.

Jeśli używasz atrybutu lang w jakimś elemencie, musisz dodać dodatkowy xml:lang, tak jak tutaj:

<div lang="no" xml:lang="no">Heia Norge!</div>

Wymuszone elementy XHTML

Wszystkie dokumenty XHTML muszą zawierać deklarację typu pliku (DOCTYPE declaration). W dokumentach XHTML muszą istnieć elementy html, head, body, a element title musi znajdować się wewnątrz elementu head.

Poniżej znajduje się minimalny szablon pliku XHTML:

<!DOCTYPE Dokumentacja znajduje się tutaj>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Tituł znajduje się tutaj</title>
</head>
<body>
</body>
</html>

Wskazówka:Deklaracja typu pliku nie jest częścią samego dokumentu XHTML. Nie jest to element XHTML ani nie ma zamkniętego znacznika.

Wskazówka:W XHTML, atrybut xmlns w znaczniku <html> jest obowiązkowy. Jednakże, nawet jeśli atrybut ten nie jest zawarty w dokumencie XHTML, narzędzia walidacyjne w w3.org nie wyświetlają błędów. To dlatego, że "xmlns=http://www.w3.org/1999/xhtml" jest wartością stałą, która jest dodawana do znacznika <html>, nawet jeśli nie jest zawarta w kodzie.

Dowiedz się więcej o deklaracjach typów dokumentów XHTML w następnym rozdziale.