Toto je starší verze dokumentu!


28 - HTML a JavaScript

Značkovací jazyky

Značkovací jazyky (markup languages - ML) jsou speciálním typem programovacích jazyků. Slouží hlavně pro popis dokumentů. Jsou definovány gramatikou – gramatika je založena na konečné množině gramatických pravidel, které generují řetězce daného jazyka.

Procedurální značkování

Značky mají pevný význam (sémantiku). Ztrácí se informace o sémanticky rozdílných, avšak formátem stejných atributech dokumentu (chceme-li centrovat nadpis a popis obrázku, označíme oba stejně; tyto dva typy textu nelze pak v dokumentu odlišit). Je to obdobné klasickému programovacímu jazyku, jehož gramatika je pevná a předem známá. Použito v HTML.

Univerzální značkování

  • Značkování popisuje strukturu dokumentu a jeho sémantické atributy.
  • Povoluje se hierarchická struktura dokumentů.
  • Značkování by mělo být přesné, aby bylo možné používat techniky vhodné pro zpracování přesně definovaných objektů.
  • Značky nemají přesně definovanou sémantiku. Ta je dána až interpretací značek v procesu zpracování. Použito v XML.

SGML

SGML (Standard Generalized Markup Language) je univerzální značkovací metajazyk, který umožňuje definovat značkovací jazyky jako své vlastní podmnožiny. SGML je komplexní jazyk poskytující mnoho značkovacích syntaxí, ale jeho složitost brání většímu rozšíření. Jazyky původně založené na SGML nebo jako jeho aplikace jsou například HTML nebo DocBook. SGML umožňuje na rozdíl od XML pomocí DTD vymezit elementy, které se nesmí vyskytovat pod daným elementem. Základní vlastnosti tohoto metajazyka jsou:

  • Zdůrazňuje univerzální značkování před procedurálním.
  • Umožňuje deklarovat typy dokumentů.
  • Je nezávislý na technickém vybavení, kde je program v tomto jazyce používán.

HTML

Zkratka pro HyperText Markup Language. Je jedním z jazyků pro vytváření stránek v systému World Wide Web, který umožňuje publikaci dokumentů na Internetu. Jazyk je aplikací dříve vyvinutého rozsáhlého univerzálního značkovacího jazyka SGML. Vývoj HTML byl ovlivněn vývojem webových prohlížečů, které zpětně ovlivňovaly definici jazyka. Jazyk HTML je od verze 2.0 aplikací SGML (připravovaná verze HTML5 ale již závislost na SGML obsahovat nebude). Je charakterizován množinou značek a jejich atributů definovaných pro danou verzi. Mezi značky se uzavírají části textu dokumentu a tím se určuje význam (sémantika) obsaženého textu. Názvy jednotlivých značek se uzavírají mezi úhlové závorky (< a >). Část dokumentu tvořená otevírací značkou, nějakým obsahem a odpovídající ukončovací značkou tvoří tzv. element (prvek, tag) dokumentu. Součástí obsahu elementu mohou být další vnořené elementy. Atributy jsou doplňující informace, které upřesňují vlastnosti elementu.

HTML obsahuje mimo vlastní definici značkovacího jazyka jako aplikace SGML mnoho dalších formálních jazyků, které musejí být vysvětleny zvlášť. Z těch nejrozsáhlejších jsou to:

  • skriptovací jazyky a převážně klientský JavaScript
  • kaskádové styly dokumentů CSS
  • případně jiné méně rozsáhlé jako jsou různá kódování (jazyků apod.)

Struktura dokumentu

  • Deklarace DTD – je povinná až ve verzi 4.01, je uvedena direktivou <!DOCTYPE.
  • Kořenový element – element html (značky a ) reprezentuje celý dokument, vše je uvnitř.
  • Hlavička elementu – obsahuje metadata (ne obsah), která se vztahují k celému dokumentu. Definují např. název dokumentu, jazyk, kódování, klíčová slova, přiložené soubory (styly, javascript,…). Je uzavřena mezi značky <head> a </head>.
  • Tělo dokumentu – obsahuje vlastní text dokumentu. Vymezuje se značkami <body> a </body> = to co je vidět.

Druhy značek

  • Strukturální značky – rozvrhují strukturu dokumentu, příkladem jsou odstavce (<p>), nadpisy (<h1>, <h2>). Dodávají dokumentu formu.
  • Popisné (sémantické) značky – popisují povahu obsahu elementu, příkladem je nadpis (<title>) nebo adresa (<address>). Současný trend je orientován právě na sémantické značky, které usnadňují automatizované zpracovávání dokumentů a vyhledávání informací v záplavě dokumentů na webu.
  • Stylistické značky – určují vzhled elementu při zobrazení, typickým příkladem je značka pro tučné písmo (<b>). Od tohoto druhu značek se postupně upouští, trendem je používání kaskádových stylů, které vzhled popisují odděleně od obsahu dokumentu.

JavaScript

JavaScript je interpretovaný programovací jazyk s objektově orientovanou koncepcí. Klientská verze tohoto jazyka je součástí většiny všeobecně rozšířených prohlížečů. Jádro jazyka (tj. část univerzální nezávislá od prohlížečů) je syntakticky velmi podobná C++. Podobnost však končí na úrovni syntaxe. Nemá nic společného s javou. JavaScript je jazykem, který má potlačenu typovou kontrolu. Dále jde o interpretovaný jazyk, který mnohé myšlenky přebírá z jazyka Perl. Příklady jsou přejatých pojmů jsou regulární výrazy nebo práce s poli.

Vlastnosti

  • interpretovaný jazyk s objektově orientovanou koncepcí – nemusí se kompilovat
  • objektový – využívá objektů prohlížeče a zabudovaných objektů
  • závislý na prohlížeči – funguje ale ve většině prohlížečů
  • klientská verze u většiny internetových prohlížečů
  • syntakticky podobný C, C++ nebo Javě
  • má potlačenu typovou kontrolu
  • JavaScript není zjednodušenou verzí Javy
  • vznikal pod názvem LiveScript
  • ne zcela ustálený název a ne zcela ustálená definice
  • JavaScript se asi vžil nejvíce
  • univerzální část JavaScriptu se vžil název jádro JavaScriptu

Identifikátory a klíčová slova:

  • case-sensitive
  • písmena anglické abecedy, podtržítko a dolar
  • dále i číslice
  • rozpoznává se plná délka identifikátorů

Omezení:

  • uživatel může JavaScript zakázat
  • existují různé odlišné verze jazyka i prohlížečů, což vede k častým chybám, je těžké zajistit stejnou funkčnost všude
  • neumí přistupovat k lokalním ani serverovým souborům (kromě cookies - lokální) ani k žádným jiným systémovým zdrojům (tiskárna např.)
  • neumí žádná data uložit (kromě cookies)

Cookies Umožnuje uložit data k uživateli, můžou se opět použít při přístí návštěvě. Uživatel může zakázat. Mají nastavitelnou dobu expirace, je omezena jejich delka i jejich počet.

Příkazy jazyka Obecně pro řízení stejné jako v C++ - cykly, podmínky, switche, bloky, break, continue, vyjímky, with, návěstí

Objektový model

temata/28-html-a-javascript/main.1297765254.txt.gz · Poslední úprava: 2011/02/15 11:20 autor: sgs
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki