1 / 14

Technol ógie XML Prednáška č. 5

Technol ógie XML Prednáška č. 5. XML Sch éma (pravidlá návrhu). Z minula. Formáty pre zápis schém potrebujeme pretože: Definuje elementy a atribúty použiteľné v dokumente. Prípustné možnosti kombinovania. Dátový typ pre obmedzenie obsahu element / atribútu.

Download Presentation

Technol ógie XML Prednáška č. 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technológie XMLPrednáška č.5 XML Schéma (pravidlá návrhu)

  2. Z minula • Formáty pre zápis schém potrebujeme pretože: • Definuje elementy a atribúty použiteľné v dokumente. • Prípustné možnosti kombinovania. • Dátový typ pre obmedzenie obsahu element/atribútu. • Schéma je formálna definícia jazyka a z toho vyplývajúca možnosť validácie. • Ľahšia programová manipulácia.

  3. Jazyky pre zápis schémy • DTD • Vychádza zo SGML • XML Schema • Komplexný avšak špecifikácia je pomerne zložitá. • Relax NG • Nový a elegantný jazyk pre popis schém. • Schematron • Jazyk postavený na XPath

  4. XML Schéma • XML smeruje do oblasti databáz kde DTD nedokáže vyhovieť požiadavkám. • Poskytuje množstvo dátových typov a tým dovoľuje pokročilejšiu typovú kontrolu. • XML Schéma • Dátové typy: • Jednoduché = reťazec, číslo, ... • Komplexné – obsahujú ďalšie elementy a a atribúty. • od existujúcich typov je možné odvodzovať vlastné aplikovaním obmedzenia na jeden zo zabudovaných typov.

  5. Pokročilejšie rysy XML Schémy • XML Schema ako samodokumentujúci formát: • Rovnako ako API dokuemtácia je generovaná zo zdrojového kódu, tak aj dokumentácia k schéme môže byť tvorená aplikáciou XSLT štílu. <xs:elementname="zamestnanec"> <xs:annotation> <xs:documentation>Element je dôležitý! </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> ...

  6. Modelovanie obsahu • sekvenia zasebou idúcich elementov– <xs:sequence> • výběrjednoho z elementů – <xs:choice> • nezáleží na pořadí elementů – <xs:all> • smíšený obsah (mezi elementy se může objevit text) – <xs:complexType mixed="true">

  7. Validacia • Pred validáciou musíme špecifikovať, kde je možné schému nájsť. <dokument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="dokument.xsd"> ... </dokument>

  8. Validacia Príklad XML schéma – dokument.xsd <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:elementname="dokument"> ...

  9. Validacia • Xerces • knižnice pre preparsrovanie, validaciu, serializaciu a manipuláciu s XML. • knižnica implementuje množstvo štandardných API pre XML. • Implementacia je dostupna pre jazyky Java, C++, Perl.

  10. Databiding • pre dáta s dopredu známou štruktúrou je čítanie pomocou klasických API ako SAX alebo DOM nepohodlné • zo schémy je možné vygenerovať hierarchie tried, ktoré sú schopné reprezentovať dáta uložené v XML • triedy obsahujú kód pre serializáciu/deserializáciu • dátové typy XML schém sa namapujú na dátové typy daného jazyka • implementácia – Castor (Java), xsd (.NET)

  11. Trang • V prípade potreby konverzie medzi rôznymi jazykmi. • Podporované sú: • Relax NG (XML syntax) • Relax NG (kompaktná syntax) • DTD • XML Shema* • Celá konštrukcia je postavená na Relax NG modely.

  12. Pravidlá pre návrh schém • Potrebujeme vôbec atribúty?: • Kompaktnejší zápis. • Atomická premenná, ktorá je kľúčom. • Namespaces: • Každý nový XML súbor by mal obsahovať atribúty z vlastného namespace. • Elementy nepatriace nikam nedokážeme jednoducho a jednoznačne kombinovať. • Do namespace zaraďujeme len elementy nie ich atribúty • Názov namespace by mal byť ľahko zapametateľný.

  13. Pravidlá pre návrh schém • Názvy elementov a atribútov: • Vyhnuť sa extremom typu: • V10; ECaleboSPZaleboVIN; ... • Defaultné (implicitné) hodnoty • Nie odporúčané – schéma upravuje obsah dokumentu. • Versioning • Verzia sa uvádza v koreňovom elemente ako atribút.

  14. Domáca úloha • http://www.kosek.cz/xml/schema/index.html • Materiály o XML Scheme. • Spracovať príklad z písomky pomocou XML Schemy.

More Related