M. Sokół - ABC języka HTML - Rozdział IX - HTML a XHTML(1), ebooki, KURS HTML
[ Pobierz całość w formacie PDF ]
Rozdział 9.
HTML a XHTML
Co to jest XHTML?
¦
XHTML to E
X
tensible
H
yper
T
ext
M
arkup
L
anguage
¦
XHTML jest niemal identyczny z HTML 4.01
¦
XHTML ma czystszą formę niŜ HTML
¦
XHTML jest aplikacją XML
XHTML 1.0 jest od 26 stycznia 2000 oficjalnym standardem sieciowym. Rekomendacja W3C
oznacza, Ŝe specyfikacja jest stabilna i przetestowana.
Po co XHTML?
W sieci umieszczanych jest coraz więcej stron WWW, rośnie teŜ liczba „złych” stron – stron,
napisanych niepoprawnie. Taki kod HTML:
<html>
<head>
<title>Błędny kod HTML!</title>
<body>
<h1>TU JEST EWIDENTNY BŁĄD!
</body>
będzie wyświetlany poprawnie w większości przeglądarek, mimo, Ŝe zawiera błąd składni –
brakuje w nim znacznika zamykającego
</h1>
.
XML nie dopuszcza takich wpadek. Dlatego połączenie języków XML i HTML daje nadzieję na
stworzenie dobrego i stabilnego narzędzia. Dokumenty XHTML są interpretowane przez
wszystkie urządzenia radzące sobie z językiem XML. XHTML pozwala tworzyć dokumenty o
poprawnej strukturze, które działają we wszystkich przeglądarkach i są kompatybilne wstecznie.
Czy XHTML wymaga specjalnych przygotowań?
XHTML to kolejna generacja języka HTML, ale niewątpliwie trochę czasu upłynie zanim ludzie i
urządzenia do niej się dostosują. Trochę, lecz niezbyt wiele. NaleŜy pamiętać, Ŝe między HTML
4.01 a XHTML nie ma wiele róŜnic, nie będzie więc to trudny proces.
Podstawowe wymagania to kod pisany małymi literami i zamykanie znaczników – chyba moŜesz
je spełnić.
Jakie są najwaŜniejsze róŜnice między XHTML a HTML?
¦
Elementy XHTML muszą być poprawnie zagnieŜdŜane
¦
Dokumenty XHTML muszą mieć poprawną formę
¦
Nazwy znaczników muszą być pisane małymi literami
¦
Wszystkie elementy XHTML muszą być zamknięte
Co to oznacza konieczność poprawnego zagnieŜdŜania elementów?
W języku HTML wymaganie prawidłowego zagnieŜdŜania nie musi być restrykcyjnie spełniane.
Na przykład wyraŜenie sformułowane w HTML tak:
<b><i>Tekst pogrubiony i pisany kursywą...</b></i>
będzie w XHTML absolutnie niepoprawne. W XHTML zagnieŜdŜenie musi być prawidłowe:
<b><i>Tekst pogrubiony i pisany kursywą... </i></b>
Na przykład częstym błędem w zagnieŜdŜonych listach jest zapominanie, Ŝe lista zagnieŜdŜona
musi być umieszczona w obrębie elementu
li
. Oto zły zapis:
<ul>
<li>Punkt 1</li>
<li>Punkt 2
<ul>
<li>ZagnieŜdŜony 1</li>
<li>ZagnieŜdŜony 2</li>
</ul>
<li>Punkt 3</li>
</ul>
A tutaj poprawny odpowiednik błędnego kodu:
<ul>
<li>Punkt 1</li>
<li>Punkt 2
<ul>
<li>ZagnieŜdŜony 1</li>
<li>ZagnieŜdŜony 2</li>
</ul>
</li>
<li>Punkt 3</li>
W poprawnym przykładzie znacznik
</li>
został wstawiony za znacznikiem
</ul>
listy
zagnieŜdŜanej.
Co oznacza, Ŝe dokument musi mieć poprawną formę?
Oto wymagania, które określają poprawność formy. Wszystkie elementy XHTML muszą być
zagnieŜdŜone w podstawowym elemencie
html
. Elementy podrzędne danych elementów
stosowane są w parach i są prawidłowo zagnieŜdŜone w elemencie nadrzędnym. Podstawowa
struktura dokumentu prezentuje się tak:
<html>
<head> ... </head>
<body> ... </body>
</html>
Dlaczego naleŜy stosować małe litery?
Konieczność stosowania małych liter wynika z tego, Ŝe dokumenty XHTML są aplikacjami XML,
a XML to język czuły na wielkość znaku. Tak więc znaczniki
<br>
i
<BR>
zostaną
zinterpretowane jako róŜne.
Zgodnie z tym, zapisz kodu w takiej formie:
<BODY>
<P>Tekst</P>
</BODY>
jest niepoprawny. Poprawna postać powinna wyglądać tak:
<body>
<p>Tekst</p>
Dlaczego naleŜy pamiętać o znacznikach zamykających?
Wszystkie elementy, które nie są puste, muszą mieć znaczniki zamykające.
Zgodnie z tym, zapisz kodu w takiej formie:
<p>Tekst
<p>Kolejny akapit
jest niepoprawny. Poprawna postać powinna wyglądać tak:
<p>Tekst</p>
<p>Kolejny akapit.</p>
A co z elementami pustymi?
Elementy puste muszą takŜe zostać zaopatrzone w znacznik zamykający lub znacznik otwierający
musi kończyć się znakami
/>
.
Oto nieprawidłowa postać wyraŜenia:
Tu dodamy łamanie wiersza<br>
A tu pojawi się linia pozioma<hr>
Poprawny zapis wygląda tak:
Tu dodamy łamanie wiersza<br />
A tu pojawi się linia pozioma<hr />
lub
Kolejna linia <hr></hr>
Dodatkowa spacja w zapisie znacznika zamykającego,
<br />
, jest konieczna, aby zachować
zgodność z obecnymi przeglądarkami.
Co oznacza stwierdzenie, Ŝe XHTM ma czystszą formę?
XHTML nie dopuszcza dowolności. Nazwy znaczników i atrybutów muszą być pisane małymi
literami, wartości atrybutów muszą być podawane w cudzysłowach, skracanie definicji atrybutu
jest niedopuszczalne, atrybut
id
zastępuje nazwę atrybutu, a DTD definiuje w dokumentach
XHTML elementy obowiązkowe.
Skoro tak, to zapis:
<table WIDTH=100%>
będzie nieprawidłowy z dwóch powodów: nazwa atrybutu pisana jest wielkimi literami, a wartość
nie została ujęta w cudzysłowach. Oto zapis poprawny:
<table width=”100%”>
Rezygnacja z moŜliwości skróconego zapisu atrybutów oznacza, Ŝe nie wolno zapisać tak:
<input checked>
<input readonly>
<input disabled>
<option selected>
NaleŜy zastosować pełną postać zapisu:
<input checked=”checked”>
<input readonly=”readonly”>
<input disabled=”disabled”>
<option selected=”selected”>
Co oznacza, Ŝe atrybut id zastępuje nazwę?
W HTML 4.01 stosowany jest atrybut
name
, który definiuje nazwy następujących elementów:
a
,
frame
,
iframe
,
img
i
map
. W XHTML jego rolę przejmuje atrybut
id
.
Taki zapis będzie w XHTML niepoprawny:
<img src="obraz.gif" name="obraz" />
A tu postać prawidłowa:
<img src="obraz.gif" id="obraz" />
W celu zachowania zgodności z obecnymi wersjami przeglądarek, na razie naleŜy stosować oba
atrybuty,
name
i
id
, z tymi samymi wartościami. Na przykład:
<img src="obraz.gif" id="obraz" name="obraz" />
NaleŜy takŜe pamiętać o dodatkowej spacji przed
/>
(patrz uwaga o znacznikach zamykających w
XHTML).
Co to jest atrybut lang?
Atrybut
lang
jest stosowany niemal z kaŜdym elementem XHTML. Określa on język, w jakim
zdefiniowana została zawartość:
<div lang="no" xml:lang="no">Kici kici!</div>
Jakie są obowiązkowe elementy XHTML?
Wszystkie dokumenty XHTML muszą zawierać deklarację
DOCTYPE
. Obowiązkowe są takŜe
elementy
html
,
head
i
body
, a element
title
musi być zawarty w obrębie elementu
head
. Oto
podstawowy szablon dokumentu XHTML:
<!DOCTYPE Doctype goes here>
<html>
<head>
<title>Tytuł dokumentu</title>
</head>
<body>
Zawartość dokumentu
</body>
</html>
Deklaracja
DOCTYPE
nie jest częścią samego dokumentu XHTML, nie jest teŜ elementem XHTML
i nie moŜe mieć znacznika zamykającego. Deklaracja
DOCTYPE
jest zawsze umieszczana w
pierwszym wierszu kodu
dokumentu XHTML.
[ Pobierz całość w formacie PDF ]