User Tools

Site Tools

xml

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
xml [2017/01/07 15:19]
efox [10x o XHTML]
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, XPath
 +</WRAP>
 +
 +
 <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í, odebírání i úpravu tagů a atributů     * __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í, odebírání i úpravu tagů a atributů
     * __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 41: Line 47:
     * specifikace od W3C je přístupná totiž pro všechny     * specifikace od W3C je přístupná totiž pro všechny
     * můžu fičet na čem chci (linux, winy,...)     * můžu fičet na čem chci (linux, winy,...)
 +
 +====== typy uzlů ======
 +Uzel = to jsou ta vlastní data, uzavřena v metadatech
 +  * **XML deklarace**
 +    * <?xml version="1.0" encoding="UTF-8"?>
 +  * **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 `<', `>' a `&', je nepohodlné je zapisovat pomocí znakových entit. Sekce CDATA oceníme zejména v případech, kdy je součástí XML dokumentu kód nějakého programu nebo HTML či XML kód
 +
 +  * 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ě "obalím")
 +{{ ::syntaxe-zaklady.png?nolink |}}
 +
 +====== 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, následovník)
 +  * 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) =====
 +{{ ::dtd.png?nolink|}}
 +  * neobsahuje možnost kontrolovat typy dat (čísla, měnové údaje, údaje o datu a čase)
 +  * jednoduchý, stručný, může být přímo součástí dokumentu XML
 +  * 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
 +{{ ::2dtd.png?nolink&300 |}}
 +
 +===== XSD (XML schema definitio) =====
 +{{ ::xsd.png?nolink&300|}}
 +  * 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...  no...
 +  * 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="1.0"> - kořenový element, <channel> - to je samotný kanál, který obsahuje vnořené elementy jako title, link, description a dále nepovinné jako language, pubDate, copyright, webMaster apod.
 +  * **AtomSyndication**: standard založený na XML, podporuje přenost textu a multimédií, protože byl potřeba jednotný formát pro informační kanály 
 +        * 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/zdroje v rámci webových kanálů
 +   * 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!!
 +            * <elev> - výška od elipsoidu, <floor> počet pater budovy třeba
 +
 +====== 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:  path expression -  cesta k XML uzlu (Location Path)
 +  * 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í), descendant (potomek), parent (rodič), ancestor (předek), attribute (atribut) 
 +
 +====== 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, v atributu about
 +    * 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)
 +
 +
 +
 +
  
Permalink xml.1483798742.txt.gz · Last modified: 2017/01/07 15:19 by efox

oeffentlich