Moderní značkovací jazyky a jejich aplikace
Průběh výuky
- Přednášky: konají se v úterý, od 16.00 v D2
- Cvičení: zapište se do příslušné seminární skupiny (via Informační systém).
- Cvičení mají převážně charakter kontrolní (zadávání a hodnocení úloh) a konzultační (konzultace nad projektem a dalšími záležitostmi).
Hodnocení předmětu
- Předmět je standardně ukončen zkouškou, je možno ukončovat také zápočtem.
- Celkově lze získat až 100 bodů. Na úspěšné složení zkoušky postačí 70 bodů (70-79 bodů - hodnocení dobře, 80-89 bodů - hodnocení velmi dobře, 90-100 bodů - hodnocení výborně).
- Na získání zápočtu stačí 50 bodů.
- 50 % hodnocení tvoří body za projekt.
- 50 % hodnocení tvoří body za závěrečný písemný test.
- Úlohy zadávané na cvičení jsou povinné, ale netvoří součást bodového hodnocení. Vypovídají o aktivní účasti ve výuce (na cvičeních).
- V druhé polovině semestru již úlohy nebudou zadávány.
Průběh zkoušky
- Zkouška bude probíhat jako písemka (45-60 min) na papíře a
- obhajoba projektu
- Témata projektů budou po cca 3-4 týdnech výuky vystavena na IS jako balík témat k tomuto předmětu. Bližší podrobnosti viz PROJEKTY.
Vzorové zadání písemky
Test bude mít cca 7-10 otázek (podle pracnosti).
Přibližně polovina otázek bude testového charakteru s výběrem z několika možných odpovědí.
Zde jsou příklady znění otázek s tvořenou odpovědí:
- Napište netriviální DTD, kterému by vyhovoval následující dokument ... (modifikace: analogicky pro XML Schema, RelaxNG, evt. DSD)
- Napište dokument, který vyhoví (bude valid) pro následující DTD ... (modifikace: analogicky pro XML Schema, RelaxNG, evt. DSD)
- Stručně popište, co definuje XML Information Set
- Uveďte konkrétní příklady: dvou různých XML elementů, dvou komentářových uzlů, jedné CDATA sekce a textového uzlu.
- Uveďte základní rozdíly mezi osmibitovými kódováními a UTF-8.
- Mějme dva XML soubory ("předměty" a "lidi"). Doplňte do "předmětů" XLink odkazy na lidi - garanty těchto předmětů.
- Napište RDF tvrzení o vybrané zemi s více úředními řečmi (např. Švýcarsko, Kanada, Belgie, atd.). Tvrzení budou říkat, kolik má obyvatel, jakou rozlohu (včetně použité plošné jednotky) a jakou má úřední řeč (těch může být více).
- K výše vytvořeným tvrzením sestavte další tvrzení, které bude říkat, že souhrn výše uvedených tvrzení "ověřil" Jan Novák.
- Uveďte příklad tří hlaviček metod SAX2 rozhraní, vysvětlete, co tyto metody dělají.
- Napište XQuery dotaz, který vrátí jména a příjmení všech garantů předmětů - soubory viz výše.
- Napište příklad XSLT stylu, který ze souboru ... vytvoří jeho XHTML reprezentaci (se zachováním všech informací v původním souboru)
Software dostupný na fakultních strojích s UNIXy (Solaris, IRIX, Linux)
saxon-6.5.2
saxon-7.0
xalan-2.3.1
xerces-2.0.1
tomcat-4.0.3
fop-0.20.3 + ceske fonty
jakarta-tomcat-4.0.4-b2-01
xml-xindice-1.0
Všechno jsou to verze up-to-date (v tuto chvíli...).
Stručnou dokumentaci k uvedeným nástrojům napsal kolega Pavlovič a je dostupná zde.
Aktuální pokyny pro cvičení
Cvičení 1,2 (St 26.2., 5.3.) - Seznámení s nástroji pro pořizování XML dat
Úkolem bylo seznámit se s použitelnými editory XML.
Vybrat, stáhnout a nainstalovat si vhodný editor.
V čtyřčlenných týmech pořizovat data o konferencích SOFSEM.
Cvičení 3 (St 12.3.) - DTD, validace XML dokumentů
Úkoly:
- Zobrazte si v Informačním systému MU (is.muni.cz) informace o sobě (z aplikace Lidé)
- Výslednou HTML stránku si uložte na počítač a upravte tak, aby byla skutečně validním XHTML 1.0 dokumentem (je jedno, jakou variantou - Strict, Transitional...). Přepracování na validní dokument bude vyžadovat celou řadu úprav, počínaje změnou velkých písmen v názvech elementů na malá, doplněním ukončovacích značek...
- Validitu ověřte nástrojem W3C HTML Validator.
- Protokol z validace si uložte/uschovejte.
Cvičení 4 (St 19.3.) - Práce s objektovými modely XML - dom4j
Úkol:
- Stáhněte si k sobě a doplňte zdrojový kód
Cv4.java
z adresáře dom4j-1.3.
- Pro překlad a spuštění můžete použít dávku run.bat. Překlad si vyžádá také archiv dom4j.jar.
- Pro bližší seznámení s kompletním
dom4j
si jej můžete stáhnout a instalovat k sobě - viz další krok.
- (volitelné) Stáhněte si balíček
dom4j
z webu, instalujte ho (stačí rozbalit kamkoli do samostatného adresáře) a spusťte si demo programy.
- Výsledek chodu vašeho programu nad vstupním souborem people.xml by měl být totožný (nebo velmi podobný) s people-out.xml.
Poznámka: můžete to celé realizovat i v jiném než javovém prostředí, pak si program (který musí umět totéž) píšete kompletně sami.
Cvičení 5 (St 26.3.) - Práce se systémem pro vývoj software - Ant
Cvičení je průpravou na projekt z tohoto předmětu. Projekt bude řešen počínaje příštím týdnem.
Obsahem tohoto cvičení je seznámit se s rozšířeným systémem Ant pro vývoj software. Výhody tohoto systému ocení ti, kdo budou projekty z tohoto předmětu psát v Javě, ale i jiných jazycích.
Ant funguje podobně jako např. unixový make
, tzn. předloží se mu soubor popisující, co a jak se má v daných fázích softwarového vývoje udělat. Uživatel pak jen zadá, kterou fázi vývoje chce realizovat a Ant postupně zavolá definované překladače, preprocesory a softwarový produkt sestaví.
Úkol:
- Stáhněte si k sobě a nainstalujte systém Ant z webu.
- Pročtěte dokumentaci k němu, podívejte se na vzorové soubory
build.xml
.
- Řešte další úkoly podle pokynů cvičícího.
Cvičení 6 (St 2.4.) - Zadávání a úvodní práce na projektech, dodělávky...
Cvičení 7 (St 9.4.) - Práce na projektech
- Řada projektů ještě nemá založenu domovskou stránku na kore/projects/xml2003, napravte to!
- Stále je na IS několik volných zadání.
- Jinak můžete toto cvičení věnovat samostatné práci na projektech.
Cvičení 8 (St 16.4.) - XSLT transformace, práce na projektech
Úkoly:
- Napište a spusťte XSLT transformaci, která převede soubor messages.xml do messages.html. Můžete použít např. XSLT procesor SAXON (Java), Apache XALAN nebo jiný. Nemusíte je ani instalovat, již jsou zprovozněny na Aise (viz
module avail
).
- Pracujte na projektech.
Cvičení 9 (St 23.4.) - Práce na projektech
Úkol:
- Pracujte na projektech.
Cvičení 10 (St 30.4.) - Práce na projektech
Úkol:
- Pracujte na projektech.
Cvičení 11 (St 7.5.) - Práce na projektech
Úkol:
- Pracujte na projektech.
Cvičení ve St 14.5. se nekoná - Dies Academicus 2003
Cvičení 12 (St 21.5.) - Jazyky schémat
Úkol (poslední!):
- Na webu Examplotronu najděte příklad po.eg v sekci 3.11. Flat schemas.
- Vytvořte k němu odpovídající XML Schema (komentáře, default hodnoty atd. tam být nemusí).
- Tento vypracovaný úkol buďto odevzdat cvičícímu jako všechny ostatní nebo stačí s sebou vzít na zkouškovou písemku a odevzdat jej přímo mně.