HTML

HTML (ang.HyperText Markup Language, pol. hipertekstowy język znaczników) – język wykorzystywany do tworzenia stron internetowych HTML – kod źródłowy języka, można bezpośrednio pisać korzystając z edytora tekstu nieformatowanego (ASCII) np. Notatnik – zapis w pliku tekstowym ASCII, z rozszerzeniem htm lub html. HTML pozwala opisać strukturę informacji zawartych wewnątrz strony internetowej, nadając znaczenie poszczególnym fragmentom tekstu – formując hiperłącza, akapity, nagłówki, listy – oraz osadza w tekście dokumentu obiekty plikowe np. multimedia bądź elementy baz danych np. interaktywne formularze danych.

www: zdefiniowanie sposobu strukturalnej i wizualnej prezentacji dokumentu w przeglądarce internetowej,
www: osadzanie ciągów instrukcji języków skryptowych, wpływających na zachowanie przeglądarek lub innych parserów HTML
www: przeglądarka dla przesyłu dokumentów HTML korzysta przede wszystkim z protokołu HTTP (hypertext transfer protocol) – ale także bezpieczniejszego (szyfrowanego) protokołu HTTPS.

Znaczniki stanowią podstawowy komponent języka HTML. Charakteryzują je dwie cechy: atrybuty i zawartość. Każdy atrybut i zawartość musi spełniać określone wymagania, aby dokument został poprawnie zwalidowany pod kątem zgodności ze standardem. Znacznik zwykle rozpoczyna się znacznikiem otwierającym (np. <nazwa-znacznika>), a kończy znacznikiem zamykającym (np. </nazwa-znacznika>). Atrybuty elementu są zawarte w znaczniku otwierającym (po nazwie znacznika), natomiast zawartość umieszczana jest pomiędzy znacznikiem otwierającym i zamykającym. (np. <nazwa-znacznika atrybut="wartość">zawartość</nazwa-znacznika>). Niektóre elementy, np. <br>, <hr> nie posiadają zawartości, a także znacznika zamykającego.

W nomenklaturze polskiej, dotyczącej języka HTML, słowa element używa się do określenia grupy:

  • znacznik otwierający,
  • atrybuty,
  • zawartość,
  • znacznik zamykający.

Słowami znacznik określa się znacznik otwierający (wraz z zamykającym) w znaczeniu elementu składni języka HTML, np. „Do wyszczególnienia paragrafów wykorzystuje się znacznik <p>. Niektórzy słowa element używają zamiennie ze słowami znacznik lub tag.

Niektóre elementy nie wymagają znaczników końcowych (np. <p> odpowiadający za nowy akapit) lub ich nie mają (<img> wstawiający obrazek lub <br> łamiący linię).

Poniżej przedstawione są różne typy znaczników języka HTML.

Strukturalne – opisują logiczną strukturę tekstu, np. <h2>Golf</h2> nadaje znaczenie wyrazowi „Golf” i traktuje go jako nagłówek drugiego stopnia. Podczas renderowania (wyświetlania) zostanie on zaprezentowany w sposób wyróżniony (np. większą i pogrubioną czcionką). Znaczniki strukturalne nie definiują sposobu wyświetlania elementu, jednak większość przeglądarek posiada wbudowane style, których używa, gdy do dokumentu nie jest dołączony żaden kaskadowy arkusz stylów CSS.

Prezentacyjne – opisują wygląd poszczególnych elementów, np. <b>lama</b> powoduje, że „lama” zostanie wyświetlona pogrubioną czcionką. Nie daje jednak żadnych wskazówek urządzeniom nie potrafiącym wyświetlić pogrubionego tekstu (takim jak syntezatory mowy, czytający daną stronę na głos). W przypadku <b>pogrubienia</b> oraz <i>pochylenia</i> istnieją równoważne znaczniki, mające podobną lub taką samą formę wizualną, ale posiadające naturę semantyczną. Są to odpowiednio <strong>silne wzmocnienie znaczenia</strong> oraz <em>wzmocnienie znaczenia</em>. W tym przypadku łatwiej określić zachowanie syntezatora mowy podczas interpretacji takich znaczników np. poprzez mocniejsze zaakcentowanie danego wyrażenia. Znaczniki semantyczne nie są jednak stuprocentowymi odpowiednikami znaczników prezentacyjnych. Istnieją sytuacje, gdy tylko wizualnie chcemy wyróżnić daną część tekstu. Nie jest pożądane, aby syntezator mowy wzmacniał znaczenie np. tytułu książki w trakcie czytania strony, podczas gdy wizualnie warto byłoby taki tytuł wyróżnić czcionką pochyłą dla poprawienia czytelności tekstu. Większość znaczników prezentacyjnych w specyfikacji HTML 4.0 oznaczono jako przestarzałe na rzecz kaskadowych arkuszy stylów CSS.

Hipertekstowe – zawierają linki do innych dokumentów lub innych części tego samego dokumentu. HTML aż do wersji XHTML 1.1 wymaga do utworzenia hiperłącza elementu o nazwie anchor (pol. kotwica), zapisywanego w postaci: <a>Wikipedia</a>. Oprócz tego atrybut href musi zwierać poprawny adres URL. Następujący kod HTML <a href="http://www.wwwstudio/">wwwStudio</a> wyświetli ciąg znaków „wwwStudio” jako hiperłącze.

Kategoryzacja podziałów języka HTML

Od samego początku HTML zdobywał uznanie w relatywnie szybkim tempie. Niestety nie istniały wtedy żadne standardy stojące na straży czystości kodu. Pomimo tego, że autorzy HTML-a stworzyli go jako język semantyczny, praktyczne użycie wtłoczyło do niego wiele elementów i atrybutów prezentacyjnych, głównie z powodu producentów przeglądarek. Ostatnie standardy związane z HTML-em odzwierciedlają wysiłki zmierzające do uporządkowania z czasem chaotycznego rozwoju języka oraz utworzenia racjonalnych fundamentów pod budowę sensownych i dobrze prezentujących się dokumentów. Aby skierować rozwój coraz mniej semantycznego języka na właściwe tory, konsorcjum W3C ustanowiło standard kaskadowych arkuszy stylów CSS oraz rozszerzalny język arkuszy stylów XSL, przenosząc na nie ciężar warstwy prezentacji. Dzięki nim język HTML powoli zaczął wyzbywać się znaczników prezentacyjnych.

Aktualnie wyróżniamy dwie kategorie podziałów standardu HTML:

www: HTML bazowany na języku SGML versus HTML bazowany na języku XML (XHTML)
www: wersja Strict versus wersja Transitional versus wersja Frameset

Oparty na SGML i oparty na XML

W celu odróżnienia od tradycyjnej wersji bazowanej na SGML-u, specyfikacja HTML-a oparta na XML-u nosi nazwę XHTML. Pomimo tego element główny wykorzystywany w składni języka nadal nazywa się ‚html’. Organizacja W3C chciała, aby XHTML 1.0 był identyczny z HTML 4.01, poza pewnymi obejściami wynikającymi z ograniczeń wynikających ze specyfikacji samego XML-a w stosunku do bardziej złożonego SGML-a. Czasem w wyniku tak ścisłego pokrewieństwa, autorzy dokumentacji scalają obie nazwy jako (X)HTML lub X(HTML).

Podobnie jak HTML 4.01, XHTML 1.0 posiada trzy wersje: strict, transitional i frameset.

Poza deklaracją otwierającą różnice pomiędzy HTML-em 4.01 i XHTML-em 1.0 są w większości syntaktyczne. Składnia HTML-a pozwala na więcej swobody podczas pisania kodu niż XHTML. Są to elementy z opcjonalnymi znacznikami otwierającymi lub zamykającymi, a nawet elementy puste, które nie mają znacznika zamykającego. W przeciwieństwie do HTML-a XHTML wymaga, aby wszystkie elementy posiadały znaczniki otwierające i zamykające. W konsekwencji XHTML wprowadza znaczniki, które mogą być otwarte i zamknięte tylko w znaczniku otwierającym, wstawiając znak „/” (ukośnik) przed końcem znacznika otwierającego, np. <br/>. Wdrożenie tego skrótu może stwarzać problemy dla starszego oprogramowania, któremu ta konwencja jest obca.

W celu zrozumienia subtelnych różnic pomiędzy HTML-em i XHTML-em przedstawione poniżej kroki prezentują transformację dokumentu XHTML 1.0 do dokumentu HTML 4.01:

www: Język elementu powinien być zapisany przy użyciu atrybutu lang zamiast XHTML-owego xml:lang.
www: Usuń XML-ową przestrzeń nazw(xmlns=URI). HTML nie obsługuje przestrzeni nazw.
www: Zmień deklarację typu dokumentu z XHTML 1.0 na HTML 4.01.
www: Jeśli istnieje, usuń deklarację XML (np. <?xml version="1.0" encoding="utf-8"?>).
www: Upewnij się, że typ MIME dokumentu jest ustawiony na text/html; zarówno dla HTML-a jak i XHTML-a, informacja ta pochodzi z nagłówka HTTP Content-Type, przesyłanego przez serwer
www: Zmień składnię XML elementów pustych na odpowiednią składnię HTML(<br/> na <br>)

Stosując się do wytycznych związanych z kompatybilnością (compatibility guidelines) organizacji W3C, przeglądarka powinna poprawnie zinterpretować typ dokumentu jako HTML lub XHTML. W3C zezwala na serwowanie dokumentów XHTML 1.0 jako HTML (MIME text/html) lub jako XHTML (MIME application/xhtml+xml lub application/xml). Jeśli dokument serwowany jest jako XHTML, przeglądarka używa parsera XML, stosującego się do specyfikacji XML.

Więcej informacji o HTML i najbliżej z nią związanych technologii

Top