PB138cv/Cv2
Z FI WIKI
Obsah
XML dokumenty
- struktura - značky - tagy
- odděleny pomocí < a >
- jména jsou závislá na velikosti písmen (case sensitive)
- struktura
- logická - zanoření objektů definovaných značkami - elementů
- fyzická - jeden dokument může být ve více souborech
Struktura
<?xml version="1.0" encoding="UTF-8"?> <zprava adresat="paja" autor="jaja"> <cas datum="23-02-2005"/> <nadpis>Ahoj Pájo</nadpis> <obsah>Tak jsem ti přinesl od souseda pana obchodníka Krkovičky tu klobásu.</obsah> <nowiki><!-- prozatím nepoužijeme další značky --></nowiki> </zprava>
Elementy:
- definovány počáteční <jmeno atributy> a koncovou značkou </jmeno>
- mezi nimi je obsah elementu - může být jen text, ale i další elementy.
- atributy - v počáteční značce - definice souvisejících informací k elementu
- tvaru jmeno_atributu="hodnota_atributu" - rovnítko i uvozovky podmínkou!
- je-li element bez obsahu, lze napsat zkráceně <jmeno atributy/>.
Textový uzel:
- textový obsah v elementu
Instrukce pro zpracování:
- ve tvaru <?cil obsah?> Informuje aplikaci o postupu zpracování XML dat.
- definice XSL stylesheetu, i vložení instrukcí skriptovacího jazyka - např. PHP... (<?php kód ?>)
Notace:
- ve tvaru <!NOTACE jmeno deklarace>
- Popis binárních entit (deklarace způsobu zpracování).
Komentáře:
- ve tvaru <!-- obsah -->
Entita:
- fyzická jednotka - odpovídá řetězci, souboru...
- například znakové entity (pro popis zakázaných nebo méně častých znaků) & označuje &
- voláno &nazev_entity;
Well-formed (správně vytvořený) dokument
- Splňuje základní pravidla:
- Obsahuje nejprve prolog tvaru (aktuální verze, kódování...) <?xml version="1.0" encoding="UTF-8"?>
- následně pak kombinaci komentářů, notací... ale v nejvyšší úrovni jen jediný - kořenový element.
- Hodnoty všech atributů uzavřeny v uvozovkách, unikátní jména atributů v rámci elementu
- Case-sensitive označení elementů
- Správné zanoření elementů, všechny elementy uzavřeny (prázdné mají koncovou značku)
- Použití ampersandu (& - &), většítka (> - >), menšítka (< - <), apostrofu (' - '), uvozovek (" - ") mimo značkování je nutno pomocí uvedených znakových entit.
Validní (kontrolovatelný) dokument
- XML dokument je validní, pokud je specifikováno "DTD" (Document Type Definition) a dokument splňuje podmínky specifikované v DTD.
- DTD - gramaticky popsaná struktura dokumentu, proti které je možno kontrolovat. Později v semestru se seznámíme s dalšími možnostmi, jak definovat tato pravidla (hlavně XML Schema)
- Deklarace typu dokumentu - notace DOCTYPE před prvním elementem v dokumentu. Jméno, které následuje slovo DOCTYPE v DTD, musí odpovídat jménu kořenového elementu
- my můžeme kontrolovat validitu pomocí skriptu stažitelného z IS
- validovací parsování existuje i v parserech jako je Xerces, HTML parsuje například HTMLTidy...
DTD
- dědictví po SGML
- popisuje strukturu XML. Není v XML.
- DTD Tutoriál
- Tutoriál o různých možnostech popisu schématu XML na kosek.cz
- notace:
- interní: <!DOCTYPE [korenovy_element] SYSTEM "[jmeno_dtd_souboru]">
- externí: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- samotné DTD - definice elementů, jejich atributů...
- <!ELEMENT JMENO PODELEMENTY>
- #PCDATA - textový uzel, řada jmen elementů v závorce oddělených čárkou - sekvence, řada jmen elementů v závorce oddělených svislítkem | - výběr z možností, element+ - 1 a víc, element* - 0 a víc, element? - 0 nebo 1.
- Pokud je místo seznamu podelementů EMPTY, je to prázdný element, smí mít jen atributy.
- dál v tutoriálu
- notace:
Jmenné prostory
Katalogy
ANT
- buildovací utilita pro Javu
- Manuál
- Stručný přehled funkcí
Příklady
- Napište (well-formed) XML dokument, ve kterém bude normální i prázdný element, vnořené elementy, notace, instrukce pro zpracování, poznámka...
- Chceme do souboru uložit databázi lidí, bude tam jejich jméno, adresa (minimálně jedna, může být víc), telefon (nemusí být, nebo jeden), bankovní účet. Číslo u telefonu bude jeho atributem. Navrhněte strukturu a udělejte nějaký (well-formed) dokument naplněný daty (např. 5 lidí...).
- Stáhněte z webu nějakou HTML stránku a pokuste se identifikovat všechny prohřešky proti pravidlům.
- Vytvořte DTD svého XML dokumentu. Následně pomocí parseru (stáhněte si jeho spouštěč z IS - Demonstrační příklady/Validace XML dokumentu) zkontrolujte validitu.
- Totéž zkuste i u staženého HTML souboru.