新华社:银监会10天发7文 5类人钱袋子要受影响
XML znamená eXtensible Markup Language, v preklade roz?írite?ny zna?kovací jazyk, ktory bol vyvinuty a ?tandardizovany konzorciom W3C (World Wide Web Consortium) ako pokra?ovanie jazyka SGML a zov?eobecnenie jazyka HTML. Umo?ňuje jednoduché vytváranie konkrétnych zna?kovacích jazykov na r?zne ú?ely a ?iroké spektrum r?znych typov údajov.
Jazyk je ur?eny predov?etkym na vymenu údajov medzi aplikáciami a na zverejňovanie dokumentov. Jazyk umo?ňuje opísa? ?truktúru dokumentu z h?adiska vecného obsahu jednotlivych ?astí a nezaoberá sa sám osebe vzh?adom dokumentu alebo jeho ?asti. Vzh?ad dokumentu sa potom definuje pripojenym ?tylom. ?al?ou mo?nos?ou je pomocou r?znych ?tylov vykona? transformáciu do iného typu dokumentu alebo do inej ?truktúry XML.
Jazyk XML nemá ?iadne preddefinované zna?ky (tagy, názvy jednotlivych elementov) a tie? jeho syntax je podstatne prísnej?ia (a jednoduch?ia) ako syntax HTML.
Pou?itie
[upravi? | upravi? zdroj]Sila XML je najm? v jeho hierarchickej ?truktúre a pomerne jednoduchom sp?sobe zápisu. Umo?ňuje opisova? – ozna?ova? ?ubovo?né dáta a prená?a? ich medzi r?znymi aplikáciami a platformami. Hlavnou ideou XML je oddelenie obsahu a vzh?adu dát. Spojovacím mostom je XSL, ktory umo?ňuje vytvára? mno?stvo vystupnych formátov.
XML je formát súboru obsahujúci dáta. Zvlá?tnym ho robí to, ?e je ?iroko prijímany ako ?tandard so schopnos?ou existencie na akejko?vek platforme a pou?ívany ve?kym a stále rastúcim po?tom aplikácií a programovacích jazykov.
?pecifikácia XML je opísaná odporu?ením konzorcia World Wide Web Consortium. Jazyk XML nám dovo?uje vytvára? ?truktúrované dokumenty ve?mi flexibilnym sp?sobom. Dá sa pou?i? k vytváraniu dokumentov, ktoré sa zdanlivo podobajú dokumentom HTML; jazyk XML sa v?ak od HTML lí?i a pou?íva sa k zásadne inym ú?elom. Táto podobnos? pochádza od rovnakych rodi?ov – obidva jazyky sú odvodené od ?tandardu definície jazyka SGML. Ten sám osebe nie je ?iadny jazyk, ale iba sp?sob definovania jazykov vyvinutych pod?a jeho obecnych princípov. Existuje tu v?ak d?le?ity rozdiel v tom, akym sp?sobom sú jazyky XML a HTML odvodené od SGML. XML je podmno?ina SGML – ?ah?ia verzia, ktorá bola oproti SGML zjednodu?ená, aby umo?ňovala pou?itie na sieti WWW, ale aj ako formát vymeny dát. Toto zjednodu?enie robí zápis dokumentov vychádzajúcich z XML jednoduch?ím. Oproti tomu jazyk HTML je aplikáciou SGML – je to teda konkrétny jazyk, ktory dodr?uje ?tandard SGML.
XML a HTML v skuto?nosti slú?ia ve?mi odli?nym ú?elom. Dokument HTML obsahuje zna?ky indikujúce, ako má by? dokument naformátovany, neobsahuje v?ak ?iadne informácie o vlastnom obsahu. Inymi slovami HTML obsahuje iba informácie o zobrazení dát a neobsahuje údaje o tom, o aké dáta ide. XML sa pokú?a oddeli? obsah a jeho reprezentáciu. Dokumenty XML obsahujú informácie v ?truktúrovanej forme, ktorá sa zdanlivo podobá HTML. D?le?itym rozdielom je fakt, ?e m??eme definova? svoje vlastné zna?ky, ktoré ur?ujú ?truktúru dát.
Dokumenty XML sa dajú previes? do HTML tym, ?e sa k dokumentu priradí ?tyl v jazyku XSL (Extensible Stylesheet Language – roz?írite?ny jazyk ?tylov). ?tyl bude obsahova? informácie o tom, ako túto stránku zobrazi?. XSL sa v?ak dá pou?i? aj na prevod do iného formátu XML.
Jazyk XML
[upravi? | upravi? zdroj]Ka?dy dokument XML sa skladá z kombinácie dát zna?iek a znakov. Zna?ky dávajú dokumentu XML ?truktúru, zatia? ?o znaky predstavujú vlastny obsah. V?etky XML dokumenty sp?ňajúce ?pecifikáciu XML musia dodr?iava? isté pravidlá – potom sú pova?ované za správne ?truktúrované (well-formed).
- I. Ka?dy element XML musí ma? za?iato?nú aj koncovú zna?ku. ?Prázdne“ elementy bez koncovej zna?ky (ako napríklad <IMG> alebo <HR> v jazyku HTML) nie sú v XML povolené. Je tu v?ak skráteny zápis, ktory sa dá pou?i? v prípade, ke? dany element neobsahuje ?iadne dáta. Namiesto <empty></empty> m??eme pou?i? alternatívu <empty />. Tieto dve mo?nosti sa pova?ujú za zhodné.
- II. Dokument XML musí obsahova? jediny pár zna?iek (skladajúci sa zo za?iato?nej a koncovej zna?ky), tzv. koreňovy element dokumentu, v ktorom sú v?etky ostatné elementy vlo?ené. Na koreni nem??e by? viac elementov.
- III. Po?iato?né a koncové zna?ky ka?dého elementu musia by? riadne vnorené – vnoreny element musí by? cely obsiahnuty vo svojom nadradenom elemente. Inymi slovami, po?iato?né a koncové zna?ky vlo?enych elementov sa nesmú prekryva?, ako to bolo povolené v HTML. To zais?uje hierarchickú ?truktúru dokumentu XML.
Ak dokument XML sp?ňa tieto pravidlá, potom je správne ?truktúrovany. Dokument XML sa ozna?uje za platny, ke? je správne ?truktúrovany a zároveň sp?ňa po?iadavky DTD.
Jednoduchy príklad XML súboru sa dá reprezentova? hierarchicky, napr.:
<?xml version="1.0"?> <zamestnanci> <priezvisko>Kutny</priezvisko> <priezvisko>Kolar</priezvisko> <priezvisko>Hala</priezvisko> </zamestnanci>
Podpora XML v jazyku PHP
[upravi? | upravi? zdroj]PHP podporuje sadu funkcií, ktoré sa pou?ívajú pre programovanie aplikácií pracujúcich s XML. Funkcie sa dajú pou?íva? na ?ítanie XML dokumentov. XML parser v PHP spracováva tok dát. E?te pred za?atím na?ítavania dokumentu sa parseru zaregistrujú obslu?né funkcie. XML dokument sa parseru odovzdáva po ?astiach a parser priebe?ne volá príslu?né zaregistrované funkcie ako rozpoznáva jednotlivé uzly. Pokia? je dokument správne ?truktúrovany ale neplatny, nezobrazí parser ?iadne chyby ani varovania.
Doplnok XML v PHP podporuje znakovú sadu Unicode. Nastavujú sa dve kódovania znakov: kódovanie vstupu a kódovanie vystupu. Kódovanie vstupu sa pou?íva pri ?ítaní dokumentov. Predvolenym kódovaním vstupu pou?ívanym v PHP je ISO-8859-1. Kódovanie vystupu sa pou?íva, ke? PHP odovzdáva dáta zaregistrovanym funkciám. Kódovanie vystupu ovplyvňuje textové dáta aj názvy zna?iek a ciele in?trukcií pre spracovanie.
Hne? ako parser narazí na znaky mimo rozsah, ktory doká?e kódovanie vstupu reprezentova?, vráti chybu. Pokia? PHP nájde v rozparsovanom dokumente XML znaky, ktoré sa nedajú reprezentova? vo vybranom vystupnom kódovaní, nahradí ich otáznikmi. Podpora XML v PHP je implementovaná pomocou kni?nice expad. Expad je kni?nica napísaná v jazyku C, slú?iaca pre spracovanie dokumentov XML.