close

XHTML

Skocz do nawigacji Skocz do wyszukiwania
XHTML
Rozbudowa.xhtml, .xht, .xml, .html, .htm
Opracowany przezW3C
pierwsza publikacja26 stycznia 2000
Ostatnia wersja2.0 (2 lipca 2009)
Otwarty format ?tak
Stronie internetowejwww.w3.org/MarkUp/

XHTML ( skrót od eXtensible HyperText Markup Language ) to język znaczników, który łączy niektóre właściwości XML z cechami HTML : plik XHTML to strona HTML napisana zgodnie ze standardowym XML.

XHTML powstał oficjalnie 26 stycznia 2000 roku jako standard World Wide Web Consortium (W3C) i może być technicznie zdefiniowany jako przeformułowanie HTML 4.01 na XML 1.0; jest to rodzaj „pomostu” między tymi dwoma językami.

Ogólna charakterystyka

XHTML jest bezpośrednim następcą HTML 4.01. Potrzeba języka o lepiej zdefiniowanej składni niż tradycyjny HTML zaczęła być odczuwalna, gdy na rynku pojawiło się przesyłanie stron internetowych na nowe urządzenia, inne niż tradycyjne komputery , takie jak małe urządzenia przenośne . zasoby oprogramowania do interpretacji języka HTML. Należy pamiętać, że im bardziej ogólna składnia języka znaczników , tym trudniej jest sprawić, by urządzenia potrafiły poprawnie go zinterpretować. Określona definicja typu dokumentu (DTD) definiuje zestaw reguł, według których dany dokument może być renderowany (tj . poprawnie reprezentowany ) przez XHTML.

Logiczna struktura strony

Język przewiduje bardziej restrykcyjne użycie znaczników HTML (zarówno pod względem poprawności, jak i składni) do opisu tylko logicznej struktury strony, podczas gdy układ i renderowanie grafiki są narzucane przez kaskadowe arkusze stylów ( Kaskadowe arkusze stylów , CSS).

Wyświetlacz graficzny

Wszystkie obecnie popularne przeglądarki potrafią poprawnie renderować dokumenty XHTML, ale nawet starsze przeglądarki zazwyczaj potrafią interpretować dokumenty XHTML, ponieważ język ten jest w dużej mierze podzbiorem HTML, a jego reguły składniowe są również kompatybilne wstecz. To samo odnosi się również w drugą stronę: prawie wszystkie przeglądarki kompatybilne z XHTML również poprawnie renderują dokumenty HTML.

Przejściowy XHTML ( przejściowy XHTML , patrz poniżej) różni się od HTML głównie dlatego, że jest bardziej zgodny ze specyfikacjami XML i od ścisłego XHTML , co zapewnia większą tolerancję przestarzałych definicji.

Najważniejszą różnicą jest to, że wszystkie tagi muszą być dobrze ustrukturyzowane, tj. przestrzegać zbioru reguł zapewniających wzajemną spójność i muszą być zakończone , w tym puste (na przykład imgi br). Aby zakończyć zakończenie pośrednio, możesz dodać zamykający "/" do tagu otwierającego (np.: <img … />e <br />). Inne rodzaje skrótów są niedozwolone (np.:) <option selected>.

Składnia określa również, że tagi muszą być zawsze pisane małymi literami, co jest konwencją w przeciwieństwie do zwyczaju panującego od wersji 2.0 HTML, kiedy większość programistów preferowała pisanie wielkimi literami.

W XHTML wszystkie atrybuty (w tym numeryczne) muszą być zapisane w cudzysłowie, co jest opcjonalne w SGML i HTML, gdzie cudzysłowy mogą być pominięte, jeśli zawartość jest ciągiem alfanumerycznym lub zawiera jakieś inne specjalne zastrzeżone znaki. Więcej informacji można znaleźć w specyfikacji W3C XHTML . Strony Wikipedii zostały napisane przy użyciu XHTML w wersji 1.0 Transitional.

Walidacja dokumentów XHTML

Dokument XHTML, który spełnia wymagania, nazywany jest dokumentem poprawnym lub dobrze sformatowanym . Teoretycznie wszystkie przeglądarki powinny być zgodne z W3C, a tym samym być w stanie renderować dokumenty na dowolnej platformie . Jednak walidacja (tj. kontrola składniowa ) dokumentów XHTML nie zapewnia 100% kompatybilności ze wszystkimi przeglądarkami, głównie ze względu na ich ograniczenia, ale nadal jest zdecydowanie zalecana. Narzędzie do sprawdzania ważności dokumentów jest dostępne w W3C Markup Validation Service (patrz [1] ).

Jak wspomniano powyżej, aby dokument był walidowany, musi zawierać element o nazwie DTD ( Definicja Typu Dokumentu lub Deklaracja Typu Dokumentu), który należy umieścić najlepiej na początku dokumentu. Najczęstsze typy DTD i ich deklaratywne składnie to:

XHTML 1.0 Ścisły
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Przejściowy
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Zestaw ramek XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Rodzaj zastosowanego kodowania ( kodowanie znaków ) musi być zawsze określony na początku dokumentu. Dzięki temu walidator , taki jak wspomniany powyżej, udostępniony przez W3C, może sprawdzić, czy dokument spełnia normę. Proces walidacji identyfikuje i dostarcza opis znalezionych błędów ( dziennik błędów ).

Niektóre z najczęstszych błędów popełnianych przez programistów podczas pisania kodu XHTML to:

  • Elementy bez terminatora (jak wspomniano powyżej, XHTML jest pod tym względem znacznie bardziej restrykcyjny niż HTML).
  • Pominięcie tekstu, który ma być wyświetlany jako alternatywa dla obrazu (do użycia poprzez atrybut alt, aby umożliwić kompatybilność z urządzeniami, których wyświetlacz nie obsługuje obrazów).
  • Wstaw teksty bezpośrednio do treści dokumentu.
  • Zagnieżdż [1] bloki kodu wewnątrz elementów wbudowanych.
  • Zapomnij o cudzysłowach do rozgraniczenia atrybutów.
  • Zagnieżdżanie elementów w nieprawidłowy sposób.
  • Nieprawidłowe używanie różnych jednostek (np. &zamiast &amp;).
  • W nazwach znaczników i/lub atrybutów używaj wielkich liter.

Nie jest to oczywiście wyczerpująca lista błędów, a jedynie wskazanie tych, które programiści popełniają najczęściej. Gdy strona jest weryfikowana za pomocą usługi walidacji W3C , walidator zwraca małą ikonę , którą można wstawić do dokumentu, aby udowodnić jej zgodność ze standardem. W3C zapewnia również tę samą usługę dla arkuszy stylów CSS i dokumentów HTML.

Wersje

Jak wspomniano powyżej, XHTML to przeformułowanie HTML jako języka XML. Tak więc, zgodnie z oczekiwaniami, istnieją trzy różne DTD, odpowiadające tylu DTD HTML 4.01

XHTML 1.0

  • XHTML 1.0 Transitional : stworzony w celu ułatwienia migracji ze starej wersji HTML 3.2 lub do użytku w połączeniu z linkami i ramkami w linii . Akceptuje również znaczniki HTML, które zostały zdefiniowane jako przestarzałe w XHTML jako prawidłowe i jest tolerancyjny na niektóre niezgodności składniowe.
  • XHTML 1.0 Strict : w porównaniu do wersji przejściowej nie akceptuje przestarzałych znaczników HTML, nie toleruje niezgodności składniowych i zapewnia bardziej rygorystyczne kontrole nawet w odniesieniu do wartości niektórych atrybutów znacznika (na przykład atrybut id musi mają unikalne wartości w tym samym dokumencie).
  • Zestaw ramek XHTML 1.0 : stworzony ze względu na kompatybilność, aby podzielić okno wyświetlane przez przeglądarkę na różne ramki ( podokna ), praktyka niegdyś powszechna, ale obecnie przestarzała przez konsorcjum World Wide Web.

XHTML 1.1

Najnowsza wersja XHTML to XHTML 1.1 , który jest przeredagowaniem XHTML Strict , więc ma tylko jedno DTD. Nie akceptuje najbardziej krytykowanych tagów i atrybutów poprzedniej wersji (takich jak struktura zestawu ramek ). Z drugiej strony ta wersja obsługuje znaczniki tzw. „rubinowego” znacznika, co pozwala wyświetlać zestawy znaków języków orientalnych.

XHTML 2.0

XHTML 2 to język projektowania dla sieci; 2 lipca 2009 r. konsorcjum World Wide Web Consortium zadecydowało o zaprzestaniu rozwoju [2] , gdy był on jeszcze w fazie specyfikacji, na korzyść HTML5 . Miał reprezentować ewolucję XHTML 1.0.

Charakteryzuje się głównie budową modułową, w której zasady ustalania poszczególnych elementów strony internetowej (podział tekstu, formularze elektroniczne, dane tabelaryczne itp.) są opisane w osobnych modułach, które mogą ewoluować niezależnie od siebie. W porównaniu z pierwszą wersją XHTML, cechy XML reguł składniowych
zostały wzmocnione , ponadto możliwości sterowania formularzami elektronicznymi (
formularzami ) są pogłębione i rozszerzone, wprowadzając bardziej złożone struktury i elementy przetwarzania. Definicja przebiegała równolegle do HTML5 , który został uznany przez World Wide Web Consortium za uzupełniający standard znaczników w porównaniu do XHTML 2, ale faza specyfikacji zatrzymała się w obliczu dwóch problemów:

  1. słaba kompatybilność;
  2. byłby to w efekcie prawie całkowicie nowy znacznik, a nie ewolucja XHTML 1.1.

Dlatego woleliśmy porzucić XHTML 2 na rzecz HTML5 , który zawiera niektóre definicje i podejścia wymyślone dla XHTML 2, ale przystosowane w celu zapewnienia kompatybilności z obecnymi przeglądarkami.

XHTML 5

Standard HTML 5 zawiera dyrektywy do pisania HTML, który jest przetwarzany jako XML, powszechnie określany jako XHTML 5.

Zmiany w standardzie HTML 5 są również domyślnie zastosowane do XHTML 5, ale nie są to dwa różne języki, ale dwie różne składnie tego samego języka. [3] W3C udostępniło podręcznik do tworzenia dokumentów, które dają taki sam wynik, niezależnie od tego, czy są przetwarzane jako HTML czy XML. [4]

Wersje mobilne

Istnieją inne wersje XHTML, przeznaczone dla urządzeń przenośnych:

  • XHTML Basic : Specjalna uproszczona wersja XHTML przeznaczona dla urządzeń, których zasoby nie obsługują pełnego zestawu poleceń i znaczników XHTML, takich jak telefony komórkowe . Należy go traktować jako odpowiednik istniejących języków WML i C-HTML .
  • XHTML Mobile Profile : oparty na podstawowej wersji XHTML, opracowanej przez firmę Nokia w celu dodania określonych funkcji terminali telefonicznych do XHTML Basic.

Notatki

  1. ^ Przez zagnieżdżanie rozumiemy wstawianie bloku kodu (lub atrybutów) wewnątrz innego bloku wyższego poziomu i tak dalej, zgodnie z hierarchiczną kolejnością chińskiego typu box . Każdy poziom widzi i traktuje bloki na poniższych poziomach jako niepodzielne byty .
  2. ^ Grupa Robocza XHTML 2 Przewiduje się zaprzestanie prac do końca 2009 r., W3C zwiększy zasoby dotyczące HTML 5
  3. ^ Słownictwo i powiązane interfejsy API dla HTML i XHTML
  4. ^ Polyglot Markup: solidny profil słownictwa HTML5

Powiązane pozycje

Linki zewnętrzne