XDHTML

Page 1

% . # 9 + , / 0 % $ ) % 7 % " $ % 3 ) ' . % 2 !

SP[ÝÓŬFOÏ EZOBNJDLÏ )5.-

9%)5.ÞQMOÈ

QƻFTOÈ SFGFSFOƦOÓ QƻÓSVƦLB )5.%)5.9.XXX [POFSQSFTT D[

ª 'PUP +JżÓ )FMMFS

1BWPM .JLMF


Pavol Mikle

HTML, XHTML, DHTML

úplná pĜesná referenþní pĜíruþka (X)HTML jazyk (X)HTML dokument XML a (X)HTML pravidla Multimédia v (X)HTML dokumentu RozšiĜující referenþní tabulky JavaScript a VBscript Znakové sady Tipy a triky


RozšíĢené dynamické HTML – referenĀní pĢíruĀka þást HTML jazyk autor a grafické zpracování: RNDr. Pavol Mikle Copyright © ZONER software s.r.o. Vydání první v roce 2004. Všechna práva vyhrazena. OdpovČdný redaktor: Ing. Pavel Kristián Copyright © Foto na obálce: JiĜí Heller, HELLER.CZ s.r.o., www.heller.cz Copyright © Cover: Ing. Pavel Kristián Zoner Press ZONER software s.r.o. Koželužská 7, 602 00 Brno http://www.zonerpress.cz Informace, které jsou v této knize zveĜejnČny mohou byt chránČny jako patent. Jména produktĤ byla uvedena bez záruky jejich volného použití. PĜi tvorbČ textĤ a vyobrazení bylo sice postupováno s maximální péþí, ale pĜesto nelze zcela vylouþit možnost výskytu chyb. Vydavatelé a autoĜi nepĜebírají právní odpovČdnost ani žádnou jinou záruku za použití chybných údajĤ a z toho vyplývajících dĤsledkĤ. Všechna práva vyhrazena. Žádná þást této publikace nesmí být reprodukována ani distribuována žádným zpĤsobem ani prostĜedkem, ani reprodukována v databázi þi na jiném záznamovém prostĜedku þi v jiném systému bez výslovného svolení vydavatele s výjimkou zveĜejnČní krátkých þástí textu pro potĜeby recenzí. Veškeré dotazy týkající se distribuce smČĜujte na: Zoner Press ZONER software s.r.o. Koželužská 7, 602 00 Brno tel.: 532 190 883, fax: 543 257 245 e-mail: knihy@zonerpress.cz

ISBN 80-86815-01-3


OBSAH

ÚVOD ........................................................................................................................ 9 VÝVOJ HTML ......................................................................................................... 13 ZROD A VÝVOJ INTERNETU................................................................................ 14 INTERNET .............................................................................................................. 14 WWW ......................................................................................................................14 (X)HTML JAZYK..................................................................................................... 16 SPOLEýNÉ ATRIBUTY – OBECNÉ IDENTIFIKACE............................................. 18 Spoleþné atributy pro identifikaci prvkĤ ............................................................. 19 Spoleþné atributy pro prezentaci prvkĤ.............................................................. 19 Spoleþné atributy pro internacionalizaci ............................................................ 20 bílé znaky ........................................................................................................... 21 NejfrekventovanČjší znaþky s bČžnými atributy ................................................. 22 REJSTěÍK ZNAýEK ............................................................................................... 23 Rozsah platnosti (X)HTML znaþek v jednotlivých DTD ..................................... 24 Modularizace (X)HTML znaþek.......................................................................... 25 Základní moduly (Core Modules) .................................................................................25 Moduly textových nástaveb (Text Extension Modules).................................................25 FormuláĜové moduly (Forms Modules).........................................................................25 Tabulkové moduly (Table Modules) .............................................................................26 Specifické moduly ........................................................................................................26

(X)HTML znaþky bez obav................................................................................. 27 Postaþující je zvládnout 8 znaþek ................................................................................27 VþetnČ tabulek je tĜeba zvládnout 11 znaþek ...............................................................27 Zbytek znaþek do celkového poþtu ..............................................................................27


Snadné Ĝešení problému formátování písma .............................................................. 27

Základní kostra HTML dokumentu .....................................................................28 Základní kostra XHTML dokumentu ..................................................................29 Znaþky záhlaví dokumentu ................................................................................30 Znaþky pro vkládání skriptĤ ...............................................................................40 Znaþka pro vymezení tČla dokumentu a komentáĜe v tČle dokumentu .............41 Znaþka pro hypertextový odkaz .........................................................................42 Znaþky pro základní formátování textu ..............................................................45 Znaþky pro pokroþilé formátování textu .............................................................47 Znaþky pro specifické formátování textu............................................................48 Znaþky pro blokovČ strukturované texty ............................................................51 Znaþky pro výþty a seznamy..............................................................................52 Znaþky pro zápis tabulky....................................................................................56 Znaþky pro grafiku, multimédia a obrázky .........................................................65 Znaþky pro vnoĜené programy a objekty............................................................68 Znaþky pro zápis formuláĜe a ovládacích prvkĤ ................................................73 Znaþky pro vytvoĜení rámcĤ...............................................................................85 NEPERSPEKTIVNÍ ZNAýKY..................................................................................90 Zastaralé prvky...................................................................................................90 Prvky, které pozbyly význam..............................................................................90 Nedoporuþené proprietární prvky ......................................................................90 Nepodporované prvky ........................................................................................90 Proprietární znaþky ............................................................................................91 (X)HTML DOKUMENT............................................................................................97 LOGICKÉ HTML STRUKTURY...............................................................................97 základní HTML struktury ....................................................................................98 specifické HTML struktury..................................................................................99 SPECIFIKACE HTML STRUKTUR .......................................................................101 PROSTÝ TEXT ................................................................................................101 NADPISY..........................................................................................................101 ODSTAVEC......................................................................................................102


OBRÁZEK ........................................................................................................104 TABULKA .........................................................................................................105 ODRÁŽKY A ýÍSLOVÁNÍ ................................................................................109 SEZNAM POJMģ.............................................................................................109 PěEDFORMÁTOVANÝ TEXT .........................................................................110 CITACE, CITÁT................................................................................................110 ADRESA...........................................................................................................111 PRIMITIVNÍ FORMULÁě.................................................................................111 FORMULÁě .....................................................................................................112 RÁMCE ............................................................................................................112 VSAZENÝ RÁMEC ..........................................................................................114 VNOěENÝ PROGRAM....................................................................................114 VNOěENÝ OBJEKT ........................................................................................115 TAPETY, VODOZNAKY...................................................................................115 VODOROVNÁ ýÁRA.......................................................................................116 ANIMOVANÁ PROJEKCE, BLIKAJÍCÍ TEXT ..................................................116 HYPERLINK .....................................................................................................117 HTML SOUBOR ....................................................................................................118 STAVBA HTML DOKUMENTU .............................................................................119 XML – ROZŠIěITELNÝ ZNAýKOVACÍ JAZYK ..................................................122 VŠEOBECNÁ XML PRAVIDLA.............................................................................122 XML pravidla ..............................................................................................................122 Struktura XML dokumentu..........................................................................................123 SprávnČ formované (well-formed) a platné (valid) dokumenty ...................................124

VŠEOBECNÁ HTML PRAVIDLA ..........................................................................129 HTML gramatika.........................................................................................................129 HTML pravidla znaþek................................................................................................129

VŠEOBECNÁ XHTML PRAVIDLA........................................................................130 XHTML gramatika ......................................................................................................130 XHTML pravidla znaþek .............................................................................................130 XHTML dokumenty.....................................................................................................131 PĜechod z HTML na XHTML ......................................................................................132


DTD – DEFINICE TYPU DOKUMENTU ...............................................................134 PROLOG DOKUMENTU, DEKLARACE DTD A DEFINICE SYNTAXE DTD.......134 Prolog dokumentu...................................................................................................... 136 DTD – Deklarace definice typu dokumentu................................................................ 137 Odkaz na DTD (<!DOCTYPE ) .................................................................................. 138

DTD JAZYK ...........................................................................................................139 SKRIPTOVÁNÍ ......................................................................................................144 JAVASCRIPT: SYNTAXE, METODY, A FUNKCE................................................147 VBSCRIPT: SYNTAXE, METODY A FUNKCE.....................................................157 WWW ....................................................................................................................166 WWW DOKUMENT...............................................................................................166 USER AGENT .......................................................................................................166 Pravidla pro chování interpretĤ ........................................................................166 Formální pravidla pro rozbor textu dokumentu .......................................................... 167 Pravidla pro nakládání s neznámými konstrukcemi ................................................... 167

SOUBOROVÉ OBJEKTY (APPLET, ACTIVEX, ... ) .................................................169 Souborový objekt..............................................................................................169 Applet ...............................................................................................................169 ActiveX .............................................................................................................169 MULTIMÉDIA V HTML DOKUMENTU..................................................................171 OBRÁZKY ........................................................................................................171 ZVUKY / MELODIE ..........................................................................................171 VIDEOKLIPY ....................................................................................................172 ANIMOVANÉ PROJEKCE ...............................................................................172 DOPORUýENÍ, TIPY A TRIKY.............................................................................173 Doporuþení þ. 1 Jak se bezbolestnČ zbavit prvku FONT (<font > . . . </font>).... 173 Doporuþení þ. 2 Zlobivý formuláĜ (<form > . . . </form>) ..................................... 173 Doporuþení þ. 3 Ikona pokušitelka (favicon.ico) .................................................. 174 Trik þ. 1 Vkládání vlastních znaþek (<MUJPRVEK> . . . </MUJPRVEK>) ............ 175


Trik þ. 2 Odfiltrování znaþky (<!PRVEK>)..............................................................175 Trik þ. 3 Odfiltrování atributĤ (<PRVEK _atribut="hodnota" >) .............................175 Trik þ. 4 'drzé' komentáĜe uvnitĜ znaþek (<PRVEK . . . "komentáĜ" >) ................175 Trik þ. 5 Cizí atributy uvnitĜ znaþek (<PRVEK . . . catribut . . . >) ........................176 Tip þ. 1 Základní šablony složitých HTML struktur .................................................176 Tip þ. 2 Tabulka v tabulce.......................................................................................177 Tip þ. 3 Speciální strukturování www stránky .........................................................177 Tip þ. 4 Optimalizace HTML souboru .....................................................................178 Tip na závČr: Lze HTML soubor zašifrovat? ...........................................................178

CO V HTML NELZE A JAK TO ěEŠIT ................................................................179 a) vícesloupcová sazba..............................................................................................179 b) víceúrovĖové strukturované þíslování ....................................................................179 c) oboustranné obtékání obrázkĤ a objektĤ ...............................................................180 d) pĜesné rozložení objektĤ na stránce v základním HTML........................................181 e) odsazení prvního Ĝádku odstavce ..........................................................................181

HTTP, TCP/IP, URI ...............................................................................................183 HTTP PROTOKOL ................................................................................................183 Obecné hlaviþky.........................................................................................................184 Hlaviþky požadavku....................................................................................................184 Hlaviþky odpovČdi ......................................................................................................185 Hlaviþky tČla ...............................................................................................................185

STAVOVÁ HLÁŠENÍ HTTP PROTOKOLU...........................................................186 1xx – informaþní .........................................................................................................187 2xx – úspČch ..............................................................................................................187 3xx – pĜesmČrování požadavku..................................................................................187 4xx – klientova chyba (chybný požadavek) ................................................................188 5xx – chyba serveru ...................................................................................................189

SCHEMA TCP/IP ..................................................................................................190 URI, URL, URN – ADRESACE ODKAZOVANÉHO DOKUMENTU V SÍTI WWW191 Úplný struþný pĜehled zápisu syntaxe URI .................................................................192 Porty...........................................................................................................................193

TLD – DOMÉNY NEJVYŠŠÍ ÚROVNċ.................................................................195 Národní vrcholové domény ........................................................................................195


Všeobecné (generické) vrcholové domény ................................................................ 196 Oblastní vrcholové domény USA ............................................................................... 196

KÓDY PRO REPREZENTACI NÁZVģ JAZYKģ A JEJICH KÓDY ZNAKOVÝCH SAD .......................................................................................................................198 ZNAKOVÉ SADY..................................................................................................199 ZNAKOVÁ SADA, KÓDOVÁNÍ ZNAKģ ................................................................199 Znakové sady (Character Sets) pro Evropu, USA a Rusko ....................................... 199 Kódování znakĤ (Character Encoding) pro všechny jazyky ....................................... 200

ZNAKOVÉ ENTITY................................................................................................201 STANDARDY ........................................................................................................204 MIME TYPY...........................................................................................................204 RFC – POŽADAVKY NA KOMENTÁěE ...............................................................206 INTERNETOVÉ STANDARDY..............................................................................206 REJSTěÍKY ..........................................................................................................207 SEZNAM VYOBRAZENÍ A TABULEK ..................................................................207 REJSTěÍK DOKUMENTOVÝCH PRVKģ .............................................................208


(X)HTML jazyk

9

ÚVOD

Referenþní pĜíruþka jazyka HTML pro tvorbu WWW stránek podle pravidel XML 1.0 a specifikací HTML 4.01, XHTML 1.0, DHTML Tato publikace je kompletní referenþní pĜíruþkou aktuálního stavu jazyka HTML známého jako HTML 4, který se po letech vývoje dostal do definitivního tvaru. Jedná se o standard HTML 4.0 v revizi 4.01 s navazující specifikací XHTML a specifikacemi skrývajícími se pod DHTML (CSS, DOM, events). HTML (HyperText Markup Language) slouží k tvorbČ WWW dokumentĤ. HTML je vynikající nástroj pro popis stránek. Je to typ jednoduchého znaþkového jazyka použitelného na rĤzných platformách. HTML je strukturovaný jazyk, a proto se mimoĜádnČ hodí i pro automatizovanou tvorbu WWW dokumentĤ. Tato referenþní pĜíruþka obsahuje aktuální pĜehled jazyka HTML. Klade si za cíl umožit rychlou orientaci ve zdrojových textech WWW dokumentĤ – þíst je, modifikovat a vytváĜet dokumenty vlastní podle nejnovČjších trendĤ a vývoje prvkĤ jazyka. HTML se stává základním standardem pro vytváĜení dokumentĤ, jejichž vnitĜní struktura je otevĜená a pĜístupná. DĜíve nebo pozdČji se s touto strukturou uživatelé chtČ nechtČ setkají. PĜíruþka umožní rozpoznat a pochopit jednotlivé struktury a na základČ uvedené syntaxe HTML dokumenty modifikovat pĜímo ve zdrojové struktuĜe bez nutnosti znát syntaxi jazyka nazpamČĢ. HTML je vyvíjející se jazyk. O standardizaci HTML jazyka se stará tzv. W3C konzorcium (World Wide Web Consortium), které jako jediný vrcholový orgán specifikuje a oficiálnČ vydává nové definice (verze) jazyka HTML. Poslední oficiální specifikací jazyka je HTML 4.0 (z prosince 1997) v revizi HTML 4.01 (s posledním doporuþením z prosince 1999) a její pĜísnČ strukturovaná forma pod specifikací XHTML 1.0 (s posledním doporuþením z ledna 2000).


15

(eXtensible) HyperText Markup Language

HTML 4.01 (1999) XHTML 1.0 (2000)

Standardy: W3C HTML W3C XHTML

http://www.w3c.org/TR/html401 http://www.w3.org/TR/xhtml1/

XHTML 1.0 je reformulace HTML 4 jako XML aplikace. Oba standardy se liší pouze v pravidlech zápisu, nikoliv v obsahu. Zatímco pravidla zápisu HTML jsou benevolentní (viz Všeobecná HTML pravidla str. 121) pravidla zápisu XHTML jsou rigorózní (viz Všeobecná XHTML pravidla str.130). HTML 4 je poslední verzí HTML. XHTML 1.0 = HTML 4 + XML 1.0


16

(X)HTML JAZYK Vlastní zápis (X)HTML není nic jiného než písmenná hĜíþka navozující možnost volby mezi variantami "špatný/starý" HTML nebo "dobrý/nový" XHTML. Pro jazyk XHTML jsou k dispozici dvČ finální specifikace – XHTML 1.0 a XHTML 1.1 a návrh specifikace XHTML 2.0 XHTML

znamená eXtensible HyperText Markup Language – rozšiĜitelný hypertextový znaþkovací jazyk je HTML definovaný jako XML aplikace (je reformulací HTML na bázi XML) je kombinace HTML a XML ( eXtensible Markup Language ) má za cíl nahradit HTML

XHTML 1.0

je jazykovČ totožný s HTML 4.01 je pĜísnČjší a þistČjší verzí HTML 4.01 sestává ze všech prvkĤ v HTML 4.01 spojených s pravidly XML

XHTML 1.1

je pĜísnČjší verzí XHTML 1.0 je postaven na standardu XHTML 1.0 Strict, z nČhož odstraĖuje všechny konstrukce, které byly oznaþeny jako deprecated (pĜekonané) neobsahuje již žádné prvky ani atributy, které opustil již XHTML 1.0 Strict (takže napĜíklad zcela chybí definice rámĤ a všechny atributy zamČĜené na definici vzhledu prvku (align, width, ...) a atribut style) vypouští atribut name a nahrazuje jej definitivnČ atributem id

XHTML 2.0

stav prvního veĜejného návrhu zpČtná kompatibilita

není zpČtnČ kompatibilní s pĜedešlými verzemi

vše je odkazem

atribut href je zaĜazen do kolekce bČžných atributĤ (každý prvek mĤže být zároveĖ odkazem)

obrázek jako objekt

zneplatnČní prvku <img (obrázky se vkládají jako další multimediální objekty pomocí znaþky <object )

prezentaþní prvky

zneplatnČny prezentaþní prvky b, big, i, small, tt

prvek line

prvek <br je oznaþen jako deprecated (pĜekonaný/zavržený) a nahrazuje se konstrukcí <line></line> pĜedstavující "pododstavec"

þlenČní nadpisĤ do úrovní

nové znaþky pro nadpisy <h></h> a <section></section>

XHTML menu

nové znaþky pro menu <nl></nl> a <name></name>


(X)HTML jazyk

17

Následující specifikace a syntaxe znaþek je zcela pĜesná, to znamená, že je oproštČna od všech spekulací zda daná konstrukce je þi zĤstane v platnosti. To je možné pĜedevším díky tomu, že definice jazyka HTML 4.01 a XHTML 1.0 jsou po letech vývoje ustálené do koneþné podoby. Všechny znaþky jsou zcela jasnČ vymezeny i co do rozsahu platnosti podle typu definice þi indikovány v pĜípadech, kdy je norma nedoporuþuje. Pro autory je tato situace skvČlá v tom, že se mohou opĜít o definitivu a vČnovat se vlastnímu obsahu dokumentu než testování prĤchodnosti té þi oné konstrukce jazyka. Je tĜeba ale vzít na vČdomí, že stabilizace normy je jedna vČc a její dĤsledná implementace v UA programech (prohlížeþích) druhá. Hlavní protagonisté nemají problém s vlastními prvky. S urþitými odchylkami vĤþi normČ je nutno poþítat zejména v pĜesnosti implementace atributĤ. Je dĤležité si u jednotlivých atributĤ povšimnout, zda je norma nezaĜadila mezi nedoporuþené a zda funkþnost nenahrazuje atributem jiným. Zejména tyto pĜípady nemusí být v ideálním stavu. Neustále se také lze potkávat s rĤznými výstĜelky UA programĤ, z nichž zajímavé (a u autorĤ oblíbené) jsou uvedeny jako proprietární. Nedoporuþené atributy HTML 4 podporuje, XHTML nikoliv (v XHTML tyto atributy vystupují jako nerozpoznané).

Poznámky: 1. HTML jazyk ve verzi 4.01 je "ukonþená vČtev" – kód je definitivnČ uzavĜen a již provždy zĤstane jak je, pod struþným oznaþením HTML 4; 2. lze s absolutní jistotou spoléhat, že "starý" HTML kód z WWW nikdy nevymizí a že jej tedy budou všechny prohlížeþe trvale nadále podporovat; 3. XHTML 1.0 není velmi odlišný od HTML 4.01, takže velmi dobrý zaþátek pro XHTML je úprava kódu dokumentĤ na verzi HTML 4.01; 4. na XHTML se lze pĜipravit a pĜejít nejsnadnČji tak, že se jednoduše zaþne psát pĜísný HTML ; 5. na WWW neexistuje žádná povinnost zaþít tvoĜit XHTML dokumenty – bez omezení lze vytváĜet nadále HTML dokumenty, a to vþetnČ používání starších verzí jazyka HTML, takže kdo se nehodlá vĤbec zabývat zpĤsobem psaní znaþek, aĢ je píše tak, jak se mu to líbí a vyhovuje i nadále; 6. prohlížeþe WWW dokumentĤ NIKDY neohlásí chybu, ale pĜi výskytu prvního prohĜešku proti deklarované skuteþnosti se jednoduše pĜepnou na "nižší" jazykovou verzi HTML (na WWW je pĜíliš mnoho dokumentĤ na to, aby si prohlížeþ troufl napĜ. kvĤli jedné chybČjící koncové znaþce v jinak absolutnČ bezchybném XHTML dokumentu jej nedokonþit, nezobrazit nebo snad zobrazit návštČvníkovi nČjaké nesrozumitelné chybové hlášení – prohlížeþ se prostČ musí vĤþi uživateli tváĜit jako fault tolerantní všeumČl); 7. jediná možnost jak se pĜesvČdþit o tom, že WWW dokument je napsán jako správný XHTML dokument, je pĜedložit jej k ovČĜení nČjakému validátoru 8. autoĜi, kteĜí se vzdávají možnosti zaþít psát þistČ strukturované dokumenty pomocí XHTML, se perspektivnČ vzdávají možnosti širšího zpracování svých WWW dokumentĤ v budoucnosti (napĜ. prostĜednictvím vyhledávaþĤ þi jiných zaĜízení než je PC) 9. XHTML 1.1 je definitivní odklon od všech pozĤstalostí minulosti – to znamená zpČtnou nekompatibilitu pro starší verze prohlížeþĤ; jeho nasazení je vzhledem k tomu v souþasnosti ménČ aktuální; 10. XHTML 2.0 je zásadním odklonem od pĤvodního "starého" HTML a teprve finální návrh ukáže, o jak zásadní odklon se bude jednat.


18

SPOLEýNÉ ATRIBUTY – OBECNÉ IDENTIFIKACE Skupina HTML atributĤ id, class, style, title, lang, dir, intrinsic events se týká prakticky všech HTML znaþek (výjimky jsou v nČkterých znaþkách, v nichž by atribut nemČl smysl jako napĜ. atributy lang a dir ve znaþce zalomení Ĝádku <br/>). Atributy id (název / identifikátor prvku),class (stylová tĜída) jsou atributy identifikace prvku. Atributy style (stylový pĜedpis – vnitĜní styl), title (poradní / návČstní informace) jsou atributy prezentace prvku. Atributy lang (jazyk), dir (orientace textu) jsou atributy internacionalizace prvku. Atributy intrinsic events (vestavČné události) jsou atributy onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (reference prvku ze skriptu). každý HTML prvek mĤže obsahovat atributy id, class, style, title, lang, dir, intrinsic events:

UPOZORNċNÍ: z dĤvodu pĜehlednosti zápisu syntaxe HTML jazyka jsou spoleþné atributy v referenþní tabulce uvedeny zastupující zkratkou %attrs a vestavČné události jsou uvedeny výþtem umístČným za prvkem takto:

<prvek id="identifikátor" class="stylové_tŏídy" style="stylový_pŏedpis" title="poradní_informace" lang="kód_jazyka" dir="orientace_textu"

<prvek %attrs ...ostatní_atributy... > události: event, event, ...

událost="skript" ...ostatní_atributy... >

kde identifikátor stylové_tŏídy stylový_pŏedpis kód_jazyka orientace_textu poradní_informace událost

kde urþuje jméno (pojmenování) prvku jako jednoznaþný identifikátor urþení jedné nebo množiny stylových tĜíd pro obsah prvku stylový pĜedpis pro obsah prvku urþuje národní jazyk pro obsah prvku urþuje orientaci textu uvnitĜ prvku (zleva-doprava/zprava-doleva) urþuje návČstní/poradní informaci o prvku (ĜetČzec) jedna nebo Ĝada ze standardních vestavČných událostí: onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup

%attrs

==

%attrs oznaþuje spoleþné atributy kromČ vestavČných událostí, které jsou vždy u každé znaþky uvedeny jako úplný seznam

id|class|style|title|lang|xml:lang|dir

entita %attrs zastupuje spoleþné atributy jak je uvedeno, pĜiþemž zápis id|class|style|title|lang|xml:lang|dir neznamená jednu z variant, ale jeden,

všechny nebo kombinaci atributĤ


30

ZNAýKY ZÁHLAVÍ DOKUMENTU Tajuplné záhlaví dokumentu jehož obsah pĜi prezentaci dokumentu prakticky nikde není viditelný, má daleko vČtší význam, než by se dalo pĜedpokládat. Vzhledem k tomu považuji za úþelné pĜedem avizovat, že záhlaví dokumentu zásadním zpĤsobem ovlivĖuje zpĤsob zacházení s dokumentem na stranČ prohlížeþe a zpĤsob "hodnocení" dokumentu vyhledávacími roboty. ohraniþení dokumentu <html>FTS

<html %attrs version="URI" > ... </html> události: žádné

párová znaþka, která slouží k ohraniþení každého jednotlivého dokumentu; znaþka je v HTML normČ nepovinná a nČkterými staršími prohlížeþi je ignorována %attrs *version=

záhlaví dokumentu <head>FTS

lang|xml:lang|dir (viz str. 18) lze použít lang, dir (nelze použít class, id, style, title) specifikuje URI, který specifikuje lokaci DTD pro verzi HTML použitého v dokumentu; protože se stejná informace musí objevit v identifikátoru !DOCTYPE, stal se tento atribut nepotĜebným a je zaĜazen mezi *nedoporuþené

<head %attrs profile="URI" > ...prvky_záhlaví... </head> události: žádné

párová znaþka, která vymezuje záhlaví dokumentu; obsahuje uspoĜádanou kolekci informací o dokumentu, která slouží výluþnČ pro prohlížecí program; v záhlaví by nemČl být obsažen žádný zobrazovaný text, úvodní a koncová znaþka v HTML normČ nemusí být uvedeny; do záhlaví dokumentu náleží prvky: <title>, <base>, <isindex>, <meta>, <link>, <style>, <script> %attrs profile=

titulek dokumentu <title>FTS

lang|xml:lang|dir (viz str. 18) lze použít lang, dir (nelze použít class, id, style, title) specifikuje URI lokaci jednoho nebo více profilĤ metadat oddČlených bílým znakem; specifikace nedefinuje formáty profilĤ; prohlížeþ mĤže vyvinout nČjakou aktivitu na základČ známých konvencí pro konkrétní profil; napĜ. vyhledávací stroje mohou poskytnout rozhraní pro vyhledávání v katalogu dokumentĤ, kde všechny tyto dokumenty používají tentýž profil pro reprezentaci katalogových položek

<title %attrs > ...text_titulku... </title> události: žádné

párová znaþka, která definuje titulek dokumentu; každý (X)HTML dokument musí obsahovat právČ jeden prvek <title>; titulek má za úkol dokument identifikovat; UA musí titulek zpĜístupnit; mechanizmus zpĜístupnČní titulku je vČcí UA (audio agent pĜehláskuje, prohlížeþ zobrazí na horní lištČ okna, použije se v seznamu záložek a zpracovává jej vČtšina vyhledávacích robotĤ); poþet znakĤ titulku by nemČl pĜekroþit 64; v titulku se smí vyskytnout znakové entity, v obsahu titulku se ale nesmí vyskytnout žádná znaþka %attrs

lang|xml:lang|dir (viz str. 18) lze použít lang, dir (nelze použít class, id, style, title)


(X)HTML jazyk metainformace <meta>FTS

31

<meta %attrs http-equiv="název_HTTP_hlaviþky" content="hodnota" scheme="šablona_hodnoty" /> <meta %attrs name="identifikátor" content="hodnota" scheme="šablona_hodnoty" /> události: žádné

metaprvek – nepárová znaþka, která umožĖuje uvést dodateþné specifické informace o dokumentu (metainformace); záhlaví dokumentu mĤže obsahovat libovolný poþet metaprvkĤ (znaþek <meta> ); každý jednotlivý metaprvek specifikuje jeden pár ’identifikátor/hodnota’; pomocí tČchto dvou atributĤ lze napĜ. modifikovat nebo zavést další prvky HTTP hlaviþky dokumentu (a tím informovat prohlížecí program napĜ. o stavu dokumentu), nebo zadat jiné význaþné hodnoty týkající se obsahu a vlastností dokumentu (napĜ. pro vyhledávací služby na internetu); metaprvky mají dvČ hlavní funkce: 1. poskytnout serveru prostĜedek k pĜedání informací prostĜednictvím http hlaviþky dokumentu (server mĤže použít jméno indikované atributem http-equiv jako http hlaviþkový údaj s hodnotou specifikovanou atributem content) NapĜ. na základČ specifikace následujících dodateþných informací v dokumentu <meta http-equiv="content-type" content="text/html; charset=ISO-8859-5" /> <meta http-equiv="expires" content="Sat 31 Jan 2004 21:43:04 GMT" />

mĤže server v pĜípadČ vyžádání tohoto dokumentu vþlenit následující http hlaviþku odpovČdi content-type: text/html; charset=ISO-8859-5 expires: Sat 31 Jan 2004 21:43:04 GMT

2. dokumentovat obsah a vlastnosti dokumentu rĤznými indikacemi (indikované atributem name jako vlastnosti s hodnotou vlastnosti specifikovanou atributem content) NapĜ. typicky pro definování informací urþených k indexování dokumentu (jako autora, copyright, klíþová slova, popis, datum) <meta <meta <meta <meta <meta

name="author" content="Jméno Pŏíjmení" /> name="copyright" content="© 2004 ABC" /> name="keywords" content="klíþová slova,..." /> name="description" content="popis ... " /> name="date" content="popis ... " />

Neexistuje žádný standardní seznam META dat (nejsou souþástí žádné specifikace, veskrze se používá nČkolik vžitých hodnot, které jsou rozpoznávány vČtšinou (X)HTML interpretĤ), takže autoĜi mohou definovat libovolná metadata jaká jim vyhovují; následnČ uvedené hodnoty atributĤ jsou pouze aktuálnČ vžité hodnoty atributĤ: %attrs http-equiv=

lang|xml:lang|dir (viz str. 18) lze použít lang, dir (nelze použít class, id, style, title) je-li místo atributu name použit atribut http-equiv pak jde o název HTTP hlaviþky: content-language kód národního jazyka dokumentu content-type znakové kódování dokumentu refresh automatické znovunaþtení dokumentu expires doba (datum a þas) ukonþení platnosti stránky cache-control ovládání cache prohlížeþe pragma pĜedávání specifických hlaviþek pro rĤzná zaĜízení PICS-Label hodnocení PICS (Platform for Internet Content Selection) content-script-type implicitní skriptový jazyk content-style-type implicitní stylový jazyk default-style implicitní styl


32 name=

content=

scheme=

specifikuje identifikátor vlastnosti (jméno vlastnosti); následující identifikátory nejsou definované, nýbrž vžité: description popis dokumentu keywords klíþová slova dokumentu author autor dokumentu copyright copyright dokumentu (autorská práva) generator program, jehož prostĜednictvím byl dokument vytvoĜen nebo generován robots ovládání þinnosti webových robotĤ googlebot ovládání þinnosti robota Google specifikuje hodnotu (hodnotu vlastnosti); v pĜípadČ atributu http-equiv ovlivĖuje obsah hlaviþky HTTP protokolu, které se to týká (servery používají atribut http-equiv ke zhromážćování informací pro hlaviþku HTTP odpovČdi); hodnota atributu mĤže obsahovat text a entity (napĜ. © ) specifikuje formát hodnoty vlastnosti, který má být použit k interpretaci hodnoty vlastnosti; pro prohlížeþ je to užiteþná, ale nekritická informace, jejíž deklarace mĤže být pro prohlížeþ nápomocná pro korektní interpretaci metadat (napĜ. schema "Day-Month-Year" mĤže napomoci pro interpretaci hodnoty "10-9-04" kde vĤbec není zĜejmé, co je den, co je mČsíc a co je rok)

Vžité specifikace metadat metadata konvence http-equiv

jazyk dokumentu content-language" content="kód_jazyka" /> <meta http-equiv="c kód_jazyka

kód národního jazyka ( cs þeský sk slovenský jazyk ); uvedení kódu jazyka je podstatné pro správné zaĜazení dokumentu do databáze vyhledávaþĤ; nČkteré vyhledávaþe pĜikládají stránce s uvedeným kódem jazyka vyšší prioritu

typ a znaková sada dokumentu content-type" content="t text/html; charset=kód_znakové_sady" /> <meta http-equiv="c kód_znakové_sady

UTF-8 ISO-8859-2, windows-1250 ISO-8859-1, windows-1252

použitelné prakticky pro jakýkoli jazyk pro západoevropské jazyky (vþetnČ þeštiny a slovenštiny) pro západoevropské jazyky (vþetnČ angliþtiny)

automatické znovunaþtení / pĜesmČrování stránky refresh" content="sekundy; URI" /> <meta http-equiv="r sekundy poþet sekund, po jejichž uplynutí bude stránka pĜesmČrována/znovunaþtena URI URI adresa na/z níž bude stránka pĜesmČrována/znovunaþtena používá se pro techniku tzv. "uvítací" stránky nebo napĜ. pro pĜesmČrování na jinou adresu v pĜípadČ pĜestČhování webového sídla – prohlížeþ po daném þase automaticky pĜesmČruje uživatele na novou adresu; UPOZORNċNÍ: nČkteré vyhledávaþe stránky, které refrešují po nČkolika málo vteĜinách, penalizují; v pĜípadČ pĜestČhování webového sídla je lepším Ĝešením použití standardního postupu pomocí HTTP stavového kódu 30x, který jsou schopna rozluštit všechna možná zaĜízení pracující s protokolem http stanovení doby ukonþení platnosti stránky expires" content="vypršení_platnosti" /> <meta http-equiv="e


(X)HTML jazyk

33 vypršení_platnosti

hodnota ve formátu Day, dd Month yyyy hh:mm:ss GMT kde Day a Month jsou první 3 písmena anglického názvu dne a mČsíce, dd je datum dne, yyyy je rok, hh:mm:ss je þas, pĜiþemž se jedná o Greenwichský þas (GMT – Greenwich Mean Time); udává, do kdy je daná stránka platná (tedy do kdy ji mĤže mít prohlížeþ uloženou v cache) – po tomto datu musí prohlížeþ znovu naþíst stránku ze serveru (zažádat o její novou verzi)

ovládání cache prohlížeþe cache-control" content="pravidlo[, must-revalidate]" /> <meta http-equiv="c pravidlo

no-cache public max-age=vteŏiny

must-revalidate

stránka se do cache nesmí ukládat stránka se do cache smí ukládat (u bČžných stránek automatické) specifikuje dobu od požadavku, po jakou je stránka aktuální – po uplynutí této doby musí prohlížeþ stránku znovu naþíst (zažádat o její novou verzi); použití hodnoty 0 v domnČní, že zajistí neukládání stránky do cache, je nestandardní a proto je nutné se jí vyvarovat je-li uveden, Ĝíká prohlížeþi, že pravidla ohlednČ cache je povinen akceptovat (jinak má jistou volnost)

pĜedávání specifických hlaviþek pragma" content="n no-cache" /> <meta http-equiv="p no-cache

stránka se do cache nesmí ukládat (bez záruky správné funkcionality – metaprvek je primárnČ urþen k pĜedávání specifických hlaviþek pro rĤzná zaĜízení)

PICS hodnocení obsahu stránky PICS-Label" content='PICS_hodnocení' /> <meta http-equiv="P PICS_hodnocení

ĜetČzec vygenerovaný zhodnocovací službou; ĜetČzec mĤže obsahovat znak uvozovka a proto je tĜeba jej uzavírat do apostrofĤ; hodnocení PICS je dĤležité u stránek, kde lze pĜedpokládat nezletilé návštČvníky, neboĢ ti mohou mít pĜístup na nehodnocené weby zakázaný nebo omezený; pro získání PICS hodnocení je nezbytné nechat stránky zhodnotit stanovenou službou PICS (Platform for Internet Content Selection) – systém hodnocení obsahu www stránek, pĤvodnČ urþený k tomu, aby se nezletilí nedostali k "závadnému obsahu" internetu; v souþasnosti obecný systém pro charakteristiku jakýchkoli dat; specifikace PICS a další informace o systému se nachází na http://www.w3.org/PICS

implicitní skriptový jazyk content-script-type" content="MIME_typ" /> <meta http-equiv="c MIME_typ

MIME typ skriptového jazyka, ve kterém jsou udávány hodnoty atributĤ ovladaþĤ událostí text/javascript pro JavaScript text/vbscript pro Visual Basic Script

implicitní stylový jazyk content-style-type" content="MIME_typ" /> <meta http-equiv="c


XML

131

XHTML DOKUMENTY

Základní struktura XHTML dokumentu:

Každý XHTML dokument musí obsahovat tyto þtyĜi základní sekce, a to v uvedeném poĜadí: • XML deklarace – sekce <?xml > urþuje verzi XML pravidel, zpĤsob kódování obsahu dokumentu a informaci pro þtení DTD; procesní instrukce ?xml je povinná, jen pokud dokument používá jiné kódování než UTF-8 nebo UTF-16; je doporuþeno uvádČt ji pokaždé; je-li uvedena, musí se nacházet na prvním Ĝádku dokumentu; pĜestože uvedení procesní instrukce ?xml není požadováno, její prezence explicitnČ identifikuje dokument jako XML dokument a indikuje verzi XML pod níž byl vytvoĜen • deklarace typu dokumentu – sekce <!DOCTYPE html > urþuje, podle jakého DTD je dokument napsán – pro XHTML 1.0 si lze vybrat jeden ze tĜí typĤ deklarací Strict, Transitional, Frameset – je povinná, jen pokud má být provedena validita dokumentu, je doporuþeno uvádČt ji pokaždé; musí se nacházet bezprostĜednČ za XML deklarací nebo na prvním Ĝádku dokumentu, jestliže XML deklarace není uvedena DTD pro XHTML 1.0 pĜedepisuje root prvek <html> a tím Ĝíká, že celý obsah dokumentu se musí nacházet uvnitĜ kontejneru <html> </html>; root prvek <html> mĤže obsahovat nepovinné atributy internacionalizace (lang, xml:lang a dir), nepovinný atribut atribut id (obsahuje jedineþné jméno prvku v rámci celého dokumentu) a povinný atribut xmlns, který deklaruje jmenný prostor XHTML a musí mít hodnotu http://www.w3.org/1999/xhtml, tj. tvar root prvku XHTML dokumentu je <html xmlns="http://www.w3.org/1999/xhtml" id=".." xml:lang=".." lang=".." > • hlaviþka dokumentu – sekce nacházející se v kontejneru<head> </head> obsahuje doplĖující informace o dokumentu (tzv. metadata, napĜíklad titulek dokumentu, struþné shrnutí jeho obsahu, klíþová slova dokumentu, jeho vztah k jiným dokumentĤm a podobnČ), které prohlížeþ nezobrazuje jako souþást prezentovaného obsahu, mĤže však (ale nemusí) je prezentovat jinými zpĤsoby (napĜíklad uvedením titulku dokumentu v titulku okna) • tČlo dokumentu – sekce nacházející se v kontejneru<head> </head> nachází se v ní celý "viditelný" obsah dokumentu, tj. obsah, který je urþen k pĜímé interpretaci.

Minimální XHTML dokument (který by vyhovČl specifikaci XHTML 1.0 Strict) se všemi dĤležitými náležitostmi: <?xml version="1.0" encoding="windows-1250"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250" /> <meta http-equiv="content-language" content="cs" /> <title>... titulek ... </title> </head> <body> ... "viditelný" obsah dokumentu ... </body> </html>

Poznámky: 1. XHTML dokumenty musí být správnČ strukturované (well-formed) 2. všechny XHTML prvky musí být vloženy uvnitĜ koĜenového prvku <html> všechny ostatní prvky mohou mít vnoĜené prvky (potomky) 3. vnoĜené prvky musí být v párech a správnČ vložené uvnitĜ jejich rodiþovského prvku toto je XHTML špatné: <font face="arial"><b><i> ... </font></b></i>

toto je XHTML správné: <font face="arial"><b><i> ... </i></b></font> 4. názvy znaþek musí být zapsány malými písmeny toto je XHTML špatné: <BODY> <P>Toto je odstavec</P> </BODY>

toto je XHTML správné: <body> <p>Toto je odstavec</p> </body>


132 XML 5. všechny XHTML prvky musí být uzavĜeny, tj. neprázdné prvky musí mít vždy uvedenou koncovou znaþku toto je XHTML špatné: <p>odstavec … <p>další odstavec …

toto je XHTML správné: <p> další odstavec … </p> <p> další odstavec … </p>

6. prázdné prvky musí být rovnČž uzavĜené – prázdné prvky musí mít uvedenou uzavírací znaþku nebo otevírací znaþka musí konþit /> toto je XHTML špatné: toto je Ĝádkový zlom: <br> toto je vodorovná dČlicí þára: <hr> toto je XHTML správné: toto je také Ĝádkový zlom: <br></br> toto je Ĝádkový zlom: <br /> toto je vodorovná dČlicí þára: <hr /> UPOZORNċNÍ: sekvence <br></br> je sice podle pravidel korektní, ale vČtšina prohlížeþĤ si s ní vĤbec neporadí a odĜádkuje dvakrát 7. všechny hodnoty atributĤ musí být v uvozovkách/apostrofech a musí být zapsány jako pár jméno="hodnota" toto je XHTML špatné: <option value=volba selected>

toto je XHTML správné: <option value="volba" selected=" selected ">

8. DģLEŽITÁ poznámka kompatibility: aby byl kód XHTML sluþitelný s HTML prohlížeþi, je nutné pĜed ukonþovací závorku "/>" v nepárové znaþce vložit zvláštní mezeru jako napĜ. <br /> nebo <hr /> PěECHOD Z HTML NA XHTML PĜejít z HTML na XHTML lze nejsnadnČji tak, že se jednoduše zaþne psát pĜísný HTML 4.01, tj.: 1. všechny znaþky a jména atributĤ psát malými písmeny; jediná znaþka, která se v XHTML píše velkými písmeny je DTD znaþka <!DOCTYPE 2. všechny atributy psát ve tvaru páru jméno="hodnota" vþetnČ osamocených HTML atributĤ (jako checked, selected) s hodnotou uzavĜenou mezi " nebo ' (u osamoceného atributu se jako hodnota uvede pĜímo jeho jméno napĜ. selected="selected"); 3. vyhýbat se psaní bílých znakĤ uvnitĜ hodnot atributĤ;

4. souþasnČ s atributem name="jméno" používat id="jméno" kde jméno je jedineþné v rámci celého dokumentu (XHTML 1.1 atribut name již vĤbec nezná a proto je perspektivnČjší zvyknout si na jediný atribut id – tento atribut má dvČ skvČlé výhody: zaprvé zpĜístupĖuje prvek pro skriptování a zadruhé pĜímoþaĜe nabízí náhradu za znaþku font, protože id jméno je jeden ze základních zpĤsobĤ CSS kvalifikace); 5. všechny prvky dĤslednČ uzavírat uzavírací znaþkou (nevynechávat uzavírací znaþku); 6. všechny nepárové prvky (jako br a hr) ukonþovat prostĜednictvím ' />' (napĜ. <br />); 7. vkládat prvky do sebe, jak se patĜí; 8. vyhýbat se formátovacím znaþkám: - místo znaþky <b></b> používat <strong></strong>; - místo znaþky <i></i> používat <em></em>; (nČkterá zaĜízení nemusí být schopna psát tuþným písmem nebo kurzívou, zápisy <strong></strong>, <em></em> dle standardĤ pouze upozorĖují, že daná pasáž je dĤležitá – zaĜízení pak zdĤraznČní zadané þásti provede sama pĜedepsaným zpĤsobem podle svých možností); 9. k prezentaci obsahu používat styly: místo znaþky <font></font> používat atribut style="" v otevírací þásti znaþky nebo radČji externí css deklaraci (protože atribut style popírá myšlenku oddČlení obsahu dokumentu od vzhledu a napĜ. definice XHTML 1.1 tento atribut již vĤbec nezná); 10. k vystĜećování používat styly: místo znaþky <center></center> používat atribut align="center" v otevírací þásti znaþky nebo radČji externí css deklaraci (definice XHTML 1.1 atribut align již vĤbec nezná); 11. omezit vrstvení tabulek jako formátovacího prvku dokumentu; 12. v tabulkách uvádČt atribut summary="souhrnná charakteristika tabulky"; 13. nevynechávat atribut alt="alternativní text"; 14. na zaþátku souboru uvádČt kompletní prolog dokumentu; 15. ovČĜit, zda je dokument validní prostĜednictvím XHTML validátoru; 16. pĜestože kódování obsahu dokumentu se uvádí v úvodní procesní instrukci <?xml, je tĜeba souþasnČ uvést stejný druh kódování dokumentu také v <meta> znaþce (pro starší verze prohlížeþĤ, které procesní instrukce nezpracovávají); 17. pokud je u nČjakého prvku urþen jazyk jeho obsahu, je tĜeba kromČ atributu xml:lang souþasnČ použít i lang, který je podporován prohlížeþi.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.