PB138cv/Cv2

Z FI WIKI
Přejít na: navigace, hledání

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ů) &amp; 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 (& - &amp;), většítka (> - &gt;), menšítka (< - &lt;), apostrofu (' - &apos;), uvozovek (" - &quot;) 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:
    • 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

Jmenné prostory

Katalogy

ANT

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.