Dark Mode

Preskocit na obsah

Extensible Hypertext Markup Language

Z Wikipedie, otevrene encyklopedie
XHTML
Pripona souboru.xhtml, .xht, .xml, .html, .htm
Typ internetoveho mediaapplication/xhtml+xml
TvurceWorld Wide Web Consortium
Typ formatuznackovaci jazyk
Rozsiruje formatXML, HTML
Standard(y)W3C HTML5 (doporuceni)
Otevreny formatano

XHTML (zkratka anglickeho extensible hypertext markup language - ,,rozsiritelny hypertextovy znackovaci jazyk") je znackovaci jazyk pro tvorbu hypertextovych dokumentu v prostredi WWW vyvinuty W3C. Puvodne se predpokladalo, ze se stane nastupcem jazyka HTML, jehoz vyvoj byl verzi 4.01 ukoncen. V roce 2007 vsak doslo k zalozeni pracovni skupiny, ktera mela za cil vytvorit novou verzi HTML, ktera nese oznaceni HTML5 a jeji XML variantu XHTML5.

  • W3C doporuceni z 26. ledna 2000 revidovany 1. srpna 2002.[1][2]
  • Prvni specifikace, jejimz cilem bylo prevedeni starsiho jazyka HTML tak, aby vyhovoval podminkam tvorby XML dokumentu a pritom byla zachovana zpetna kompatibilita.
  • Existuje ve trech verzich: Strict, Transitional a Frameset.
    • XHTML 1.0 Strict se pouziva, pokud chcete strukturovany dokument osvobozeny od formatovacich znacek souvisejicich s rozvrzenim stranky. Predpoklada se jeho uziti spolecne s CSS, ktere vam umozni dosahnout potrebnych grafickych efektu. Nicmene i tato verze obsahuje formatovaci elementy, napriklad nebo a naopak zavrhuje nektere semanticke elementy, napriklad .
    • XHTML 1.0 Transitional je prechodnym DTD pro webove stranky, ktery vam umozni pouzivat prekonane tagy. Je vhodny pro formatovani stranek vytvarenych pro stare prohlizece, ktere nerozumi kaskadovym stylum CSS nebo chcete-li pouzivat ve svych dokumentech nektere zavrzene, ale semanticke elementy, napriklad jiz zminene .
    • XHTML 1.0 Frameset vam umoznuje pouzivat zastarale znacky jako XHTML 1.0 Transitional a pridava podporu pro ramce. V dnesni dobe by se melo ramum vyhybat pouzitim CSS, AJAXu nebo serverovych skriptu jako napriklad PHP.

Prehlednou tabulku lze najit na strankach W3C. V kolonce ,,DTD" lze vycist, ve ktere verzi XHTML se element vyskytuje (nic = Strict, L = Transitional, F = Frameset).

Modularizace XHTML

[editovat | editovat zdroj]
  • Dalsim krokem ve vyvoji XHTML byla modularizace s cilem dosahnuti vyssi flexibility napric uzivatelskymi agenty (WWW prohlizece, mobilni zarizeni, tiskarny, ctecky apod.).
  • Doporuceni vyslo 8. rijna 2008.[3]

XHTML Basic 1.1

[editovat | editovat zdroj]
  • W3C pracovni koncept z 29. cervence 2008.[4]
  • Priklad minimalni sady modulu potrebne k vytvoreni XHTML dokumentu, ktera je cilena na mobilni aplikace.

XHTML Mobile Profile

[editovat | editovat zdroj]
  • XHTML Mobile Profile - nekdy taky XHTML MP je postaveno na zaklade XHTML Basic a je urceno pro pouziti v mobilnich telefonech. Nekdy je take oznacovano jako WAP 2.0. XHTML MP podporuje na rozdil od WAP 1.0 a WAP 1.1 barvu a barevne obrazky ve formatech GIF, JPEG a PNG.

XHTML 1.1 - modulove zalozene XHTML

[editovat | editovat zdroj]
  • W3C doporuceni ze 31. kvetna 2001.[5]
  • Priklad rozsahle sady modulu pro komplexnejsi tvorbu XHTML dokumentu.
  • Vynechava jiz prakticky vsechny prezentacni vlastnosti.
  • Je velice podobne XHTML 1.0 Strict, ale na rozdil od nej muze vzhledem ke sve modularizaci slouzit jako zaklad budoucim rozsirenym dokumentum z rodiny XHTML.
  • Je vyslovne zakazano odesilat takto zformatovany dokument s MIME typem text/html, ale je nutno ho odesilat s MIME typem application/xhtml+xml. Tohoto lze docilit nekolika zpusoby:
    • pojmenovani souboru *.xhtml;
    • odeslanim MIME typu s hlavickou pomoci HTTP;
    • atd.

XHTML-Print

[editovat | editovat zdroj]
  • Vyvojove stadium Working Draft. Posledni pracovni navrh vysel 26. cervence 2006.[7]
  • Neni zamysleno tak, aby bylo zpetne kompatibilni se svymi predchudci.
  • Vyvoj XHTML2 byl ukoncen na konci roku 2009.[8]
  • Soucasti specifikace HTML5, vyvojove stadium Working Draft.
  • Oproti predchozim verzim obsahuje radu rozsireni (znacky pro audio, video, moznost tvorby offline webovych aplikaci a dalsi).
  • Posledni pracovni navrh vysel 25. srpna 2009.[9] Dev verze pak vysla 21. prosince 2009.[10]

Rozdily XHTML oproti HTML

[editovat | editovat zdroj]
  • V XHTML na rozdil od HTML musi byt ukoncene vsechny tagy vcetne neparovych jako jsou , ,
    ,
    nebo . Zapis muze mit vice podob. Bud pouzijeme klasicke (a validni) nebo zkracene nebo mirne upravene . Prvni zpusob se nedoporucuje pouzivat, zasilame-li XHTML dokument s typem text/html. Druhy zpusob - bez mezery - se nedoporucuje pouzivat kvuli postarsim prohlizecum, ktere by v takovem pripade mohly vynechat posledni atribut, je-li nejaky uvedeny.[11]
  • V XHTML na rozdil od HTML musi byt vsechny tagy a jejich atributy zapsany malymi pismeny, a to z toho duvodu, ze jsou takto deklarovane v odkazovane DTD a X(HT)ML je case sensitive, tedy zalezi na velikosti pisem. Pokud bychom si deklarovali vlastni DTD, muzeme smele pouzivat i velka pismena.[12]
  • Vsechny hodnoty atributu musi byt uzavreny do uvozovek.[13]
  • Dokument musi zacinat XML deklaraci. Jeji pouziti neni povinne, pokud je dokument kodovan v UTF-8 nebo pokud urcujeme kodovani vyssi protokolem (HTTP napriklad).[14]
  • Pokud potrebujeme pracovat s ramy, muzeme deklarovat XHTML 1.0 Frameset a pro jednotlive stranky XHTML 1.0 Transitional.
  • XHTML dokument bychom meli zasilat s jinym MIME typem nez klasicke HTML dokumenty.[15]
  • Dalsi rozdily jiz nejsou natolik dulezite a caste.[16][17]

XHTML MIME typ

[editovat | editovat zdroj]

Klasicke HTML stranky se zasilaly s MIME typem text/html, ktery prohlizecum rekl, aby tento typ dokumentu zpracovaly jako HTML stranku. Je to podobne jako pripony (.jpg, .exe ...) ve Windows. XHTML ma vsak odlisna pravidla na zpracovani dokumentu, proto bychom meli zasilat XHTML dokumenty s MIME typem application/xhtml+xml[18][19], ktere prohlizecum povi, ze maji tu cest s XHTML dokumentem. V praxi se zmena MIME typu muze provadet v zasade tremi zpusoby:

  • Zmenou pripony souboru na .xhtml. Vetsina serveru je nakonfigurovana tak, aby soubory s touto koncovkou poslaly prohlizecum s typem application/xhtml+xml.
  • Zaslanim pozadovane HTTP hlavicky, napriklad pomoci PHP ci jineho serveroveho jazyka.
  • Pomoci souboru .htaccess muzeme zmenit vychozi MIME typ pro jakoukoliv koncovku. Muzeme napriklad nastavit, aby server posilal soubory s koncovkou .jemihorko s MIME typem application/xhtml+xml.

Ovsem pri zasilani XHTML dokumentu s timto typem je treba pocitat s jistymi problemy:

  • Pri jakekoliv syntakticke chybe vuci spravne sestavenosti musi prohlizec zobrazit chybove hlaseni a nepokracovat dale ve vykreslovani stranky. Takze staci jedina chyba programatora, ne uplne dotazena stranka (napr. kdyz je pretizeny server) nebo kdyz uzivatel pouziva nevhodny akcelerator stahovani a uzivatel ze stranky nic neuvidi. Prohlizec vsak pritom nekontroluje validitu - validita neni nezbytna podminka pro zobrazeni.
  • Stranka se v nekterych prohlizecich zobrazi az po uplnem nactenim stranky, coz je zpusobeno predchozim bodem - prohlizec musi nejprve zkontrolovat, zda je dokument spravne sestaveny a az pote jej muze zacist vykreslovat. Nicmene se od tohoto v novejsich verzi prohlizecu ustupuje a zpracovani stranky je prubezne.
  • MIME typu application/xhtml+xml nerozumi jiste (velke) procento interpretu.[20] Mezi nejzasadnejsi patri Internet Explorer, az do sve verze 8. Dale pak ruzne hlasove ctecky a textove prohlizece a v neposledni rade take roboti vyhledavacu (napriklad Seznam). Zasilani stranek s timto MIME typem tedy rozhodne nevytvarime pristupne stranky. V praxi se to resi bud zasilanim text/html pro vsechny prohlizece (prohlizece vsak pote zpracuji dokument podle pravidel HTML, ne jako XHTML) nebo se pomoci skriptu zjisti, zda prohlizec zna application/xhtml+xml - pokud ano, posle se mu stranka s timto typem. Pokud ne, zasle se s typem text/html.
  1. | XHTML 1.0: The Extensible Hypertext Markup Language (Second Edition) [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  2. | XHTML(tm) 1.0: Rozsiritelny hypertextovy znackovaci jazyk [online]. zralog.cz [cit. 2018-05-06]. Dostupne v archivu porizenem dne 2018-05-07.
  3. | XHTML(tm) Modularization 1.1 - Second Edition [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  4. | XHTML(tm) Basic 1.1 - Second Edition [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  5. | XHTML(tm) 1.1 - Module-based XHTML - Second Edition [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  6. | XHTML-Print - Second Edition [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  7. | XHTML(tm) 2.0 [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  8. | XHTML 2 Working Group Expected to Stop Work End of 2009, W3C to Increase Resources on HTML 5. www.w3.org [online]. W3C, 2009-07-02 [cit. 2018-05-06]. Dostupne online. (anglicky)
  9. | HTML 5.2 [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  10. | HTML 5.3 [online]. GitHub [cit. 2018-05-06]. Dostupne online. (anglicky)
  11. | For non-empty elements, end tags are required [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  12. | Element and attribute names must be in lower case [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  13. | Attribute values must always be quoted [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  14. | Strictly Conforming Documents [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  15. | Recommended Media Type Usage [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  16. | Differences with HTML 4 [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  17. | HAVRLANT, Lukas. Jak na dokonale XHTML. atd.havrlant.net [online]. 2006-03-27 [cit. 2018-05-06]. Dostupne v archivu porizenem z originalu dne 2015-02-07.
  18. | Internet Media Type [online]. W3C [cit. 2018-05-06]. Dostupne online. (anglicky)
  19. | POLAKOVIC, Jaroslav. XHTML MIME. dero.name [online]. 2006-01-26 [cit. 2018-05-06]. Dostupne online.
  20. | ZAK, Martin. XHTML 2.0 a MIME typy pro XHTML. Programujte.com [online]. 2006-05-24 [cit. 2018-05-06]. Dostupne online.

Souvisejici clanky

[editovat | editovat zdroj]

Externi odkazy

[editovat | editovat zdroj]
Pahyl
Tento clanek je prilis strucny nebo postrada dulezite informace.
Pomozte Wikipedii tim, ze jej vhodne rozsirite. Nevkladejte vsak bez opravneni cizi texty.