Składnia XHTML

Składnia XHTML jest zgodna ze składnią XML

XHTML składa się przede wszystkim z tekstu, w który wplecione są znaczniki (inaczej tagi, ang. tags) oznaczające różne elementy języka. Elementy to np. akapity, nagłówki, odnośniki.

Układ tekstu w pliku XHTML (łamanie wierszy, odstępy) nie ma wpływu na to, jak tekst będzie prezentował się w przeglądarce. Wyglądem tekstu steruje się za pomocą odpowiednich elementów XHTML i współpracującego z nim języka CSS.

Co ważne, język XHTML jest szczególnym podzbiorem języka XML. Istnieje szczegółowa lista jego dozwolonych znaczników, atrybutów i zasad ich użycia. Ta lista zawarta jest w DTD i w XML Schema. Warunkiem koniecznym poprawnego i jednoznacznego wyświetlenia strony XHTML w dowolnej przeglądarce jest umieszczenie definicji DTD lub XML Schema w drugiej (w pierwszej jest deklaracja XML) linii dokumentu. Poniższe przykłady z kotami są czysto obrazowe, i powiedzmy, że w zasadzie dotyczą bardziej XML niż XHTML.

Znaczniki i elementy Bug w IE

Każdy element zaczyna się i kończy znacznikiem. Między znacznikiem otwierającym, a zamykającym znajduje się zawartość elementu. Element może zawierać tekst oraz inne elementy (dla przykładu akapit może zawierać tekst i odnośniki).

Każdy znacznik otoczony jest nawiasami ostrymi (<>). Wielkość liter ma znaczenie (<znacznik> to nie to samo, co <ZnAcZnIk>), więc w nazwach znaczników i atrybutów należy używać tylko małych liter.

Znacznik otwierający (rozpoczynający) element zaczyna się od nazwy elementu.

 <kot>
 Znacznik otwierający (kot jest odtąd)

Znacznik zamykający (kończący) element przed nazwą ma znak /.

 </kot>
 Znacznik zamykający (dotąd)

 <kot>mysz</kot>
 Element kot zawierający tekst „mysz”.

Jeśli element jest pusty (nie zawiera tekstu ani innych elementów), zapisuje się go tak:

 <kot/>

lub

 <kot />

lub

 <kot></kot>

Elementy mogą być zagnieżdżone

 <kot><łepek><nosek/></łepek></kot>

ale nie mogą nachodzić na siebie, co oznacza, że element, który był otwarty jako ostatni musi być zamknięty jako pierwszy. Nie można przeplatać ze sobą znaczników.

<kot><pazury><lewa-łapa></pazury></lewa-łapa><prawa-łapa><pazury></prawa-łapa></pazury></kot>
Przeplatanie znaczników jest niedozwolone.
<kot><lewa-łapa><pazury/></lewa-łapa><prawa-łapa><pazury/></prawa-łapa></kot>
Poprawna konstrukcja — najpóźniej otwarty element jest zamykany najwcześniej.

Atrybuty

Atrybutów używa się do określenia cech elementu. Definiuje się je tylko w znaczniku otwierającym (w tym w znaczniku określającym pusty element) i dotyczą one całego elementu. Każdy atrybut ma swoją nazwęwartość.

 <kot imie="mrucyfon"/>
 Znacznik kot posiadający atrybut imie o wartości mrucyfon

Jeden element może mieć dowolnie dużo atrybutów, ale każdy musi mieć swoją unikalną nazwę. Nie można w jednym znaczniku dwa razy definiować atrybutu o tej samej nazwie:

<kot imie="mruczek" imie="kicius"/>
Błędny zapis. 
<kot imiona="mruczek kicius"/>
<kot imie="mruczek" drugie-imie="kicius"/>
Poprawne zapisy.

Nie może być atrybutu bez wartości. Wartość zawsze musi być ujęta w cudzysłów. Kolejność atrybutów jest bez znaczenia.

Białe znaki

Składnia jest bardzo elastyczna, jeśli chodzi o białe znaki. Można wstawiać spacje, znaki tabulacji, a nawet przejścia do nowej linii w następujących miejscach:

 <znacznik 
 atrybut 
 = 
 "przykładowa
 wartość"
 >
 <inny-znacznik
 />
 </znacznik
 >

Powyższa konstrukcja jest równoważna z:

 <znacznik atrybut="przykładowa wartość"> <inny-znacznik/> </znacznik>

Przykłady:

Element x zawierający dwa puste elementy y oraz tekst:

 <x><y/>tekst<y/></x>

Element x zawierający jeden element y zawierający tekst:

 <x><y>tekst</y></x>

Praktyczny przykład XHTML:

 <h1>Witaj świecie!</h1>
 <p>To jest mój <em>pierwszy</em> fragment XHTML.</p>

CDATA

Aby umieścić w tekście znaki <, >, "& należy je zapisać tak:

 <![CDATA[
 Tutaj tekst
 ]]>

Komentarze

Komentarz zaczyna się od <!-- , a kończy na -->. Komentarze mogą być tylko między znacznikami i nie mogą zawierać pary minusów.

Ćwiczenia

Ćwiczenia ze składni XML


Zmodyfikowano: 30.05.2014, 12:11
submit