XML T. Pitner, L. Bártek, A. Rambousek, L. Grolig FI MU Brno, 2021 Obsah Úvod do XML Motivace Principy Zdroje (@FI, ostatní) Co je XML? Jedná se o standard W3 Konsortia popisující jak tvořit značkovací jazyky. Jedná se tedy o metajazyk. Je odvozen ze starších standardů (SGML – Standard Generalized Markup Language) – Na XML se dá nahlížet jako na téměř podmnožinu SGML. Existuje řada standardů spojených s XML – XML Namespaces, XInclude, XML Base, XML Infoset Tyto standardy spolu s dalšími (XSLT, XSL-FO, XHTML, CSS, …) tvoří “rodinu” XML standardů. Deset principů XML Standardů Z preambule XML 1.0 (3. vydání) 1. XML by mělo být přímočaře použitelné na Internetu. 2. XML bude podporovat širokou škálu aplikací. 3. XML bude kompatibilní z SGML. 4. Tvorba programů zpracovávajících XML bude jednoduchá. 5. Počet volitelných prvků XML standardů bude malý, optimálně 0. Deset principů XML standardů 6. XML dokumenty by měly být „lidsky“ čitelné a rozumně jednoduché. 7. Návrh XML standardu by měl být rychle hotov. 8. Návrh XML musí byt formální a správný. 9. XML dokumenty bude možné snadno vytvořit. 10. Úspornost XML značkování není podstatná. Charakteristika XML jazyků XML není specifický jazyk, je to specifikace, jak tvořit značkovací jazyky. – Je to metajazyk. Konceptuálně vychází z SGML. – Zjednodušeno kvůli snažší tvorbě parserů. Jelikož každý element musí být uzavřený. – Dokument nemusí mít definováno DTD, pro zpracování struktury. XML staví na úspěšné implementaci SGML – HTML. – Má podobné charakteristiky, tzn. zaměření na Internet. Probíhá seriózní diskuze ohledně binárního XML. –Mělo by být možné ho reprezentovat stejně jako textové XML. Aktuální specifikace XML Původní specifikace (W3C Recommendation) W3C XML 1.0 5. vydání Extensible Markup Language (XML) 1.0 Fifth Edition XML 1.1 (Second Edition) –Změny vyvolané zavedením •UNICODE 3, •snažší normalizací, •Upřesněním zpracovaní konců řádků – XML 1.1. není vázáno na konkrétní verzi UNICODE, ale vždy na poslední. – Tutoriály a články ●Tutoriál k XML na zvon.org ●Tutoriál k XML na W3Schools ●Tutoriál k XML fy. Microsoft ●Tutoriály k XML na 101 XML ●XML tutoriál na Beginners.co.uk ●Tutoriály na Developerlife.com Portály vztažené k XML ●World Wide Web Consortium (W3C) ●XML Startkabel ●Vynikající sbírka tutoriálů a on-line dokumentace v řadě jazyků, hostovaná v CZ ●XML Cover Pages - denně aktualizovaný souhrn na materiály vázané k XML ●O‘Reilly XML.com - články a tutoriály na vyšší úrovni. ●IBM DeveloperWorks, section XML - články, tutoriály, software atd. na vyšší úrovni. Další odkazy k XML ●Aktivity W3C: specifikace standardů, konference, odkazy na SW, ukázkové nástroje, odkazy ●What is XML na XML.com - jeden z úvodních článků k XML ●XML: XML Quick Syntax Reference Card - výborná, jednoduchá referenční karta. ●Komentovaná verze specifikace XML na XML.com (Annotated XML) Knihy ●XML in Nutshell od E.R.Harolda Co dále? Ani XML není univerzální řešení všech problému při strojové výměně dat. Vývoj pokračuje. Pro pokročilé (rich) webové aplikace s intenzivní komunikací client-server: – Potřeba lepší interoperability a menšího množství dat •Formáty jako JSON (JavaScript Object Notation). •YAML – ruční popis struktovaných dat. Budou probrány později. ● Koncepty a Struktura XML dokumentů Obsah Logická a fyzická struktura dokumentu Struktura XML Dokumentů Základní požadavek na XML dokumenty – musí být dobře utvořené: – Obsahují XML prolog a právě jeden kořenový element. •Před a za kořenovým elementem mohou být instrukce pro zpracování. – Splňuje požadavky na dobře utvořené dokumenty ze specifikace. – Každá přímo nebo nepřímo odkazovaná parsovatelná entita je dobře utvořená. Další možný požadavek na XML dokument – být validní. Struktura XML dokumentů (další informace) ●Viz tutoriál XML Fundamentals (anglicky) ●Obsah k XML na zvon.org Struktura XML dokumentů ●Rozlišujeme: –fyzickou a –logickou strukturu. ●Aplikační programátory obvykle zajímá pouze logická struktura, ●zatímco pro autory obsahu a editorů může být důležitá i fyzická struktura. Fyzická a logická struktura ●Logická struktura: –dokument se skládá z: ●elementů – jeden je kořenový, ●atributů, ●textových uzlů, ●instrukcí pro zpracování, ●symbolů ●komentářů. Fyzická a logická struktura ●Fyzická struktura –Jeden logický dokument může být uložen ve více fyzických entitách – vždy v alespoň jedné. Prvky logické struktury ●Uzlem (generickým prvkem) může být: –Element – občas nekorektně nazývaný „tag/značka“ (značka je počáteční a koncové značkování ne celý element). –Atribut – vždy součást elementu. –Textový uzel – text mezi značkami. –Instrukce pro zpracování – neobsahuje textový obsah nebo atribut, pouze pro účely zpracování. –Komentáře – určeny pro lidské čtenáře. Elementy ●Objekty ohraničené počáteční a koncovou značkou: ●
●text node — content of element p
● ● Prázdné elementy ●Pokud je element prázdný, píšeme značku prázdného elementu –Neobsahuje dceřiné uzly (elementy, textový obsah) ●