XHTML
| XHTML | |
|---|---|
| Rozbudowa | .xhtml, .xht, .xml, .html, .htm
|
| Opracowany przez | W3C |
| pierwsza publikacja | 26 stycznia 2000 |
| Ostatnia wersja | 2.0 (2 lipca 2009) |
| Otwarty format ? | tak |
| Stronie internetowej | www.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&). - 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:
- słaba kompatybilność;
- 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
- ^ 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 .
- ^ Grupa Robocza XHTML 2 Przewiduje się zaprzestanie prac do końca 2009 r., W3C zwiększy zasoby dotyczące HTML 5
- ^ Słownictwo i powiązane interfejsy API dla HTML i XHTML
- ^ Polyglot Markup: solidny profil słownictwa HTML5
Powiązane pozycje
Linki zewnętrzne
- Specyfikacja XHTML 1.0 Zarchiwizowane 15 czerwca 2003 w Internet Archive . (tłumaczenie nienormatywne)
- Pełna lista tagów XHTML z opisem funkcjonalności, obsługą przeglądarek i praktycznymi przykładami aplikacji ,na lau.csi.it.
- ( EN ) Strona domowa HTML W3C , na w3.org .
- ( EN ) Specyfikacja XHTML 1.0 (oryginalny tekst normatywny)
- ( EN ) Specyfikacja XHTML 1.1 , na w3.org .
- ( EN ) Roboczy szkic specyfikacji XHTML 2.0 , na w3.org .
- ( EN ) Samouczek XHTML w Wikibooks