Základný kurz XML. Základy XML pre začiatočníkov. Bežné vyhradené znaky v XML

  • 05.03.2020

XML je v dnešnej dobe veľmi populárny a flexibilný formát. Každý programátor by tomu mal rozumieť, je to jednoducho nevyhnutné. Mnoho technológií je dnes zviazaných, aktívne ich využívajú, navyše sú medzi nimi aj moderné.

Úvod

Ahojte vážení čitatelia môjho článku. Hneď chcem povedať, že je to iba prvý článok z mojej série troch článkov. Hlavným cieľom celého cyklu je venovať každému čitateľovi formát XML a poskytnúť, ak nie úplné vysvetlenie a porozumenie, potom aspoň dobrý tlak na to, vysvetliť hlavné body a veci. Celý cyklus bude zameraný na jednu nomináciu - „Pozor na detail“, a bolo rozdelené do 3 článkov, aby sa zmestili do limitu počtu znakov v príspevkoch a aby sa lepšie porozumelo, aby sa veľké množstvo materiálu rozdelilo na menšie časti. Prvý článok bude venovaný samotnému XML a tomu, čo to je, a tiež jednému zo spôsobov, ako vytvoriť schému pre XML súbory - DTD. Na úvod by som chcel poskytnúť krátky úvod pre tých, ktorí ešte XML nepoznajú: nenechajte sa zastrašiť. XML nie je príliš zložité a musí mu porozumieť každý programátor, pretože dnes je veľmi flexibilným, efektívnym a populárnym formátom súborov na ukladanie rôznych informácií, ktoré práve potrebujete. XML sa používa v Ant, Maven, Spring. Každý programátor potrebuje znalosť XML. Teraz, keď ste zhromaždili silu a motiváciu, začnime študovať. Budem sa snažiť čo najjednoduchšie rozložiť všetok materiál, zozbierať len to najdôležitejšie a nejdem do džungle.

XML

Pre jasnejšie vysvetlenie by bolo správnejšie vizualizovať XML pomocou príkladu.< ? xml version= "1.0" encoding= "UTF-8" ? > < company> < name> IT- Nebo< / name> < offices> < office floor= "1" room= "1" > < employees> < employee> < name> Maksim< / name> < job> Stredný vývojár softvéru< / job> < / employee> < employee> < name> Ivan< / name> < job> Junior vývojár softvéru< / job> < / employee> < employee> < name> Franklin< / name> < job> Junior vývojár softvéru< / job> < / employee> < / employees> < / office> < office floor= "1" room= "2" > < employees> < employee> < name> Herald< / name> < job> Stredný vývojár softvéru< / job> < / employee> < employee> < name> Adam< / name> < job> Stredný vývojár softvéru< / job> < / employee> < employee> < name> Leroy< / name> < job> Junior vývojár softvéru< / job> < / employee> < / employees> < / office> < / offices> < / company> HTML a XML sú podobné v syntaxi, pretože majú spoločného rodiča, SGML. V HTML však existujú iba fixné značky konkrétneho štandardu, zatiaľ čo v XML si môžete vytvárať vlastné značky, atribúty a vo všeobecnosti robiť všetko, čo chcete, podľa potreby, uložiť. Súbory XML môže v zásade prečítať každý, kto vie po anglicky. Tento príklad je možné znázorniť pomocou stromu. Koreň stromu - Spoločnosť. Je to tiež koreňový (koreňový) prvok, z ktorého pochádzajú všetky ostatné prvky. Každý súbor XML môže mať iba jeden koreňový prvok. Malo by to byť oznámené neskôr xml deklarácia súboru (prvý riadok v príklade) a obsahujú všetky ostatné prvky. Trochu k vyhláseniu: ona povinné a je potrebný na identifikáciu dokumentu ako XML. Má tri pseudoatribúty (špeciálne preddefinované atribúty): verziu (podľa štandardu 1.0), kódovanie (kódovanie) a samostatný (autonómia: ak je k dokumentu pripojené externé schémy a externé schémy, potom dôjde k chybe, štandardne - nie). Prvky Sú entity, ktoré ukladajú údaje pomocou iných prvkov a atribútov. Atribúty - toto sú ďalšie informácie o prvku, ktoré sa zobrazia pri pridávaní prvku. Ak vysvetlenie preložíme do poľa OOP, môžeme uviesť príklad: máme auto, každé auto má vlastnosti (farba, kapacita, značka atď.) - to sú atribúty a vo vnútri vozidla sú entity: dvere, okná, motor. , volant sú ďalšie prvky. Vlastnosti môžete ukladať ako samostatné prvky alebo atribúty, podľa vášho želania. XML je koniec koncov mimoriadne flexibilný formát na ukladanie informácií o niečom. Po vysvetlení nám stačí rozobrať vyššie uvedený príklad, aby všetko zapadlo na svoje miesto. V príklade sme opísali jednoduchú štruktúru spoločnosti: existuje spoločnosť, ktorá má názov a kancelárie, a kancelárie majú zamestnancov. Prvky Zamestnanci a kancelárie sú obalové prvky - slúžia na zhromažďovanie prvkov rovnakého druhu, v skutočnosti ich kombinovaním do jednej sady uľahčujú spracovanie. Podlaha a miestnosť si zaslúžia osobitnú pozornosť. Toto sú atribúty kancelárie (poschodie a číslo), inými slovami jej vlastnosti. Keby sme mali prvok „obrázok“, potom by sme mohli preniesť jeho rozmery. Môžete si všimnúť, že spoločnosť nemá atribút názvu, ale prvok mena. Môžete jednoducho definovať štruktúry, ako sa vám páči. Nikto vás nezaväzuje, aby ste všetky vlastnosti prvkov zapisovali iba do atribútov, môžete použiť iba prvky a zapísať do nich nejaké údaje. Napríklad môžeme zaznamenať meno a titul našich zamestnancov ako atribúty:< ? xml version= "1.0" encoding= "UTF-8" ? > < company> < name> IT- Nebo< / name> < offices> < office floor= "1" room= "1" > < employees> < employee name= "Maksim" job= "Middle Software Developer" > < / employee> < employee name= "Ivan" job= "Junior Software Developer" > < / employee> < employee name= "Franklin" job= "Junior Software Developer" > < / employee> < / employees> < / office> < office floor= "1" room= "2" > < employees> < employee name= "Herald" job= "Middle Software Developer" > < / employee> < employee name= "Adam" job= "Middle Software Developer" > < / employee> < employee name= "Leroy" job= "Junior Software Developer" > < / employee> < / employees> < / office> < / offices> < / company> Ako vidíte, teraz sú jeho atribútmi meno a titul každého zamestnanca. A vidíte, že vo vnútri entity (tagu) zamestnanec nie je nič, všetky prvky zamestnanca sú prázdne. Potom môžete zo zamestnanca urobiť prázdny prvok - po vyhlásení atribútov ho okamžite zatvorte. To sa deje celkom jednoducho, stačí lomítko:< ? xml version= "1.0" encoding= "UTF-8" ? > < company> < name> IT- Nebo< / name> < offices> < office floor= "1" room= "1" > < employees> < employee name= "Maksim" job= "Middle Software Developer" / > < employee name= "Ivan" job= "Junior Software Developer" / > < employee name= "Franklin" job= "Junior Software Developer" / > < / employees> < / office> < office floor= "1" room= "2" > < employees> < employee name= "Herald" job= "Middle Software Developer" / > < employee name= "Adam" job= "Middle Software Developer" / > < employee name= "Leroy" job= "Junior Software Developer" / > < / employees> < / office> < / offices> < / company> Ako vidíte, zatvorením prázdnych prvkov sme zachovali všetku integritu informácií a výrazne sme znížili záznam, vďaka čomu sú informácie stručnejšie a čitateľnejšie. Pridať komentovať (text, ktorý sa má pri analýze súboru preskočiť) v XML existuje nasledujúca syntax:< ! -- Иван недавно уволился, только неделю отработать должен. Не забудьте потом удалить его из списка. -- > A posledný konštrukt je CDATA , znamená „znakové údaje“. Vďaka tomuto dizajnu môžete písať text, ktorý nebude interpretovaný ako značka XML. Je to užitočné, ak máte v súbore XML entitu, ktorá ukladá značky XML do informácií. Príklad:< ? xml version= "1.0" encoding= "UTF-8" ? > < bean> < information> < ! [ CDATA[ < name> Ivan< / name> < age> 26 < / age> ] ] > < / information> < / bean> Zvláštnosťou XML je, že ho môžete rozšíriť, ako len chcete: použite svoje prvky, svoje atribúty a štruktúrujte ho, ako chcete. Na ukladanie údajov môžete použiť atribúty aj prvky (ako je uvedené v predchádzajúcom príklade). Musíte však pochopiť, že svoje vlastné prvky a atribúty môžete vymýšľať za behu a podľa toho, ako chcete, ale čo ak pracujete na projekte, kde chce iný programátor preniesť prvok názvu na atribúty, a celá vaša programová logika je napísaná tak, aby meno bol živel? Ako môžete vytvoriť vlastné pravidlá pre to, aké prvky by mali byť, aké majú atribúty a ďalšie veci, aby ste mohli overiť súbory XML a mať istotu, že sa pravidlá stanú vo vašom projekte štandardnými a nikto ich neporuší? Existujú špeciálne nástroje na napísanie všetkých pravidiel pre vaše vlastné značky XML. Najznámejšie sú DTD a XML Schema. Tento článok sa zameria iba na prvý.

DTD

DTD je navrhnutý tak, aby popisoval typy dokumentov. DTD je už zastaraný a v XML sa aktívne zastáva, ale stále existuje veľa súborov XML, ktoré používajú DTD, a všeobecne je užitočné mu porozumieť. DTD je technológia na validáciu dokumentov XML... DTD deklaruje špecifické pravidlá pre typ dokumentu: jeho prvky, aké prvky môžu byť vo vnútri prvku, atribúty, či sú alebo nie sú povinné, počet ich opakovaní, ako aj entity (Entita). Podobne ako XML je možné DTD vizualizovať pomocou príkladu, ktorý slúži na jasnejšie vysvetlenie.< ! -- Объявление возможных элементов -- > < ! ELEMENT employee EMPTY> < ! ELEMENT employees (employee+ ) > < ! ELEMENT office (employees) > < ! ELEMENT offices (office+ ) > < ! ELEMENT name (#PCDATA) > < ! ELEMENT company (name, offices) > < ! -- Добавление атрибутов для элементов employee и office -- > < ! ATTLIST employee name CDATA #REQUIRED job CDATA #REQUIRED > < ! ATTLIST office floor CDATA #REQUIRED room CDATA #REQUIRED > < ! -- Добавление сущностей -- > < ! ENTITY M "Maksim" > < ! ENTITY I "Ivan" > < ! ENTITY F "Franklin" > Máme taký jednoduchý príklad. V tomto príklade sme z príkladu XML deklarovali celú našu hierarchiu: zamestnanec, zamestnanci, kancelária, kancelárie, meno, spoločnosť. Na vytváranie súborov DTD sa na popis akýchkoľvek súborov XML používajú 3 základné konštrukty: ELEMENT (na popis prvkov), ATTLIST (na popis atribútov pre prvky) a ENTITY (na nahradenie textu skrátenými formami). PRVOK Opisuje položku. Prvky, ktoré je možné v rámci opísaného prvku použiť, sú uvedené v zátvorkách ako zoznam. Na označenie množstva môžete použiť kvantifikátory (sú rovnaké ako kvantifikátory regulárneho výrazu): + znamená 1+ * znamená 0+? znamená 0 \u200b\u200bALEBO 1 Pokiaľ neboli pridané kvantifikátory, uvažuje sa iba s 1 položkou. Keby sme potrebovali jeden zo skupiny prvkov, mohli by sme napísať takto:< ! ELEMENT company ((name | offices) ) > Potom by bol vybraný jeden z prvkov: názov alebo kancelárie, ale ak by vo firme boli naraz dva, potom by sa overenie neuskutočnilo. Môžete si tiež všimnúť, že zamestnanec má slovo PRÁZDNY, čo znamená, že prvok musí byť prázdny. K dispozícii je tiež KAŽDÝ - akékoľvek prvky. #PCDATA - textové údaje. ZOZNAM Slúži na pridávanie atribútov k prvkom. Za ATTLISTOM nasleduje názov požadovaného prvku a za slovník v tvare „názov atribútu - typ atribútu“ môžete na konci pridať # IMPLIED (voliteľné) alebo #REQUIRED (povinné). CDATA - textové údaje. Existujú aj iné typy, ale všetky sú malé. ENTITY ENTITY sa používa na deklaráciu skratiek a textu, ktorý sa na nich nahradí. V skutočnosti môžeme namiesto celého textu jednoducho použiť v XML iba názov entity so znakom & pred a; po. Napríklad: na rozlíšenie medzi značkami HTML a iba znakmi je ľavá hranatá zátvorka často ukončená znakom lt; , stačí uviesť & pred lt. Potom nebudeme používať označenie, ale iba symbol< . Как вы можете видеть, все довольно просто: объявляете элементы, объясняете, какие элементы объявленные элементы способны содержать, добавление атрибутов этим элементам и, по желанию, можете добавить сущности, чтобы сокращать какие-то записи. И тут вы должны были бы спросить: а как использовать наши правила в нашем XML файле? Ведь мы просто объявили правила, но мы не использовали их в XML. Existujú dva spôsoby, ako ich použiť v XML: 1. Injekcia - zápis pravidiel DTD do samotného súboru XML, stačí napísať koreňový element za kľúčové slovo DOCTYPE a náš súbor DTD uzavrieť do hranatých zátvoriek. < ? xml version= "1.0" encoding= "UTF-8" ? > < ! DOCTYPE company [ < ! -- Объявление возможных элементов -- > < ! ELEMENT employee EMPTY> < ! ELEMENT employees (employee+ ) > < ! ELEMENT office (employees) > < ! ELEMENT offices (office+ ) > < ! ELEMENT name (#PCDATA) > < ! ELEMENT company (name, offices) > < ! -- Добавление атрибутов для элементов employee и office -- > < ! ATTLIST employee name CDATA #REQUIRED job CDATA #REQUIRED > < ! ATTLIST office floor CDATA #REQUIRED room CDATA #REQUIRED > < ! -- Добавление сущностей -- > < ! ENTITY M "Maksim" > < ! ENTITY I "Ivan" > < ! ENTITY F "Franklin" > ] > < company> < name> IT- Nebo< / name> < ! -- Иван недавно уволился, только неделю отработать должен. Не забудьте потом удалить его из списка. -- > < offices> < office floor= "1" room= "1" > < employees> < employee name= "&M;" job= "Middle Software Developer" / > < employee name= "&I;" job= "Junior Software Developer" / > < employee name= "&F;" job= "Junior Software Developer" / > < / employees> < / office> < office floor= "1" room= "2" > < employees> < employee name= "Herald" job= "Middle Software Developer" / > < employee name= "Adam" job= "Middle Software Developer" / > < employee name= "Leroy" job= "Junior Software Developer" / > < / employees> < / office> < / offices> < / company> 2. Import - všetky naše pravidlá zapisujeme do samostatného súboru DTD, potom použijeme konštrukciu DOCTYPE z prvej metódy v súbore XML, iba namiesto hranatých zátvoriek musíte napísať SYSTÉM a určiť absolútnu alebo relatívnu cestu k aktuálnemu umiestneniu súboru. < ? xml version= "1.0" encoding= "UTF-8" ? > < ! DOCTYPE company SYSTEM "dtd_example1.dtd" > < company> < name> IT- Nebo< / name> < ! -- Иван недавно уволился, только неделю отработать должен. Не забудьте потом удалить его из списка. -- > < offices> < office floor= "1" room= "1" > < employees> < employee name= "&M;" job= "Middle Software Developer" / > < employee name= "&I;" job= "Junior Software Developer" / > < employee name= "&F;" job= "Junior Software Developer" / > < / employees> < / office> < office floor= "1" room= "2" > < employees> < employee name= "Herald" job= "Middle Software Developer" / > < employee name= "Adam" job= "Middle Software Developer" / > < employee name= "Leroy" job= "Junior Software Developer" / > < / employees> < / office> < / offices> < / company> Môžete tiež použiť kľúčové slovo PUBLIC namiesto SYSTEM, ale je nepravdepodobné, že by bolo pre vás užitočné. Ak máte záujem, môžete si o tom (a tiež o SYSTÉME) podrobne prečítať tu: odkaz. Teraz nemôžeme použiť ďalšie prvky bez toho, aby sme ich deklarovali v DTD, a všetky XML sa riadia našimi pravidlami. Môžete skúsiť napísať tento kód do IntelliJ IDEA do samostatného súboru s príponou .xml a pokúsiť sa pridať nejaké nové prvky alebo odstrániť prvok z nášho DTD a všimnete si, ako vám IDE bude naznačovať chybu. DTD však má svoje nevýhody:
  • Má svoju vlastnú syntax odlišnú od syntaxe xml.
  • DTD nemá kontrolu dátových typov a môže obsahovať iba reťazce.
  • V DTD nie je žiadny menný priestor.
K problému natívnej syntaxe: musíte porozumieť dvom syntaxiam naraz: syntaxe XML a DTD. Sú rôzne a to vás môže zmiasť. Z tohto dôvodu je tiež ťažšie sledovať chyby v obrovských súboroch XML v spojení s rovnakými schémami DTD. Ak vám niečo nefunguje, musíte skontrolovať obrovské množstvo textu v rôznych syntaxiach. Je to ako čítať dve knihy súčasne: v ruštine a v angličtine. A ak sú vaše znalosti jedného jazyka horšie, bude ťažšie porozumieť textu. K problému kontroly dátových typov: atribúty v DTD majú rôzne typy, ale všetko sú to v podstate reťazcové reprezentácie niečoho, zoznamy alebo odkazy. Nemôžete však požadovať iba čísla, nehovoriac o kladných alebo záporných hodnotách. Na typy objektov môžete úplne zabudnúť. Poslednému problému sa budeme venovať v nasledujúcom článku, ktorý sa bude venovať menným priestorom a schémam XML, pretože je zbytočné ich tu diskutovať. Ďakujem všetkým za pozornosť, odviedol som skvelú prácu a pokračujem v tom, aby som celú sériu článkov dokončil včas. V zásade mi zostáva doriešiť schémy XML a prísť s ich jasnejším vysvetlením, aby som dokončil 2. článok. Polovica z nich je už hotová, takže môžete čoskoro očakávať. Posledný článok bude úplne venovaný práci so súbormi XML pomocou Javy. Veľa šťastia všetkým a úspech v programovaní :) Ďalší článok:

Lucinda Dykes, Ed Tittel

XML je značkovací jazyk, ktorý vytvára webové stránky. Predtým, ako začnete používať XML, osvojte si rozdiel medzi platným dokumentom a dobre formovaným dokumentom, ako vytvárať prvky DTD (Document Type Definition) a základné deklarácie schémy na vytvorenie dokumentu XML. Budete tiež rozumieť pravidelne používaným vyhradeným znakom a tým, ktoré webové prehľadávače najlepšie podporujú XML a šablóny štýlov.

Platný verzus dobre formovaný dokument XML

V XML musí platný dokument zodpovedať pravidlám vo svojej DTD (definícia typu dokumentu) alebo schéme, ktorá definuje, ktoré prvky sa môžu v dokumente zobraziť a ako sa môžu navzájom prispôsobiť. Ak je dokument zle tvarovaný, vo svete XML veľmi nepostúpi, takže pri vytváraní dokumentu XML musíte postupovať podľa niektorých veľmi jednoduchých pravidiel. A dobre sformulovaný dokument musí mať nasledujúce komponenty:

    Všetky počiatočné a koncové značky sú rovnaké. Inými slovami, otváracia a zatváracia časť musí vždy obsahovať rovnaký názov v rovnakom prípade: ... alebo ..., ale nie ....

    Prázdne prvky sa riadia špeciálnou syntaxou XML .

    Všetky hodnoty atribútov sa zobrazujú v jednoduchých alebo dvojitých úvodzovkách: id \u003d "hodnota"\u003e alebo .

Pravidlá pre vytváranie definícií typu dokumentu alebo prvkov DTD

V zásade pripravíte a použijete definíciu typu dokumentu (DTD) na pridanie štruktúry a logiky, čo vám uľahčí zabezpečenie dostupnosti všetkých požadovaných funkcií - v správnom poradí - vo vašom dokumente XML. V DTD môžete vytvoriť mnoho pravidiel, ktoré určujú, ako sa dajú prvky používať v dokumente XML.

Symbol Hodnota Príklad
#PCDATA Obsahuje analyzované znaky alebo text
#PCDATA názov-prvku Obsahuje text a ďalšie prvky; #PCDATA sa v pravidle zobrazuje vždy ako prvý dieťa) *\u003e
, (čiarka) Musí sa použiť v tomto poradí dieťa3)\u003e
| (panel potrubia) Použite iba jednu z uvedených možností dieťa3)\u003e
názov prvku (sám o sebe) Používajte iba jedno meno
názov prvku? dieťa3?)\u003e
názov položky + Použite jeden alebo viackrát dieťa3)\u003e
názov prvku * Použite raz, viackrát alebo vôbec dieťa3)\u003e
() Označuje skupiny; môžu byť vnorené alebo
dieťa4)\u003e

Základné deklarácie schémy XML

Dokument schémy XML je zostavený zo série vyhlásení, ktoré poskytujú veľmi podrobné informácie a zaisťujú, aby informácie obsiahnuté v dokumente XML boli v správnej forme.

Oznámenie Vymenovanie Syntax
Schéma Určuje jazyk, ktorý schéma používa xmlns: xsd \u003d "// www. w3. org / 2001 / XMLSchema"\u003e
Prvok Definuje prvok
Atribút Definuje atribút type \u003d "type"\u003e
Zložitý typ Definuje prvok, ktorý obsahuje ďalšie prvky, obsahuje atribúty
alebo obsahuje zmiešaný obsah (prvky a text)
Jednoduchý typ Vytvorí obmedzený dátový typ pre prvok alebo atribút
hodnotu
Sekvenčný linker Označuje, že atribúty alebo prvky sú zložitého typu
by mali byť uvedené v poradí
Skladateľ voľby Označuje, že je možné použiť ktorýkoľvek z atribútov alebo prvkov v komplexnom type
Všetci skladatelia Označuje, že je možné použiť ktorýkoľvek alebo všetky atribúty alebo prvky v komplexnom type
anotácia Obsahuje prvky dokumentácie a / alebo appInfo, ktoré poskytujú
ďalšie informácie a komentáre k schematickému dokumentu
Dokumentácia Poskytuje čitateľné informácie v anotáciách
Informácie o aplikácii Poskytuje počítačom čitateľné informácie vo vnútri
anotácia

Bežné vyhradené znaky v XML

Niektoré objekty sú vyhradené na interné použitie v XML a musia byť vo vašom obsahu nahradené symbolickými odkazmi. Týchto päť bežne používaných interných objektov je už definovaných ako súčasť XML a sú pripravené na použitie:

CSS1?

XSLT 1.0? Áno Áno Nie Nie
Internet Explorer 6.0 Áno Áno Áno Áno
Mozilla 1. 7. 5 Áno Áno Áno Áno
Mozilla Firefox 1.0 Áno Áno Áno Áno
Netscape Navigator 7 Áno Áno Áno Áno
Opera 7 Áno Áno Áno Nie

XML bolo vytvorené s cieľom popísať údaje s ohľadom na to, o aké údaje ide.

HTML bolo vytvorené na zobrazovanie údajov s ohľadom na to, ako zobrazené dáta vyzerajú.

Čo je to XML?

  • XML znamená ROZŠÍRITEĽNÝ Značkovací jazyk
  • XML je značkovací jazykpodobne ako HTML
  • XML bol vytvorený pre popisy údajov
  • Značky XML nie sú preddefinované. Môžeš použite svoje značky
  • Používa XML Definícia typu dokumentu (DTD) alebo schéma XML pre popis údajov
  • XML odporúčané W3C

Hlavný rozdiel medzi XML a HTML

XML bolo navrhnuté na prenos údajov.

XML nenahrádza HTML.

XML a HTML boli vyvinuté na rôzne účely:

  • XML bolo vytvorené na popis údajov a zameriava sa na to, aké údaje sa prenášajú
  • HTML bolo navrhnuté na zobrazovanie údajov so zameraním na zobrazovanie údajov
  • HTML je teda viac o zobrazovaní informácií, zatiaľ čo XML je viac o popisovaní informácií.

XML nerobí nič

XML nebol zostavený tak, aby podnikal akékoľvek kroky.

Môže to byť zložité pochopiť, ale XML nerobí nič. Tento značkovací jazyk bol vytvorený na štruktúrovanie, ukladanie a komunikáciu informácií. Nasledujúci príklad je poznámka od Antona Iru prezentovaná v XML:

Ira

Anton

Pripomienka

Nezabudnite sa stretnúť tento týždeň!

Ako vidíte, XML je veľmi výstižné.

Poznámka ( ) sa skladá z hlavičky ( ) a obsah ( ) písmená. Obsahuje odosielateľa (značka - "od koho písmeno") a príjemca (značka - „komu“). Tento list však nič nerobí. Toto je čistá informácia zabalená v značkách. Aby bolo možné tieto informácie odosielať, prijímať a zobrazovať, musí niekto napísať program.

XML - bezplatný rozšíriteľný značkovací jazyk

Značky XML nie sú preddefinované. Môžete zadať svoje značky.

Značky a štruktúra dokumentu v HTML sú preddefinované. Tvorca html dokumentu môže používať iba značky definované normami.

XML umožňuje autorovi dokumentu xml zadať svoje značky a štruktúru dokumentu. Značky uvedené v príklade (napríklad a ) nie sú definované štandardom XML. Tieto značky zavádza autor dokumentu.

XML je komplementárne k HTML

XML nenahrádza HTML.

Je dôležité si uvedomiť, že XML nenahrádza HTML. V budúcnosti budú weboví vývojári na popis údajov používať XML, zatiaľ čo na ich formátovanie a zobrazovanie sa použije formát HTML.

Moja najlepšia definícia XML je táto: XML je multiplatformný, softvérový a hardvér-agnostický komunikačný nástroj.

Poznámka: Cross-platform - vhodný pre akýkoľvek operačný systém a akýkoľvek hardvér.

Ak viete, okrem známeho systému Windows existujú aj rôzne operačné systémy. Jedná sa o Linux, Mac a ďalšie.

Čo sa týka hardvéru, môžeme povedať nasledovné: môžu to byť bežné PC, notebooky, vreckové počítače atď.

XML v budúcom vývoji webu

XML sa bude používať všade.

Boli sme svedkami vývoja XML od jeho vzniku. Bolo úžasné sledovať, ako rýchlo sa vyvinul štandard XML a ako rýchlo si tento štandard osvojilo veľké množstvo dodávateľov softvéru. Pevne veríme, že XML bude pre budúcnosť internetu rovnako dôležitý ako HTML, ktoré je základom internetu, a že XML bude najrozšírenejším nástrojom na všetku manipuláciu a prenos údajov.

Dnes začneme uvažovať o veľmi populárnom a pohodlnom značkovací jazyk XML... Keďže tento formát prezentácie údajov je veľmi flexibilný a univerzálny a dá sa použiť takmer všade, myslím tým, že sa za niečo hanbíte. Preto sa skôr alebo neskôr začiatočník programátor bude musieť vyrovnať s týmto jazykom a nezáleží na tom, čo konkrétne robíte, či už je to programovanie webu alebo správa databáz, pretože každý používa XML a vy ho tiež použijete na implementáciu úloh, ktoré potrebujete.

Začneme ako obvykle teóriou, pozrime sa, aký je to jazyk, prečo je dobrý, ako ho používať a kde sa používa.

Definícia jazyka XML

XML (rozšíriteľný značkovací jazyk) Je univerzálny a rozšíriteľný značkovací jazyk, ktorý je nezávislý od operačného systému a prostredia spracovania. XML slúži na predstavenie niektorých údajov vo forme štruktúry a túto štruktúru môžete vytvoriť sami alebo ich upraviť pre konkrétny program alebo službu. Preto sa tento jazyk nazýva rozšíriteľný a to je jeho hlavná výhoda, pre ktorú je tak cenený.

Ako viete, existuje pomerne veľa značkovacích jazykov, napríklad HTML, ale všetky tak či onak závisia od obslužného programu, napríklad rovnaký html, ktorého kód je analyzovaný prehliadačom, je štandardizovaný a nie je rozšíriteľný, existujú jasné značky, syntax, ktorú nemožno prelomiť, a v xml si môžete vytvoriť svoje vlastné značky, t.j. vaše označenie. Hlavný rozdiel medzi HTML a XML je v tom, že html popisuje iba označenie pre zobrazovanie údajov a xml je abstraktná dátová štruktúra, ktorú je možné spracovávať a zobrazovať, ako sa vám páči a kdekoľvek, a preto nemusíte tieto jazyky porovnávať, majú úplne odlišné účely.

Ako už bolo uvedené vyššie, xml je veľmi bežný a univerzálny jazyk, vďaka ktorému ho takmer všetky aplikácie, webové aj len pre počítač, používajú ako výmenu informácií, pretože sa ním dá veľmi ľahko vymieňať dáta medzi aplikáciami alebo službami, ktoré sú dokonca písané. rôzne jazyky. V tejto súvislosti by mal mať každý začínajúci programátor, ktorý sa venuje absolútne akémukoľvek programovaniu, znalosti jazyka XML. Ak sa chcete stať webovým majstrom, musíte jednoducho vedieť XML a už sme uvažovali o tom, ako sa stať WEBovým majstrom a čo všetko k tomu potrebujete vedieť.

Napríklad kedysi som mal úlohu napísať službu, ktorá by mala na požiadanie vrátiť dáta vo forme xml, t.j. trochu rozvinúť serverovú stranu aplikácie a vôbec som netušil, na čom je klient napísaný, že spracuje tieto dáta, a to, že som napísal službu, ktorá vrátila dáta ako xml a je to, aplikácia fungovala dobre. A toto je len príklad, ktorému som musel čeliť, a teraz si predstavte, koľko rôznych organizácií spolupracuje a svedomite vyvíja softvér a vymieňa si dáta, a tak by ma neprekvapilo, že tieto dáta budú vo forme xml.

Napríklad kedysi som mal úlohu napísať určitú službu, ktorá by mala na požiadanie vrátiť dáta vo forme xml, t.j. trochu rozvinúť serverovú stranu aplikácie a vôbec som netušil, na čom je klient napísaný, že spracuje tieto dáta, a to, že som napísal službu, ktorá vrátila dáta ako xml a je to, aplikácia fungovala dobre. A toto je len príklad, ktorému som musel čeliť, a teraz si predstavte, koľko rôznych organizácií spolupracuje a svedomite vyvíja softvér a vymieňa si dáta, a tak by ma neprekvapilo, že tieto dáta budú vo forme xml.

Tiež som raz musel ukladať údaje XML vo formáte MS SQL 2008, aby som ich mohol lepšie reprezentovať a vymieňať si ich medzi serverom a klientskou časťou aplikácie, o čom sme hovorili v článku - Transact-sql - Práca s XML.

Samotné XML je veľmi jednoduché a je jednoducho nemožné sa v ňom zamieňať, všetka zložitosť vzniká práve pri spracovaní a interakcii xml s inými aplikáciami, technológiami, t.j. všetko, čo obklopuje xml, čo je presne to, o čom sa môžete ľahko mýliť.

Dnes s vami hovoríme iba o základoch XML a nebudeme sa zameriavať na technológie spracovania a interakcie s týmto jazykom, pretože je to pravda, veľmi objemný materiál, ale myslím si, že v budúcnosti sa budeme s príbuznými technológiami oboznamovať aj naďalej.

Poďme do praxe. A všetky príklady, ktoré zvážime, napíšem v programe Poznámkový blok ++ len preto, že je to veľmi pohodlné, ale nebudeme o tom hovoriť teraz, pretože sme to už zvážili v článku - Čo je dobré pre začínajúceho vývojára Poznámkový blok ++.

XML tagy

XML na značkovanie používa značky ( značky rozlišujú veľké a malé písmená), ale nie také značky ako v html, ale také, ktoré si sami vymyslíte, ale dokument xml má tiež jasnú štruktúru, t.j. existuje otváracia značka a koncová značka, existujú vnorené značky a samozrejme existujú hodnoty, ktoré sa nachádzajú v týchto značkách. Inými slovami, na začiatok je potrebné dodržiavať iba tieto pravidlá. Spoločne sa otváracia, záverečná značka a hodnota nazývajú prvok a celý dokument xml sa skladá presne z prvkov, ktoré spolu tvoria dátovú štruktúru. Dokument XML môže mať iba jeden koreňový prvok, pamätajte na to, pretože ak napíšete dva koreňové prvky, bude to chyba.

A je čas uviesť príklad značenia xml a prvý príklad pre syntax:

<Начало элемента> <Начало вложенного элемента> Hodnota čiastkového prvku

Ako vidíte, všetko je celkom jednoduché a takýchto vnorených prvkov môže byť veľa.

Teraz uveďme príklad, skutočný dokument vo formáte XML:

Ako vidíte, práve som tu uviedol príklad akéhosi knižného katalógu, ale tento dokument som nedeklaroval t.j. nenapísal deklaráciu XML, ktorá hovorí aplikácii, ktorá tieto dáta spracuje, že dáta sa tu nachádzajú presne xml a v akom kódovaní sú prezentované. Môžete tiež písať komentáre a atribúty, takže uvedieme príklad takého dokumentu:

Kniha 1 Ivan Stačí si zarezervovať 1 Kniha 2 Sergej Stačí si zarezervovať 2 Kniha 3 Román Len si zarezervujte 3

Prvý riadok predstavuje vyhlásenie o tom, že sa jedná o dokument XML, a musí sa čítať v kódovaní UTF-8.

Tieto údaje bez spracovania budú vyzerať napríklad v prehliadači (Mozilla Firefox) takto:

Dúfam, že pochopíte, že tu je katalóg koreňovým prvkom, ktorý sa skladá z knižných prvkov, ktorý sa zase skladá z prvkov mena, autora a komentára. Tiež som napríklad nastavil niekoľko atribútov pre katalógový a knižný prvok.

Na úvod si myslím, že to stačí, pretože ak sa ponoríme hlbšie a hlbšie do XML a všetkých technológií spojených s týmto jazykom, potom tento článok nikdy neskončí. Takže to je na dnes všetko. Zatiaľ!

O XML ste už určite počuli a viete veľa dôvodov, prečo by sa mal vo vašej organizácii používať. Čo to ale XML vlastne je? Tento článok vysvetľuje, čo je XML a ako funguje.

V tomto článku

Značky, značky a značky

Pre pochopenie XML je užitočné zamyslieť sa nad tým, ako môžete označovať údaje. Dokumenty vytvorili ľudia po celé storočia a ľudia si za ten čas robili poznámky. Napríklad učitelia často označujú študentské práce, aby označili potrebu presunúť odseky, objasniť vety, opraviť pravopisné chyby atď. Označením dokumentu môžete definovať štruktúru, význam a vzhľad informácií. Ak ste niekedy používali opravy programu Microsoft Office Word, potom ste oboznámení s počítačovým formulárom značiek.

Vo svete informačných technológií sa výraz „označovanie“ stal výrazom „označovanie“. Značky používajú kódy nazývané značky (alebo niekedy tokeny) na definovanie štruktúry, vizuálneho dizajnu a v prípade XML aj významu údajov.

Text HTML tohto článku je dobrým príkladom použitia počítačových značiek. Ak v aplikácii Microsoft Internet Explorer kliknete pravým tlačidlom myši na túto stránku a zvolíte možnosť Zobraziť HTML kóduvidíte čitateľný text a značky HTML ako

A

... V dokumentoch HTML a XML sú značky ľahko rozpoznateľné, pretože sú uzavreté v lomených zátvorkách. V pôvodnom texte tohto článku slúžia značky HTML na mnoho funkcií, napríklad na určenie začiatku a konca každého odseku (

...

) a umiestnenie obrázkov.

Výrazné vlastnosti XML

Dokumenty HTML a XML obsahujú označené údaje, ale tým podobnosti medzi týmito dvoma jazykmi končia. V HTML tagy definujú, ako sú dáta štylizované - umiestnenie nadpisov, začiatok odseku atď. V XML tagy definujú štruktúru a význam dát - čo to je.

Opisom štruktúry a významu údajov je možné ich opakovane použiť niekoľkými spôsobmi. Napríklad, ak máte blok údajov o predaji, z ktorých každý je jasne definovaný, môžete do výkazu o predaji načítať iba potrebné prvky a preniesť ďalšie údaje do účtovnej databázy. Inými slovami, môžete použiť jeden systém na generovanie a označovanie údajov vo formáte XML a následné spracovanie týchto údajov na akomkoľvek inom systéme bez ohľadu na platformu klienta alebo operačný systém. Vďaka tejto interoperabilite je XML základom jednej z najpopulárnejších technológií výmeny údajov.

Pri práci zvážte toto:

    HTML nemôže byť použitý namiesto XML. Údaje XML však môžu byť zabalené do značiek HTML a zobrazené na webových stránkach.

    Možnosti HTML sú obmedzené na preddefinovanú sadu značiek, ktoré sú spoločné pre všetkých používateľov.

    Pravidlá XML vám umožňujú vytvárať ľubovoľné značky potrebné na popis údajov a ich štruktúry. Povedzme, že musíte ukladať a zdieľať informácie o domácich miláčikoch. Ak to chcete urobiť, môžete vytvoriť nasledujúci súbor XML:

    Izzy Siamská 6 Áno č Izz138bod Colin wilcox

Ako vidíte, tagy XML vám povedia, aké údaje si prezeráte. Je napríklad zrejmé, že ide o údaje o mačke, a môžete ľahko určiť ich meno, vek atď. Vďaka schopnosti vytvárať značky definujúce takmer akúkoľvek štruktúru údajov je XML rozšíriteľný.

Nezamieňajte však značky v tomto príklade so značkami v súbore HTML. Ak napríklad vložíte vyššie uvedený text XML do súboru HTML a otvoríte ho v prehliadači, výsledky budú vyzerať takto:

Izzy Siamese 6 áno nie Izz138bod Colin Wilcox

Webový prehliadač bude ignorovať značky XML a zobrazí iba údaje.

Dobre sformulované údaje

Pravdepodobne ste už počuli hovoriť niektorých odborníkov v oblasti IT o „dobre formovanom“ súbore XML. Kvalitne zostavený súbor XML musí dodržiavať veľmi prísne pravidlá. Ak nebude dodržiavať tieto pravidlá, XML nebude fungovať. Napríklad v predchádzajúcom príklade má každá začiatočná značka zodpovedajúcu koncovú značku, takže v tomto príklade je splnené jedno z pravidiel správne vytvoreného súboru XML. Ak zo súboru odstránite značku a pokúsite sa ju otvoriť v jednom z programov balíka Office, zobrazí sa chybové hlásenie a nebudete môcť takýto súbor použiť.

Pravidlá generovania dobre formovaného súboru XML nemusíte poznať (aj keď sú ľahko pochopiteľné), nezabudnite však, že dobre formulované údaje XML môžete použiť iba v iných aplikáciách a systémoch. Ak sa súbor XML neotvorí, je pravdepodobne poškodený.

XML je nezávislý na platforme, čo znamená, že akýkoľvek program vytvorený na používanie XML môže čítať a spracovávať údaje XML bez ohľadu na hardvér alebo operačný systém. Napríklad ak použijete správne značky XML, môžete pomocou desktopového programu otvoriť a spracovať údaje z sálového počítača. A bez ohľadu na to, kto vytvoril údaje XML, môžete s údajmi pracovať v rôznych aplikáciách balíka Office. Vďaka svojej interoperabilite sa XML stal jednou z najpopulárnejších technológií na výmenu údajov medzi databázami a počítačmi používateľov.

Okrem dobre tvarovaných označených údajov systémy XML zvyčajne používajú dva ďalšie komponenty: schémy a transformácie. Nasledujúce časti popisujú, ako fungujú.

Schéma

Nenechajte sa zastrašiť pojmom „schéma“. Schéma je jednoducho súbor XML, ktorý obsahuje pravidlá pre obsah dátového súboru XML. Súbory schémy majú zvyčajne príponu .XSD, zatiaľ čo dátové súbory XML používajú príponu XML.

Schémy umožňujú programom overiť údaje. Tvoria štruktúru údajov a robia ich zrozumiteľnými pre tvorcu a ostatných ľudí. Ak napríklad používateľ zadá neplatné údaje, napríklad text do poľa s dátumom, program ho môže vyzvať, aby ich opravil. Ak údaje v súbore XML zodpovedajú pravidlám v schéme, môžete na ich čítanie, interpretáciu a spracovanie použiť akýkoľvek program, ktorý podporuje XML. Ako je napríklad znázornené na obrázku nižšie, program Excel môže overiť údaje súlad so schémou CAT.

Diagramy môžu byť zložité a tento článok nedokáže vysvetliť, ako ich vytvoriť. (Je tiež pravdepodobné, že vaša organizácia má IT pracovníkov, ktorí vedia, ako to urobiť.) Je však užitočné vedieť, ako vyzerajú diagramy. Nasledujúci diagram definuje pravidlá pre skupinu značiek ... :

Nerobte si starosti, ak príklad nie je jasný. Len venujte pozornosť nasledujúcemu:

    Vložené prvky v príkladnej schéme sa nazývajú vyhlásenia. Ak by boli potrebné ďalšie informácie o zvierati, napríklad farba alebo špeciálne vlastnosti, IT by pridalo do diagramu reklamy. Systém XML je možné upravovať podľa toho, ako sa vyvíjajú obchodné potreby.

    Deklarácie sú výkonné nástroje na manipuláciu s dátovými štruktúrami. Napríklad vyhlásenie znamená značky ako napr a je potrebné postupovať vo vyššie uvedenom poradí. Môžete tiež použiť vyhlásenia na overenie typov vstupov používateľov. Napríklad vyššie uvedená schéma vyžaduje kladné celé číslo pre vek mačky a logické hodnoty (TRUE alebo FALSE) pre značky ALTERED a DECLAWED.

    Ak údaje v súbore XML zodpovedajú pravidlám schémy, potom sa hovorí, že sú platné. Proces overovania, či dátový súbor XML vyhovuje pravidlám schémy, sa nazýva (logicky dosť) validácia. Veľkou výhodou použitia schém je, že môžu zabrániť poškodeniu údajov. Schémy taktiež uľahčujú vyhľadanie poškodených údajov, pretože keď sa vyskytne tento problém, spracovanie súboru XML sa zastaví.

Premeny

Ako bolo uvedené vyššie, XML umožňuje aj efektívne využitie a opätovné použitie údajov. Mechanizmus opätovného použitia údajov sa nazýva transformácia XSLT (alebo jednoducho transformácia).

Vy (alebo vaše IT oddelenie) môžete tiež použiť transformácie na výmenu údajov medzi systémami typu back-end, napríklad medzi databázami. Predpokladajme, že databáza A ukladá údaje o predaji do tabuľky, ktorá je vhodná pre obchodné oddelenie. Databáza B ukladá údaje o príjmoch a výdavkoch do tabuľky špeciálne navrhnutej pre účtovníctvo. Databáza B môže pomocou transformácie prevziať údaje z databázy A a umiestniť ich do príslušných tabuliek.

Kombinácia dátového súboru, schémy a transformácie tvorí základný systém XML. Nasledujúci obrázok ukazuje fungovanie týchto systémov. Dátový súbor sa porovná s pravidlami schémy a potom sa vhodným spôsobom odovzdá na transformáciu. V takom prípade transformácia umiestni údaje do tabuľky na webovej stránke.

Nasledujúci príklad poskytuje transformáciu, ktorá načíta údaje k tabuľke na webovej stránke. Účelom tohto príkladu nie je vysvetliť, ako vytvoriť transformácie, ale ukázať jednu z foriem, ktoré môžu mať.

názov Plemeno Vek Zmenené Deklarovaný Licencia Majiteľ

Tento príklad ukazuje, ako môže vyzerať text jedného z typov konverzie, nezabudnite však, že sa môžete obmedziť na jasný popis toho, čo z údajov potrebujete, a tento popis je možné vykonať vo vašom vlastnom jazyku. Môžete ísť napríklad na IT oddelenie a povedať, že chcete vytlačiť údaje o predaji pre konkrétne regióny za posledné dva roky a že informácie by mali vyzerať takto a tamto. Katedra potom môže napísať (alebo upraviť) konverziu, aby splnila vašu požiadavku.

Spoločnosť Microsoft a rastúci počet ďalších spoločností vytvárajú transformácie pre rôzne úlohy, aby bolo používanie XML ešte pohodlnejšie. V budúcnosti si s najväčšou pravdepodobnosťou budete môcť stiahnuť transformáciu, ktorá vyhovuje vašim potrebám, bez ďalšej konfigurácie alebo s malými zmenami. To znamená, že používanie XML bude časom čoraz menej nákladné.

XML v systéme Microsoft Office

Profesionálne vydania balíka Office poskytujú vylepšenú podporu XML. Počnúc systémom Microsoft Office 2007 systém Microsoft Office používa formáty súborov založené na XML, napríklad DOCX, XLSX a PPTX. Pretože XML ukladá údaje skôr v textovom formáte ako v natívnom binárnom formáte, zákazníci môžu definovať svoje vlastné schémy a používať vaše dáta mnohými rôznymi spôsobmi, bez nutnosti platiť autorské honoráre. Ďalšie informácie o nových formátoch nájdete v článku Otvorené formáty XML a prípony súborov. Ďalšie výhody sú uvedené nižšie.

To je všetko super, ale čo ak máte údaje XML bez schémy? Závisí to od toho, aký program balíka Office používate. Napríklad keď otvoríte súbor XML bez schémy v programe Excel, predpokladá sa, že schéma existuje a dá vám možnosť načítať údaje do tabuľky XML. Na triedenie, filtrovanie a výpočet údajov môžete použiť zoznamy a tabuľky XML.

Povolenie nástrojov XML v balíku Office

V predvolenom nastavení sa karta Vývojár nezobrazuje. Musí sa pridať na pás s nástrojmi, aby sa v balíku Office mohli používať príkazy XML.