This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
xml [2017/01/07 15:40] efox |
xml [2017/09/21 16:48] (current) efox |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <WRAP center round tip 60%> | ||
+ | vlastnosti, syntaxe, typy uzlů, struktura @ DTD x XSD, transformace, | ||
+ | </ | ||
+ | |||
+ | |||
<WRAP center round box 60%> | <WRAP center round box 60%> | ||
extensible markup language | extensible markup language | ||
Line 27: | Line 32: | ||
* __Xlink__ popisuje standardní cestu, jak přidat do XML souboru hypertextové odkazy | * __Xlink__ popisuje standardní cestu, jak přidat do XML souboru hypertextové odkazy | ||
* __XPointer__ je něco jako URL, akorát místo odkazů na dokumenty na webu odkazuje dovnitř XML dokumentů | * __XPointer__ je něco jako URL, akorát místo odkazů na dokumenty na webu odkazuje dovnitř XML dokumentů | ||
+ | * __XPath__ umožňuje adresovat jednotlivé části dokumentu | ||
* __XSL__ je vylepšený jazyk pro zapisování stylů - založen na XSLT, transformačním jazyce používaném pro přidávání, | * __XSL__ je vylepšený jazyk pro zapisování stylů - založen na XSLT, transformačním jazyce používaném pro přidávání, | ||
* __DOM__ je standardizace funkcí pro manipulaci s XML soubory v programovacích jazycích | * __DOM__ je standardizace funkcí pro manipulaci s XML soubory v programovacích jazycích | ||
Line 44: | Line 50: | ||
====== typy uzlů ====== | ====== typy uzlů ====== | ||
Uzel = to jsou ta vlastní data, uzavřena v metadatech | Uzel = to jsou ta vlastní data, uzavřena v metadatech | ||
- | * XML deklarace | + | |
* <?xml version=" | * <?xml version=" | ||
- | * element, atribut, text | + | |
- | * | + | * V terminologii XML se jednotlivým označeným částem dokumentu říká elementy. Elementy do sebe mohou být navzájem vnořené a tím dle potřeby zachycovat strukturu informací uložených v dokumentu |
+ | * **CDATA** | ||
+ | * Pokud potřebujeme do textu vložit větší kus textu, kde se hojně používají znaky se speciálním významem jako `<', | ||
+ | |||
+ | * Každý XML dokument musí být celý obsažen v jednom elementu (musí být JEDEN kořenový element - takže to všechno prostě " | ||
+ | {{ :: | ||
+ | |||
+ | ====== ověřování dokumentu ====== | ||
+ | * tagy si definuju sama | ||
+ | * a to pomocí DTD nebo XML schématu (XSD) | ||
+ | * prostej text -> well-formed -> validní dokument | ||
+ | * parser = syntaktický analyzátor = program, který vykonává syntaktickou analýzu | ||
+ | * proces analýzy posloupnosti formálních prvků s cílem určit jejich gramatickou strukturu vůči předem dané (byť ne nutně explicitně vyjádřené) formální gramatice | ||
+ | * transformace vstupního textu do datové struktury, většinou stromu | ||
+ | * **token** = elementárních nositel významu v rámci daného formálního jazyka | ||
+ | |||
+ | ====== styly ====== | ||
+ | * CSS | ||
+ | * XLS | ||
+ | |||
+ | ====== model XML dokumentu ====== | ||
+ | * parent-child-sibling (rodič, potomek, sourozenec) | ||
+ | * ancestor -> descendant (předchůdce, | ||
+ | * uzly uspořádané ve stromové struktuře | ||
+ | * to je DOM, druhá verze je Simple API for XML (SAX), která umožňuje proudové zpracování a oproti DOMu bývá několikrát rychlejší | ||
+ | ====== definice struktury ====== | ||
+ | ===== DTD (document type definition) ===== | ||
+ | {{ :: | ||
+ | * neobsahuje možnost kontrolovat typy dat (čísla, měnové údaje, údaje o datu a čase) | ||
+ | * jednoduchý, | ||
+ | * má nižší vyjadřovací schopnost a nepoužívá syntaxi XML | ||
+ | * četnost: + je jednou a více, * je nula a více, ? je nula nebo 1 | ||
+ | {{ :: | ||
+ | |||
+ | ===== XSD (XML schema definitio) ===== | ||
+ | {{ :: | ||
+ | * W3C standard | ||
+ | * včetně sady XSL stylů | ||
+ | * složité a obsáhlé | ||
+ | * super vyjadřovací schopnosti, zavádí datové typy, jmenné prostory apod. | ||
+ | * datové typy: string, decimal, boolean, integer, date, time | ||
+ | * komplexní dytové typy si deklaruju sama - můžou obsahovat další elementy nebo atributy | ||
+ | |||
+ | ====== XSLT transformace ====== | ||
+ | * XML dokument + XSLT styl -> XSLT procesor -> XML, HTML, text,.. | ||
+ | |||
+ | ====== aplikace XML ====== | ||
+ | * XHTML - nástupce po HTML... | ||
+ | * RDF (resource description framework) - specifikace umožňující popsat metadata (anotace html třebas) | ||
+ | * RSS - rodina XML formátů umožňující čít novinky webových stránek | ||
+ | * SMIL (sznchroniyed multimedia integration language] / popis multimédií pomocí XML | ||
+ | * MathML (mathematical markup language) - popis matematických vzorců apod. na webu | ||
+ | * SVG (scalable vector graphic) - jazyk pro popis dvourozměrné vektorové grafiky | ||
+ | * DocBook - sada definic dokumentů a stylů pro publikační činnosti | ||
+ | * SOAP - protokol pro komunikaci mezi webovými službami | ||
+ | * OpenDocument - souborový formát určený pro ukládání a výměnu dokumentů vytvořených kancelářskými aplikacemi | ||
+ | |||
+ | ====== RSS a GeoRSS ====== | ||
+ | ===== RSS ===== | ||
+ | * metadatové formáty určené pro čtení novinek na webových stránkách a obecněji přebírání dat mezi weby = syndikace obsahu | ||
+ | * technologie RSS umožňuje uživatelům přihlásit se k odběru novinek z webu, který nabízí RSS zdroj (RSS feed, = RSS kanál = RSS channel) | ||
+ | * RSS formát poskytuje obsah celého článku, příp. jeho část, odkaz na původní článek a také jiná metadata | ||
+ | * **povinné elementy**: <rss version=" | ||
+ | * **AtomSyndication**: | ||
+ | * Podcast: nešíří jenom text, ale i multimédia. pomocí tohoto kanálu si můžu do kompu stahovat mp3 písničky | ||
+ | |||
+ | ===== GeoRSS ===== | ||
+ | * standard pro kódování geografické polohy websitu/ | ||
+ | * umožňuje doručování informací o změnách provedených v digitální mapě | ||
+ | * spočívá v přidání prvku, který určuje přesnou polohu, do těla každé části RSS kanálu | ||
+ | * pole //where// | ||
+ | * **geometrie prvků** | ||
+ | * bod | ||
+ | * linie | ||
+ | * polygon (4 páry souřadnic) - poslední pár totožný s prvním | ||
+ | * box (čtverec - 2 páry souřadnic) - levý dolní a pravý horní roh | ||
+ | * **zápis geometrie: | ||
+ | - Simple GeoRSS | ||
+ | * podporuje jen WGS84 | ||
+ | * malá škála prvků | ||
+ | * | ||
+ | - GeoRSS GML | ||
+ | * point, lineString, envelope, polygon | ||
+ | * souřadnicový referenční systém (SRS) | ||
+ | * záladní je WGS84 | ||
+ | * vzájemné vztahy (relationship) | ||
+ | * vztah obsahu webu ke konrétním prvkům na Zemi | ||
+ | * nadmořská výška - jenom v SIMPLE GeoRSS!! | ||
+ | * < | ||
+ | |||
+ | ====== XPath (XML Path language) ====== | ||
+ | * umožňuje z XML dokumentu vybírat jednotlivé elementy a pracovat s jejich hodnotami a atributy | ||
+ | * obsahuje knihovnu funkcí a slouží jako navigační nástroj | ||
+ | * adresujé části XML dokumentů | ||
+ | * základ: | ||
+ | * jednotlivé kroky výrazu se spojí lomítkem, před atributem je @, vyhodnocení zleva doprava, povinný je pouze test uzlu | ||
+ | * definováno celkem 13 os - např. child (dítě, implicitní), | ||
+ | |||
+ | ====== XML RPC (remote procedura call) ====== | ||
+ | * Cíl: umožnit aplikacím, bez ohledu na to jak rozdílné jednotlivé programy a jejich účely jsou, navzájem spolu standardizovaným způsobem komunikovat po síti | ||
+ | * pracují jako požadavky protokolu HTTP realizované metodou POST | ||
+ | * serializace - transformace dat do podoby přenositelné sítí | ||
+ | * datové typy: pole, skalár, struktura | ||
+ | |||
+ | ====== sémantický web ====== | ||
+ | * web, kde jsou informace strukturovány a uloženy podle standardizovaných pravidel, což usnadňuje jejich vyhledání a zpracování | ||
+ | * uživatelé Internetu pracují s WWW jako s relační databází a dotazovat se na její obsah prostřednictvím jazyků podobných SQL | ||
+ | * | ||
+ | ===== RDF (resource description framework)===== | ||
+ | * obecný rámec pro popis, výměnu a znovupoužití metadat | ||
+ | * formát RDF vyžaduje, aby byl pro každý element specifikován jmenný prostor | ||
+ | * zajišťuje přístup ke klíčovým elementům RDF, tvořící strukturu dokumentu @ RDF | ||
+ | * v kořenovém elementu, v Description, | ||
+ | * datový model RDF: | ||
+ | * specifikace trojice: zdroj, vlastnost, hodnota vlastnosti | ||
+ | * obloha má modrou barvu | ||
+ | |||
+ | ===== klasifikační schémata ===== | ||
+ | * RDF/XML - je to pouze metajazyk pro popis dalších jazyků | ||
+ | * == soubor vlastností s definovanou sémantikou a omezeními kladenými na možné hodnoty těchto vlastností | ||
+ | * začlenění klasifikačních schémat do struktury RDF/XML = jmenné prostory XML | ||
+ | |||
+ | ===== řízené slovníky ===== | ||
+ | * == tezaurus, terminologická ontologie | ||
+ | * soubor předmětových hesel s definovanou strukturou nadřazených a podřazených termínů a určením synonym či jiných pojmových relací | ||
+ | * pro určení hodnoty určité vlastnosti mohou klasifikační schémata vyžadovat použití hesla z konkrétního slovníku <=> přispívá k interoperabilitě metadat | ||
+ | * využito v metainformačních systémech | ||
+ | |||
+ | ===== GeoSPARQL ===== | ||
+ | * geografický dotazovací jazyk pro RDF data | ||
+ | * geonames, data.gov, online mapové služby | ||
+ | |||
+ | |||
+ | |||
+ | ===== OWL (ontology web language) ===== | ||
+ | * konceptualizace dat dostupných na Internetu, jejíž klíčovým nástrojem jsou formalizované reprezentace znalostí určené k jejich sdílení a znovupoužití (ontologie) | ||
+ | |||
+ | |||
+ | |||