XML and Web Engineering Research Group Faculty of Mathematics and Physics Charles University, Prague Czech Republic
Agenda
Požadavky na zápočet jsou na webu Deadline na témata: 30.11.2011 23:59 Deadline: 13.1.2012 23:59 Nechte si rezervu, úkol se vám nemusím uznat a můžete odevzdávat vícekrát
Každé odevzdání snižuje možnou známku o 1, kontrolujte zda máte vše co se po vás chce Informace: http://www.ksi.mff.cuni.cz/~klimek/teaching/#Internet Internet – (X)HTML
2
XHTML – co to je?
XML – eXtensible Markup Language Sada pravidel, jak kódovat dokumenty Podle těchto pravidel lze vytvořit nekonečně mnoho různých jazyků
HTML – HyperText Markup Language Jazyk pro tvorbu WWW stránek
XHTML – eXtensible HyperText Markup Language "kombinace" Je to jazyk HTML přizpůsobený pravidlům XML
Dnes už převážně XHTML Vzhledem k více méně kosmetickým rozdílům budeme používat jen XHTML
Internet – (X)HTML
3
XML – jak to vypadá - Tag
Řetězec uzavřený v ostrých závorkách <můj_tag> Mají 3 typy Start-tag: <můj_tag> End-tag: Empty-element tag: <můj_tag/>
Internet – (X)HTML
4
XML – jak to vypadá - Element
2 typy Dvojice Start-tag, end-tag se stejným názvem • <můj_tag>... • ... se nazývají obsah elementu. To může být jak text, tak další elementy
Empty-element tag – říká že element nemá žádný obsah • <můj_tag/> • Stejné jako <můj_tag>
Internet – (X)HTML
5
XML – jak to vypadá - Obsah
Obsah elementu – 4 typy Prázdný - <můj_tag/> Textový - <můj_tag>Můj text Elementový <můj_tag><jiný_tag/> Smíšený <můj_tag>T<jiný_tag>Text
Internet – (X)HTML
6
XML – jak to vypadá – Atributy
Dvojice název/hodnota uvnitř Start-tagu nebo Empty-element tagu Například number="3" • Název number • Hodnota 3
Příklady <položka id="123">Toto je položka
Internet – (X)HTML
7
XML - pravidla
Záleží na velkých a malých písmenech Nelze: <Můj_tag>
Správné uzávorkování Nelze:
Pouze jeden kořenový element Celý XML dokument má tvar stromu
První řádek dokumentu obsahuje hlavičku
Encoding je použité kódování znaků Nejlépe Unicode UTF-8 Lze i ISO8859-2 nebo Windows-1250 Internet – (X)HTML
8
XML - Příklad <popis> Tohle je moje fotka ze dne: <den>2.<měsíc>12. 2009 Internet – (X)HTML
9
HTML – jak to vypadá
Je to sada tagů, atributů a pravidel, jak tyto tagy a atributy mohou být umístěny Tagy: html, body, head, h1, h2, div, span, ... Atributy: id, src, ref, ... Pravidla "Tag head musí být jen v tagu html a to právě jednou" "Tag img musí mít atribut src" ... Internet – (X)HTML
10
HTML vs. XHTML
HTML není XML, XHTML je XML V HTML je možné mít třeba start-tag a ne endtag
,
Aby to bylo XML a tedy XHTML, musí to být správně uzávorkované
, nebo ,
Další rozdíly, v podstatě vychází z HTML 4.01
Internet – (X)HTML
11
(X)HTML – hlavička dokumentu
HTML i XHTML dokument má hlavičku říkající podle které verze W3C doporučení je dokument napsán HTML: 4.01 XHTML: 1.0 Strict, 1.0 Transitional, 1.0 Frameset, 1.1 XHTML 1.1
Internet – (X)HTML
12
XHTML – struktura dokumentu
Kořenový element 2 podelementy a obsahuje informace o stránce, které se nezobrazují Výjimka: element obsahuje text, který se zobrazí v titulku prohlížeče
je vlastní obshah stránky
- odstavec
-
- Nadpisy dle váhy,
nejvyšší Internet – (X)HTML
13
XML - namespaces
Různé dokumenty mohou používat stejné názvy elementů v různých významech Aby se předešlo zmatkům, zavádí se prostory jmen – namespace Identifikátor namespace je URI http://www.w3.org/1999/xhtml
Pro namespace se v dokumentu zavede jméno Jako atribut xmlns elementu, uvnitř kterého budu namespace používat <e xmlns:N="http://www.w3.org/1999/xhtml" /> Poté se elementy z namespace N značí
Lze zavést výchozí namespace bez označení
Internet – (X)HTML
14
XHTML – základní příklad Moje první stránka
Můj první nadpis
Test
Internet – (X)HTML
15
XML - entity
Entita – kód pro text Pro web nejzajímavější:
& & < < > > " "
Obecně lze v XML definovat vlastní, tady na to zapomeňte Příklad: H&M se v XHTML píše: H&M Internet – (X)HTML
16
XHTML – jak na to?
Když nevím jak udělat to co chci (užitečné odkazy) Použiji Google Seznam tagů: http://www.w3schools.com/tags/default.asp • XHTML 1.1 vychází z XHTML 1.0 Strict – používejte tedy jen tagy označené jako "S"
Jestliže to najdu jinde, podívám se na zdrojový kód stránky jestli to nejde opsat
Internet – (X)HTML
17
XHTML – zajímavé tagy - seznamy
Seznamy
- Číslovaný seznam (Ordered list)
- Nečíslovaný seznam (Unordered list)
- Položka seznamu (List Item) Příklad: •
–
První
–
Druhá
•
Internet – (X)HTML
18
XHTML – zajímavé tagy - tabulky
- Tabulka
- Řádek tabulky (Table Row)
- Záznam uvnitř řádku (Table Data) Příklad: •
–
1-1
1-2
1-3
–
2-1
2-2
•
Tabulka nemusí mít v každém řádku stejný počet buněk (sloupečků) Internet – (X)HTML
Atribut id udává identifikátor, na který se pak dá odkázat Pomocí … Nebo z jiné stránky pomocí … Internet – (X)HTML
20
XHTML – zajímavé tagy - obrázky
- Obrázek (Image) Slouží pro vkládání obrázků Atribut src udává URL souboru s obrázkem Atribut alt udává textový popis obrázku • Objeví se když jsou obrázky vypnuté, když nelze obrázek načíst
Atribut usemap udává id klikací mapy Atributy width a height mohou udávat rozměry Povinné atributy: src a alt
Internet – (X)HTML
21
XHTML – klikací mapa
<map> Atribut id – udává id mapy, na které se dá odkazovat třeba z Podelementy <area> - klikací oblasti • Atribut href – kam vede odkaz • Atribut alt – náhradní text • Atributy shape a coords – tvar a rozměr oblasti – shape="rect" – coords="x1,y1,x2,y2" – krajní body obdélníka – shape="circle" – coords="x,y,r" – střed a poloměr kružnice – shape="poly" – coords="x1,y1,x2,y2,…,xn,yn" – body polygonu
Internet – (X)HTML
22
XHTML – klikací mapa - příklad <map id="planetmap" name="planetmap"> <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun"/> <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury"/> <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus"/> Proč používám atribut name? Mapa je různě definována v HTML, XHTML 1.0 a XHTML 1.1 Navíc každý prohlížeč podporuje něco jiného XHTML 1.1: atribut usemap elementu img nesmí obsahovat #. Element map musí mít atribut id, nesmí mít atribut name. Tedy: <map id="planetmap"/> Takto to ale žádný prohlížeč nepodporuje
Internet – (X)HTML
XHTML 1.0 Strict: atribut usemap elementu img tvaru #planetmap. Element map musí mít atribut id. Tedy: <map id="planetmap"/> Takto to ale umí jen IE a Opera Neumí: Firefox, Safari, Google Chrome Oprava: přidat i atribut name se stejnou hodnotou, který v XHTML 1.0 být může – viz příklad nahoře
HTML 4.01: atribut usemap elementu img tvaru #planetmap. Element map musí mít atribut name, nesmí mít atribut id. <map name="planetmap"> Takto to funguje všude, ale není to XHTML 23
XHTML – další tagy
- pro zdrojové kódy – použije písmo se stejnou šířkou všech znaků - označuje kontakt na majitele XHTML dokumentu
- Seznam definic, obsahuje:
- Definition description
- Term …
Tagy pro formuláře – ještě dnes Tagy pro formátování (
, <span>) – bude příště - tučný text, - kurzíva, vodorovná čára - XML komentář
Internet – (X)HTML
24
XHTML - poznámka
Až budete nahrávat svůj web na internet, hlavní stránka se jmenuje index.
Přípona je .html, .htm, (později .php) dle potřeby Tzn. http://www.ksi.mff.cuni.cz/~klimek ve skutečnosti ukazuje na http://www.ksi.mff.cuni.cz/~klimek/index.php
Internet – (X)HTML
25
XHTML – poznámka - adresy
Adresy na webu mohou být absolutní nebo relativní Absolutní: vždy plná cesta. Např. http://www.ksi.mff.cuni.cz/~klimek Relativní: jen rozdílná část Jsem-li tedy na stránce http://www.ksi.mff.cuni.cz/~klimek a chci odkaz na stránku http://www.ksi.mff.cuni.cz/~klimek/teaching stačí mi napsat blabla Internet – (X)HTML