Použití XML ve Flashi. K přenosu slouží přenos dat přes XML Xml

V operačním systému Windows ukládá většina programů svá nastavení do registru. K ukládání nastavení aplikace se však často používají také speciální soubory, které se obvykle nacházejí přímo v adresářích se spustitelnými soubory nebo v podsložkách. Konfigurační soubory mohou mít různé formáty, včetně formátu XML, který je předmětem tohoto krátkého článku.

Co je to formát XML, k čemu slouží a kde se používá

Po pravdě řečeno, cíle, pro které byl formát XML vytvořen (objevil se v roce 1996), byly takříkajíc globální. XML, neboli eXtensible Markup Language, byl vyvinut jako prostředek k zajištění interoperability pro přenos strukturovaných dat mezi různými softwarovými systémy, zejména těmi, které se používají na internetu. Tento jazyk je natolik univerzální, že XML souborům rozumí i nekompatibilní aplikace různých operačních systémů, což samozřejmě značně zjednodušuje úkol programátorů při výměně informací mezi softwarovými platformami.

Kromě toho se XML aktivně používá v designu webových stránek. Někdy je propagován jako pokročilejší a všestrannější analog hypertextového značkovacího jazyka HTML, ale tyto jazyky ve skutečnosti slouží jiným účelům. HTML je primárně odpovědné za zobrazování dat, zatímco XML bylo navrženo pro přenos a ukládání těchto dat. XML se také používá k vytváření nových internetových jazyků. Mimochodem, pro mnohé známé RSS, používané v distribuci prostřednictvím zpravodajských kanálů, je založeno právě na XML.

Programy pro otevírání a prohlížení souborů ve formátu XML

Přišli jsme na to, o jaký formát XML se jedná, nyní se pojďme podívat, jak s ním pracovat. Po pravdě řečeno, vývojáři a správci systému obvykle čelí potřebě upravovat soubory XML, ale stále předpokládejme, že máte stejnou potřebu. Jak otevřít soubor XML? Obecně jej můžete zobrazit pomocí libovolného textového editoru, dokonce i programu Poznámkový blok, ale pro tyto účely je mnohem pohodlnější použít speciální programy.

Poznámkový blok++

Pokud hledáte něco, čím byste mohli otevřít XML, zkuste to Poznámkový blok++– univerzální textový editor určený pro tvorbu a úpravu kódu. Lehký, rychlý a jednoduchý, je ideální pro práci se všemi druhy konfiguračních souborů. Editor podporuje zvýrazňování syntaxe, změnu kódování, je zde zabudované výkonné vyhledávání různých parametrů, jedním slovem vše, co programátor a nejen on potřebuje.

XMLPad

Na rozdíl od Notepad++, XMLPad je vysoce specializovaný editor. To je přesně to, co můžete a měli byste použít k otevření formátu XML, protože byl vytvořen speciálně pro práci se soubory tohoto typu. Kromě prohlížení a úprav dokumentů XML podporuje editor XMLPad ověřování a kontrolu dokumentů, převod do DTD, import dat z HTML a mnoho dalšího. Podle očekávání má aplikace podporu syntaxe a nástroj pro vyhledávání a nahrazování. Jednou z funkcí programu je přítomnost vestavěného mini-prohlížeče pro otevírání URL odkazů.

Pro ty, kteří to s učením webových jazyků myslí vážněji, můžeme nabídnout pokročilý a zároveň jednoduchý a pohodlný XML editor na platformě Java. Program podporuje tvorbu a úpravu souborů XML, XSL, XSD a DTD, dále má vestavěný převodník na skripty, debugger XSLT a XQuery, nástroje pro práci s vizuálními XML diagramy a mnoho dalších komponent. Nevýhody - program je placený a nepodporuje ruský jazyk.

XML Marker

Dobrým způsobem, jak otevřít soubor XML, je použít jednoduchý editor XML Marker. Není tak propracovaný jako Oxygen XML Editor, ale dobře si poradí s většinou úkolů, kterým uživatel čelí při práci se soubory XML. Nechybí znázornění stromové struktury dokumentu s možností rychlé navigace na vybrané řádky pomocí značek, pohodlná navigace a kompletní sada nástrojů pro práci s textovými daty. Nevýhodou programu je, že neexistuje ruský jazyk.

Prohlížeče

Existuje další jednoduchý způsob, jak číst soubor XML, zde však mluvíme pouze o čtení. Otevřete novou kartu v prohlížeči Google Chrome nebo v jakémkoli jiném prohlížeči a přetáhněte soubor XML do okna prohlížeče. Dokument bude prezentován ve strukturované podobě, se zvýrazněním syntaxe, vše jak má být.

Prohlížejte si soubory XML online

S dokumenty XML můžete pracovat nejen pomocí desktopových programů, je také snadné otevřít XML online. Zde jsou dva jednoduché online editory, které byste měli zvážit.

XmlGrid

Jednoduše vypadající, ale docela funkční online editor souborů XML, dostupný na xmlgrid.net. Služba podporuje tvorbu, úpravu, validaci a konverzi XML dokumentů a navíc má funkci navrhování map stránek. Kód upraveného souboru lze vložit do webového formuláře ze schránky, prostřednictvím adresy URL nebo nahráním samotného dokumentu na server. Obsah souboru je zobrazen jako datová tabulka, ve které je každé pole samostatnou buňkou.

XML EDITOR

Soubor XML můžete otevřít také online pomocí online XML EDITORU, který je součástí sady aplikací TutorialsPoint, jednoho z největších výukových zdrojů. Chcete-li službu používat, přejděte na www.tutorialspoint.com, klikněte na odkaz „Nástroje“ v horní části stránky, v seznamu webových aplikací najděte XML EDITOR a otevřete jej. Zobrazí se jednoduché okno textového editoru se dvěma sloupci. V levém se píše a upravuje kód, v pravém je zobrazena stromová struktura dokumentu. Soubor můžete do editoru nahrát buď ze svého počítače, nebo z libovolného webu zadáním adresy URL.

Jazyk XML již přitáhl poměrně velkou pozornost vývojářů a uživatelů internetu. Počet přívrženců této nové technologie dnes roste stejně rychle jako počet zpráv o dalších překážkách, které na cestě k všeobecnému uznání překonala. Navzdory tomu, že XML je velmi mladé (mezinárodní organizace W3C schválila specifikaci „Extensible Markup Language (XML) 1.0“ o něco méně než před rokem – začátkem února 1998) a jednotlivé komponenty tohoto jazyka se stále dokončují, nové Již dnes se objevují jazyky vytvořené na základě XML, objevují se četné webové servery, které tuto technologii využívají k organizaci informací na nich uložených. Internetový svět kolem nás se opět proměňuje a my se dnes můžeme stát účastníky tohoto procesu

Účelem tohoto článku je pokusit se na konkrétních příkladech ukázat některé schopnosti XML a odpovědět na řadu otázek, které se při seznamování s novým jazykem často objevují. Co je XML? Jaké jsou jeho výhody oproti jazyku HTML, který již známe? Můžete dnes používat XML na svých webových stránkách? A pokud je to možné, tak jak?

Na konci článku jsou odkazy na další internetové zdroje, s jejichž pomocí můžete také získat úplnější informace o konkrétních otázkách, které vás zajímají, souvisejících s používáním XML a kterými se nezabýváme v tomto článku. Kompletní specifikace pro XML a související jazyky jsou k dispozici na oficiální stránce W3C -

Proč potřebujeme nový značkovací jazyk?

Mnohem jednodušší a pohodlnější než SGML vám jazyk HTML umožňuje určit návrh prvků dokumentu a má určitou omezenou sadu instrukcí - značek, s jejichž pomocí se provádí proces označování. Instrukce HTML jsou primárně určeny k řízení procesu zobrazování obsahu dokumentu na obrazovce klientského programu a tím určují způsob prezentace dokumentu, nikoli však jeho strukturu. Prvek hypertextové databáze, popisovaný pomocí HTML, je textový soubor, který lze snadno přenášet po síti pomocí protokolu HTTP. Tato funkce, stejně jako skutečnost, že HTML je otevřený standard a obrovské množství uživatelů má možnost využít možnosti tohoto jazyka k návrhu svých dokumentů, jistě ovlivnily růst popularity HTML a učinily z něj dnes hlavní mechanismus pro prezentaci informací na webu

Moderní aplikace však vyžadují nejen jazyk pro prezentaci dat na obrazovce klienta, ale také mechanismus, který umožňuje určit strukturu dokumentu a popsat prvky, které obsahuje. HTML má jednoduchou sadu příkazů a docela úspěšně se vyrovnává s úkolem popsat textové informace a zobrazit je na obrazovce prohlížeče prohlížeče. Zobrazená data však sama o sobě nijak nesouvisí se značkami, které se používají pro formátování, takže programy pro analýzu nemají možnost používat značky HTML k nalezení fragmentů dokumentu, které potřebujeme. Tito. že se s takovým popisem setkal například

růže,

divák bude vědět, jakou barvu má zobrazit text obsažený ve značkách a pravděpodobně jej zobrazí správně, ale je naprosto lhostejné, kde v dokumentu se tento tag nachází, v jakých dalších značkách je aktuální fragment uzavřen, zda fragmenty v něm vnořené existují nebo zda jsou vztahy mezi objekty vytvořeny správně. Tato „lhostejnost“ ke struktuře dokumentu vede k tomu, že vyhledávání nebo analýza informací v něm se nebude lišit od práce se souvislým textovým souborem, který není rozdělen na prvky. A to, jak víte, není nejefektivnější způsob práce s informacemi.

Další významnou nevýhodou HTML je omezená sada jeho značek. Pravidla DTD pro HTML definují pevnou sadu deskriptorů, a proto vývojář nemá možnost zadávat vlastní, speciální značky. Přestože se čas od času objevují nová jazyková rozšíření (dnes je nejnovější verzí HTML HTML 4.0), dlouhá cesta k jejich standardizaci, doprovázená neustálými neshodami mezi hlavními výrobci prohlížečů, téměř znemožňuje rychlé přizpůsobení jazyka, jeho používání pro zobrazení specializovaných informací (například multimediálních, matematických, chemických vzorců atd.).

Shrneme-li vše, co bylo řečeno, lze tvrdit, že HTML dnes plně nesplňuje požadavky kladené moderními vývojáři na jazyky tohoto druhu. A byl nahrazen novým hypertextovým značkovacím jazykem, výkonným, flexibilním a zároveň pohodlným jazykem XML. Jaké jsou jeho výhody?

XML ( Rozšiřitelný značkovací jazyk) je značkovací jazyk, který popisuje celou třídu datových objektů nazývaných dokumenty XML. Tento jazyk se používá jako prostředek k popisu gramatiky jiných jazyků a ke kontrole správnosti dokumentů. Tito. Samotné XML neobsahuje žádné značky určené pro značkování, pouze definuje pořadí, ve kterém jsou vytvářeny. Pokud tedy například považujeme za označení prvku růže dokument musí používat značku ;, pak nám XML umožňuje volně používat značku, kterou definujeme, a do dokumentu můžeme zahrnout fragmenty, jako jsou následující:

růže

Sadu štítků lze snadno rozšířit. Pokud, dejme tomu, chceme také naznačit, že popis květiny by měl smysluplně zapadnout do popisu skleníku, ve kterém kvete, pak jednoduše nastavíme nové tagy a zvolíme pořadí, ve kterém se objeví:

růže

Pokud tam chceme zasadit několik dalších květin, musíme provést následující změny:

růže tulipán kaktus

Jak vidíte, proces vytváření dokumentu XML je velmi jednoduchý a vyžaduje pouze základní znalosti HTML a porozumění úkolům, které chceme provádět pomocí XML jako značkovacího jazyka. To dává vývojářům jedinečnou možnost definovat vlastní příkazy, které jim umožní nejefektivněji definovat data obsažená v dokumentu. Autor dokumentu vytvoří jeho strukturu, vytvoří potřebná spojení mezi prvky pomocí těch příkazů, které splňují jeho požadavky, a dosáhne typu označení, které potřebuje k provádění operací prohlížení, vyhledávání a analýzy dokumentu.

Další zjevnou výhodou XML je možnost použít jej jako univerzální dotazovací jazyk pro úložiště informací. Dnes se v hlubinách W3C uvažuje o pracovní verzi standardu XML-QL (případně XQL), který se může v budoucnu stát vážnou konkurencí SQL. Kromě toho mohou dokumenty XML fungovat jako jedinečný způsob ukládání dat, který zahrnuje jak prostředky pro analýzu informací, tak jejich prezentaci na straně klienta. V této oblasti je jednou z perspektivních oblastí integrace technologií Java a XML, která umožňuje využít sílu obou technologií při budování strojově nezávislých aplikací využívajících i univerzální datový formát pro výměnu informací.

XML také umožňuje kontrolovat správnost dat uložených v dokumentech, kontrolovat hierarchické vztahy v rámci dokumentu a stanovit jednotný standard pro strukturu dokumentů, jejichž obsahem mohou být nejrůznější data. To znamená, že jej lze použít při budování komplexních informačních systémů, ve kterých je velmi důležitá otázka výměny informací mezi různými aplikacemi běžícími ve stejném systému. Vytvořením struktury pro mechanismus výměny informací na samém začátku práce na projektu se manažer může v budoucnu ušetřit mnoha problémů spojených s nekompatibilitou datových formátů používaných různými komponentami systému.

Jednou z výhod XML je také to, že programy pro zpracování dokumentů XML nejsou složité a již se objevily a jsou volně distribuovány nejrůznější softwarové produkty určené pro práci s dokumenty XML. XML je dnes podporováno v prohlížeči Microsoft Internet Explorer 4/0 a beta verzích IE5. Bylo oznámeno, že bude podporován v následujících verzích aplikací Netscape Communicator, Oracle DBMS, DB-2 a MS-Office. To vše dává důvod předpokládat, že se s největší pravděpodobností v blízké budoucnosti stane XML hlavním jazykem pro výměnu informací pro informační systémy, čímž nahradí HTML. Známé specializované značkovací jazyky jako SMIL, CDF, MathML, XSL již byly vytvořeny na bázi XML a seznam pracovních návrhů nových jazyků zvažovaných W3C neustále roste.

Jak vypadá XML dokument?

První Druhý pododstavec 1 Třetí Poslední

Pravidla pro tvorbu XML dokumentu

RuskoNovosibirsk</country>

Jazykové konstrukce

Datové prvky

růže Novosibirsk růže Novosibirsk Sibiř Novosibirská státní technická univerzita
velmi dobrý ústav Novosibirská státní univerzita
taky ne špatný

Podívejme se na technologii použití XML k přenosu dat na server.

Již jsme se podívali na 2 způsoby přenosu dat na server: prostý text s oddělovačem a JSON. Ale mají nevýhody:

  • Nedostatek datových typů. JSON má pouze řetězec, číslo, null, boolean. Tito. omezený soubor dat.
  • Je obtížné kontrolovat integritu přenášených dat.
  • Obtížná vizualizace dat, např. složité objekty se obtížně zobrazují například ve formě html kódu.
  • Náročné na transformaci dat, tzn. Je obtížné transformovat vlastnosti jednoho objektu na vlastnosti jiného objektu.

Nyní se pojďme věnovat XML jako metodě přenosu dat. XML(eXtensible Markup Language) je značkovací jazyk určený k popisu, ukládání a přenosu strukturovaných dat. XML se dnes používá všude.

Existuje mnoho technologií založených na XML: DOM (programová interakce s daty), XLink (ukazatele a odkazy), XPath (popis a výběr prvků), XSL, XSLT (transformace XML dokumentů).

Analýza balíčku XML vypadá takto:

//XMLHttpRequest objekt var req= getXmlHttpRequest (); //Instalace handleru req. onreadystatechange= funkce () ( if (req. readyState== 4 ) ( //stav "4 - dokončeno" var xml= req. responseXML; ))

Zde ani nemusíte provádět serializaci a deserializaci. To provádí samotný objekt. Jakmile server odešle XML data, jsou již v parsované formě (responseXML - model dokumentu DOM). Přečtěte si více o technologii DOM v předchozích článcích na webu.

Někdy je pro ladění potřeba serializovat a deserializovat data XML (pro přenos dat na server se to děje automaticky, nemusíte to dělat ručně). Pojďme serializovat do řetězce:

//pro IE var str = dom. xml //pro Firefox var serializer = new XMLSerializer ();

var str = serializátor. serializeToString(dom);

Pro IE je pracovní kód kratší, protože má již vestavěný objekt pro serializaci, zatímco v jiných prohlížečích se objekt XMLSerializer pro serializaci pouze objevuje.

Při práci s XML daty se většinou zabýváme DOM modelem dokumentu. Proto stojí za to připomenout si některé aspekty DOM (přečtěte si o tom v předchozích článcích). Dovolte mi, abych vám připomněl způsoby, jak získat přístup k prvku DOM modelu://kořenový prvek var root = xmlDOM. documentElement;//první prvek v kolekci var kniha = kořen. childNodes[ 0 ];//podřízený prvek var titul = kniha. childNodes[ 0 ];//uzel textu prvku

alert(title. firstChild. nodeValue);

Můžete také vybrat prvky stejného typu z modelu DOM modelu dokumentu. Pozor! Neexistují žádné funkce getElemensById, protože v XML id může znamenat cokoliv, nejen identifikátor, takže se nepoužívá.//výběr všech prvků s jednou značkou

XML je také aktivně využíváno nejen pro reprezentaci dat, ale také pro výměnu dat v serverově orientované architektuře. Jedná se o přístup, ve kterém představujeme komplexní aplikaci nikoli jako klasickou klient-server aplikaci, ale jako soubor služeb, z nichž každá zodpovídá za své vlastní úkoly. A každá služba má vstupní body (interakční body). Není zde žádný jasný klient, protože... jedna služba může být klientem jiné služby. Ukázalo se, že jde o distribuovanou technologii. Existuje několik přístupů k budování takových technologií - vzdálené volání procedur, SOAP.

Aby mohly služby různých klientů komunikovat, musí mluvit stejným jazykem (nezáleží na tom, jaký operační systém služba má). A takový jazyk byl vyvinut a nazván RPC.

XML-RPC protokol

RPC(Remote Procedure Call) - vzdálené volání procedury. Jedná se o protokol pro interakci mezi dvěma vzdálenými body. Umožňuje bodu „a“ volat funkci na vzdáleném bodu „b“.

Existuje několik implementací protokolu RPC. Podívejme se na implementaci založenou na XML.

Klient a server si v podstatě jednoduše vyměňují nějaké fragmenty XML.

XML-RPC poskytuje následující datové typy:

  • booleovský.
  • celé číslo.
  • dvojnásobek.
  • řetězec.
  • datum/čas.
  • základ 64.
  • pole.
  • strukturovat.
  • null.

Tito. Při předávání určitého datového typu musíte deklarovat, o jaký datový typ jde. Struktura je podobná objektu JSON.

Konverze XML dat

Pro transformaci dat přijatých ze serveru ve formě XML se používá XSLT.

XSLT(eXtendable Stylesheet Language Transformation) je technologie, která vám pomáhá přijímat XML jako vstup a tvořit cokoli chcete jako výstup.

Převod XSLT na javaScript - IE

var dom = new ActiveXObject("MSXML2.DOMDocument"); dom. async = nepravda; dom var xsl = nový ActiveXObject(" [e-mail chráněný]" ); xsl. async = false; xsl. load ("my.xsl" );

//samotná transformace

var výsledek = dom. transformNode(xsl); Převeďte XSLT na JavaScript pro Firefox. Chrome, Opera var xslStylesheet;

Standardizace v podstatě umožňuje vzájemnou interakci různých objektů – baterky a baterií, Macromedia Flash a herního serveru pro více hráčů atd. Také na World Wide Web, kde se každou sekundu přesouvá obrovské množství dat, je nesmírně důležité standardizovat způsob výměny dat mezi systémy. Výkonný a snadno použitelný XML se rychle stává široce přijímaným standardem.

V tomto tutoriálu vás seznámíme se základy formátu XML a ukážeme vám, jak můžete používat objekty XML a XMLSocket ve Flashi. Na konci lekce se naučíte, jak organizovat Flash „komunikaci“ se stránkami ASP pro registraci uživatelských přihlášení; Vytvoříme také jednoduchý chat, který funguje v reálném čase pomocí socket serveru.

Co se bude studovat

V této lekci:

  • XML formát
  • Odesílání XML dat na server a jejich stahování ze serveru
  • Vytvoření nového objektu XML
  • Použití metod objektů XML, vlastností a událostí
  • Navázání připojení k soketovému serveru pomocí Flash

Jednoduchá chatovací aplikace, kterou naprogramujeme v tomto tutoriálu, bude používat připojení soketu XML.

dodací lhůta

Tato lekce trvá přibližně hodinu a půl.

Soubory lekcí

Mediální soubory:

Spustit soubory:

Lesson12/Assets/LoginRegister1.fla Lesson12/Assets/Chat1.fla

Dokončené projekty:

LoginRegister2.fla Chat2.fla

základy xml

Přestože název XML neboli eXtensible Markup Language zní poněkud tajemně, není těžké tento jazyk pochopit a zvládnout. XML je v podstatě způsob formátování a strukturování informací, které přijímající aplikace mohou interpretovat a používat. Ve skutečnosti máme všichni, možná aniž bychom to věděli, rozsáhlé zkušenosti se strukturováním a organizováním informací. Vezměme si tento příklad.

Když chcete napsat dopis příteli, musíte strukturovat své myšlenky (informace) ve formátu, který váš přítel rozpozná. Takže začnete psát slova na kus papíru, počínaje levým horním rohem a rozdělovat své myšlenky do odstavců, vět a slov. Samozřejmě byste mohli psát ne zleva doprava, ale nějak v kruhu, nebo se dokonce pokusit zprostředkovat své myšlenky obrázky, ale tato metoda s největší pravděpodobností jen zmátne vašeho přítele. A napsáním dopisu ve formátu, který váš přítel zná, si můžete být jisti, že vaše zpráva bude pochopena - to znamená, že přenos vašich myšlenek (dat, informací) k příjemci dopisu bude úspěšný.


XML je určeno na to samé – je to formát pro přenos informací. Pokud například chcete odeslat data z Flash na webový server ke zpracování, musíte tato data nejprve prezentovat ve formátu XML. Server pak může tato data správně interpretovat a používat. Bez toho by server, který obdržel několik dat, nevěděl, co dělat s první částí, co s druhou a jaký vztah má první část ke druhé. Díky XML dostávají tyto nesourodé části dat význam a server pochopí, jak s nimi pracovat.

XML, stejně jako HTML, používá v syntaxi značky, atributy a hodnoty, ale tím podobnosti končí. Zatímco HTML používá předdefinované značky (jako je tělo, hlava nebo html), v XML si uživatel vytváří vlastní, místo aby si vybíral předdefinované názvy z knihovny. Podívejme se nejprve na tento jednoduchý dokument XML:

Kelly Makarová Mike Grundvig Makar zdarma

Každá značka XML se nazývá uzel ( uzel), sbírka dat ve formátu XML se nazývá dokument XML. Náš vzorový dokument má kořenový uzel MyFriends a tři podřízené uzly. Každý dokument XML může obsahovat pouze jeden kořenový uzel. První z podřízených uzlů má název uzlu Name a hodnotu uzlu Kelly Makar. Slovo Gender v každém z podřízených uzlů je atribut. Atributy jsou volitelné; Každý uzel může mít neomezený počet atributů. Atributy se obvykle používají k tomu, aby obsahovaly malé části informací, které není třeba zobrazovat na obrazovce (například ID uživatele).


Jak můžete vidět na tomto příkladu, tagy (které jsme sami vytvořili a popsali) dávají význam částem informací (Kelly Makar, Mike Grundvig a Free Makar).

Následující dokument XML je složitějším příkladem strukturování.

Kelly Makarová Baker Street 121 Nějaké město Severní Karolína Tripp Carter 777 Další ulice Elizabeth City Severní Karolína

Tento příklad ukazuje, jak mohou vypadat data adresáře ve formátu XML. Pokud bychom měli v adresáři 600 lidí, uzel Osoba by se opakoval 600krát se stejnou strukturou.

Jak byste měli vytvořit své vlastní uzly, svou vlastní strukturu? Jak objekt příjemce (stránka ASP, soket atd.) rozpozná formátování dokumentu? Odpověď je jednoduchá – prostředky k tomu musí být zabudovány do objektu příjemce. Pokud jsme například vytvořili adresář ve Flashi a chceme vložit informace, které obsahuje, do databáze, měli bychom poslat XML verzi naší knihy na stránku ASP (nebo jinou stránku skriptu), která dokáže analyzovat informace a umístit data v databázích příslušných polí. Musíte pochopit, že tento skript stránky ASP musí být navržen předem, aby správně zpracovával data. XML je vhodnější pro přenos informací než pro jejich ukládání; Proto je pohodlnější ukládat data našeho adresáře do databázových záznamů než ve formě XML dokumentu. V případě potřeby lze informace extrahovat z databáze a převést do formátu pomocí speciálního skriptu

Proč je tento XML potřebný?

[V poslední době v souvislosti se vznikem těchto stránek nejfrekventovanější
Otázka pro mě dopadla takto: „Řekni mi, proč je to vůbec potřeba, XML?
Nestačí nám HTML? „Nemám moc času (ani mysli;) na přípravu vlastních publikací a také hluboce respektuji klasiku, raději jsem rychle přeložil vynikající článek na titulní
- možná je to první epizoda seriálu "na pomoc"]

Jon Bosak, Tim Bray
XML a web druhé generace
z Scientific American, květen 1999

Dejte lidem pár tipů a na zbytek přijdou sami. Při pohledu na stránku, kde jsou větší bloky textu rozděleny na menší, každému rychle dojde, že je to začátek článku. Při pohledu na seznam potravin rychle uhodnete, že se jedná o „pokyny“ k návštěvě obchodu. Když vidíte sloupce čísel, chápete, že se jedná o bankovní účet.

Právě pro tento účel - aby se informace samy popisovaly - byl vynalezen nový značkovací jazyk dokumentů - Extensible Markup Language (XML). Tyto snadno vyslovitelné změny („samopopsaný“ dokument, změna pravidel komunikace s počítači) s sebou nesou obrovský potenciál – role internetu z média pro doručování informací se začíná rozšiřovat i na další typy lidské činnosti. Od svého schválení W3C v roce 1998 totiž specifikace XML začala pronikat všude jako blesk – do průmyslu a vědy, do výroby zboží a medicíny.

Nadšenci doufali, že XML poskytne příležitost k vyřešení řady globálních problémů webu. Tyto problémy jsou známé: za prvé, internet, superrychlá síť, se často chová hůř než želva; a zadruhé, ačkoli jsou téměř všechny informace dostupné na internetu, je často neuvěřitelně obtížné tam něco potřebného najít.

Oba tyto problémy jsou způsobeny především povahou hlavního jazyka webu – HTML. A zatímco úspěch HTML oproti jiným jazykům elektronického publikování, které kdy byly navrženy, je zřejmý, HTML je příliš řídké: v podstatě pouze říká prohlížeči, jak umístit text, obrázky a tlačítka na stránku. HTML se zaměřuje na prezentaci informací, a proto je poměrně snadné se ho naučit, ale stojí to za to.

To se odráží ve složitosti vývoje webových stránek, pokud tyto stránky nemají být jako faxy, které rozesílají stránky každému, kdo se zeptá. Více než polovina lidí a společností na celém světě by dala přednost webovým stránkám, které mohou přijímat objednávky od uživatelů, posílat diagnózy nemocí a dokonce provozovat jemné instrumentální operace v továrnách a vědeckých laboratořích. Takové úkoly HTML _NIKDY_ nečelilo!.

Například, i když je váš lékař schopen „extrahovat“ testy odebrané z vaší lékařské karty do svého prohlížeče, je nepravděpodobné, že je bude moci odeslat přes síť jinému specialistovi, aby vložil přijatou odpověď zpět do svého prohlížeče. databáze. Jeho počítač neví, co dělat s informacemi, které jsou mu stejně jasné jako

včela včela

nebo včela včela.
Legendární Kernighan kdysi poznamenal, že celý trik principu WYSIWYG (co vidím, to dostanu) spočívá v tom, že když nic nevidíte, obvykle se vám podaří získat přesně stejnou částku.

Slova výše, která jsou uzavřena v lomených závorkách, se nazývají tagy. V HTML neexistuje žádná značka pro analýzu, a proto má další nevýhodu: nepružnost. Přidání nového tagu do jazyka je natolik byrokratická byrokratická zátěž, že to trvá tak dlouho, že se s tím nikdo nebude trápit. Ale bylo by hezké, aby každý program měl své vlastní značky, nejen ten v příkladu s doktorem.

To do značné míry vysvětluje současné pomalé tempo tvorby internetových obchodů, zásilkových katalogů a dalších interaktivních stránek. Pokud změníte počet objednávkových jednotek a způsob dopravy a uvidíte, že v poli „částka“ se změnilo několik čísel, stále budete muset požádat vzdálený (již přetížený) server, aby vám poslal zpět kompletní nově vygenerovanou stránku s grafika a vše ostatní. Zatímco váš vlastní výkonný počítač bude nečinně sedět, protože se právě naučil něco jako

A , ale ne ceny s možnostmi doručení.

Přidejte k tomu špatnou kvalitu možností vyhledávání na webu. Vzhledem k tomu, že neexistuje způsob, jak konkrétně označit informace o ceně, je absolutně nemožné vyhledávat na webu stránky podle „ceny“.


Něco starého, něco nového

Řešení je v zásadě jednoduché: tagy musí označovat, o jaký druh informace se jedná, a ne jak by měla vypadat. Označte například součásti objednávky košile štítky „cena, velikost, množství, barva“ spíše než „tučné, odstavec, řádek, sloupec“, jak navrhuje HTML. Pak je pro program snazší identifikovat doklad jako objednávku a provést zbytek práce: zobrazit tuto objednávku v té či oné podobě, vložit ji do účetního systému nebo zajistit, aby byla nová košile doručena až k vašim dveřím. další den.

My, pracovní skupina W3C, jsme začali takový projekt vyvíjet již v roce 1996. Nápad to byl silný, i když ne zcela originální. Po generace označovali redaktoři a tiskaři ručně psané texty sazeči. Tento „značkovací jazyk“ se vyvíjel samostatně až do roku 1986, kdy jako výsledek desetileté práce zavedla Mezinárodní organizace pro standardizaci (ISO) systém pro vytváření nových značkovacích jazyků.

Tento jazyk pro popis jazyka – metajazyk – se nazývá SGML (Standard Generalized Markup Language) a prokázal svou užitečnost v mnoha velkých publikačních systémech. A dokonce i HTML dostalo svou definici prostřednictvím SGML. Jediným problémem SGML bylo, že byl všežravý - bylo tam mnoho chytrých věcí, jak minimalizovat úhozy, protože v té době se počítal každý bajt. Proto s ním dnes webové prohlížeče nefungují dobře.

Vytvořením XML naše pracovní skupina zbavila SGML jeho slupek a navrhla vysoce cílený a stravitelný metajazyk. Základ XML je soubor pravidel, podle kterých si každý může vytvořit svůj vlastní značkovací jazyk.


<имя пациента>Tato pravidla jsou zvolena tak, aby si jeden malý program (nazývaný také analyzátor nebo syntaktický analyzátor) dokázal poradit s rozpoznáním jakéhokoli nového jazyka. Podívejme se znovu na příklad lékaře, který by chtěl testy předat specialistovi. Pokud by lékařští profesionálové sestavili svůj vlastní značkovací jazyk z XML pro kódování lékařských poznámek (řada skupin na tomto problému pracovala dlouhou dobu), pak by zpráva lékaře pro svého kolegu mohla obsahovat něco jako
<аллергия на лекарство>bla bla

bla bla bla

V tomto nastavení již není těžké napsat program pro libovolný počítač tak, aby dokázal rozpoznat tyto standardizované lékařské záznamy a mohl tyto doslova životně důležité informace zadávat do své databáze.

Stejně jako HTML bylo navrženo tak, aby umožnilo komukoli číst internetové dokumenty, XML nám poskytuje esperanto, které může číst a psát kdokoli, a to i přes babel nekompatibilních platforem. Ano, i z pohledu běžného člověka má XML větší sémantickou zátěž (na rozdíl od jiných datových formátů), protože v něm není nic, co by vypadalo jako nečitelný text.

Pravidlo vnoření automaticky vynucuje jednoduchost v jakémkoli dokumentu XML a vytváří strukturu známou v informatice jako strom. Podobně jako u rodokmenu je jakýkoli grafický nebo textový prvek dokumentu otec, syn nebo bratr (rodič, dítě, sourozenec) nějakého jiného prvku a tento vztah je vždy jedinečný. Stromy samozřejmě nepopisují celou škálu datových struktur, ale pokrývají většinu typických případů použití počítače. Stromy jsou navíc pro programátory mimořádně výhodné. Není problém napsat malý kousek kódu pro přeuspořádání transakcí nebo zobrazení zcela srozumitelné účtenky, když je účtenka znázorněna jako strom.

Druhým zdrojem univerzální síly XML je jeho spoléhání se na nový standard Unicode, kódovací systém, který umožňuje prolínání textu ve všech hlavních světových jazycích. Naopak, v HTML, stejně jako ve většině textových procesorů, může být dokument zpravidla pouze v jednom konkrétním jazyce, bez ohledu na to, v kterém z nich - angličtině, japonštině nebo arabštině.
A pokud program nezná kódování určitého jazyka, můžete na dokument (v HTML) zapomenout. Může to být horší: například kvůli nejednotnosti kódování programy napsané na Tchaj-wanu často neumí číst texty zaměřené na pevninskou Čínu. V případě XML, pokud s ním program umí správně pracovat, zvládne libovolnou kombinaci kódování.


XML tedy umožňuje nejen výměnu dat mezi různými počítačovými platformami, ale také umožňuje překonávat národní a kulturní bariéry.

Konec světového čekání

Pro ilustraci si představte, že byste 4. července pomocí online cestovní kanceláře našli let z Londýna do New Yorku. S největší pravděpodobností uvidíte seznam několikrát delší, než se vejde na obrazovku. Tento seznam lze zkrátit nastavením přesnějších parametrů, jako je čas odletu, cena nebo letecká společnost, ale v tomto případě jednoduše „nahrajete“ server cestovní kanceláře svým požadavkem a musíte čekat na odpověď. Pokud vám však byl tento dlouhý seznam letů poskytnut v XML, pak by jej kancelář mohla doprovázet malým Java appletem, pomocí kterého můžete okamžitě a snadno třídit a filtrovat ty nepotřebné, aniž byste se museli uchylovat k jakékoli interakci. se serverem.

Vynásobte to miliony uživatelů webu a celkový efekt je působivý.

Čím více online informací je označeno značkami XML specifickým pro dané odvětví, tím snazší bude najít to, co hledáte. Internetové hledání „práce pro obchodníka s cennými papíry“ vás dnes zavalí lavinou inzerátů, ale na práci jich bude asi jen pár – většina práce je skryta na bezplatných nástěnkách novinových webů, které hledají roboty neradi pracují s.

A nyní Newspaper Association of America vytváří svůj vlastní reklamní značkovací jazyk v XML, který slibuje, že proces vyhledávání bude mnohem efektivnější.

Informace lze samozřejmě získat i bez vyhledávání. Koneckonců, web je hypertext – miliardy stránek prošpikovaných hypertextovými odkazy – těmi podtrženými slovy, na která stačí kliknout, abyste byli přemístěni na jinou stránku. V XML je také značně vylepšen mechanismus hypertextových odkazů. Specifikace XML linking s názvem XLink, kterou W3C připravuje do konce roku, umožní uživateli vybrat si z více destinací. Jiný typ hypertextového odkazu vám umožní obdržet text nebo obrázek přímo v místě kliknutí, což umožní návštěvníkovi neopustit stránku.

Snad nejužitečnější částí XLink bude část specifikace, která autorům umožňuje uchýlit se k nepřímým odkazům, posílat místo samotných stránek do nějaké souhrnné databáze. Pokud tedy autor změnil adresu stránky, pouhou úpravou jednoho záznamu v takové databázi je snadné aktualizovat všechny odkazy vedoucí na jeho stránku. To vám umožní zbavit se stále častějších zpráv „404 File Not Found“, které označují „nefunkční“ odkaz.

Kombinace efektivnějšího zpracování, přesnějšího vyhledávání a flexibilnějšího propojení způsobí revoluci ve struktuře webu a otevře zcela nové způsoby přístupu k informacím. Pro uživatele bude tato nová síť výrazně rychlejší, výkonnější a užitečnější než dnešní síť.


Je nutná spolupráce

Samozřejmě ne všechno je tak jednoduché.

XML umožňuje každému navrhnout nový jazyk po svém, ale vytvoření dobrého jazyka je úkol, jehož obtížnost by se neměla podceňovat.

Přijít s jazykem je jen začátek: je naivní očekávat, že význam vašich značek bude ostatním lidem zřejmý, dokud neposkytnete manuál k jazyku, a že budou jasné počítačům, dokud nenapíšete programy, které budou pracovat se značkami daného jazyka. .

A takové dohody budou existovat, protože rostoucí nekompatibilita počítačových platforem má za následek zpoždění termínů, finanční ztráty a vede ke zmatkům téměř ve všech oblastech činnosti. Lidé si chtějí vyměňovat nápady a dělat věci bez ohledu na to, že každý má jiné počítače – a aby se to stalo skutečností, vzájemný rozvoj soukromých (pro různé obory činnosti) jazyků má před sebou ještě dlouhou cestu . Záplava nových zkratek končících na „ML“ však demonstruje nepopiratelně inovativního ducha, který XML přineslo do vědy, obchodu a vzdělávání.

Při vytváření nového značkovacího jazyka XML se jeho tvůrci musí shodnout na třech věcech: jaké značky tam budou, jak se mohou vnořovat do sebe a jak by měly být zpracovány. První dva body – jazykový slovník a struktura – jsou nyní kódovány pomocí DTD (Document Type Definition). Standard XML nezavazuje vývojáře jazyků, aby se uchýlili k DTD, ale většina nových jazyků bude mít zjevně popisy DTD - to usnadňuje programátorům psát programy, které tomuto označení rozumí a extrahují z něj něco smysluplného. Budeme také potřebovat sady manuálů, které popisují významy všech značek v lidské řeči. Například HTML má popis DTD, ale existují také stovky stránek známých HTML manuálů, které programátoři konzultují při vývoji prohlížečů a dalších programů pro web.


Esej o stylu

Pro uživatele je hlavní to, co program umí, a ne to, co je napsáno v jeho popisu. Obecně lidé dávají přednost tomu, aby jim programy umožňovaly vidět informace zakódované v XML v čitelné podobě. Ale v samotných značkách XML není uvedeno žádné speciální označení. jak by měla být data prezentována na obrazovce nebo tištěném listu.

Pro vydavatele, kteří chtějí „napsat jednou a publikovat všude“, je nejdůležitější „zrodit“ publikaci a poté ji „nalít“ do nesčetných typů publikací, tištěných i elektronických. XML jim v tom pomáhá: obsah je označen popisnými značkami, které jsou nezávislé na vykreslovacím prostředí. Dále může vydavatel formalizovat pravidla prezentace v podobě tzv. styly, které automaticky „stylují“ jeho práci pro různá zařízení a prostředí. Standard pro takový jazyk XML, vyvinutý pro tyto účely, se nazývá Extensible Stylesheet Language (XSL).

Nejnovější verze prohlížeče umí číst dokumenty XML, vybírat vhodné soubory stylů a používat je k třídění a formátování informací na obrazovce. Čtenář si možná ani neuvědomuje, že se zabývá spíše XML než HTML, pokud si nevšimne, že stránky s XML jsou rychlejší a snadněji použitelné.

Zrakově postižení lidé také mohou volně těžit z principů publikování dokumentů XSL, protože XSL jim umožňuje číst XML v Braillově písmu nebo hlasem. Tyto výhody platí i pro ostatní: kupříkladu obchodnímu cestujícímu, který chce surfovat na internetu z pohodlí svého auta, by asi docela vyhovovalo poslouchat stránky se zvukem.

I když jádro Sítě zpočátku tvořily vědecké a vzdělávací programy, dnešní Síť je již komerce (nebo, dalo by se říci, komerční očekávání), skladující palivo pro rychlý start. Každý si pamatuje nedávnou rezonanci způsobenou nárůstem online prodeje, ale netřeba říkat, jak rychle mezi sebou obchodníci online komunikují. Tok zboží od velkých výrobců si žádá automatizaci v síti. Jenže dnešní podnikové systémy se spoléhají na složité interakce mezi jednotlivými programy a v praxi to funguje velmi špatně, protože úspěch vyžaduje jednotnost procesů zpracování, což ještě zdaleka není dosaženo.

Po staletí lidé úspěšně podnikali výměnou standardních dokumentů: objednávek, faktur, prohlášení, účtenek atd. atd. Dokumenty fungovaly pro firmu a nikdo nevyžadoval, aby jedna zúčastněná strana znala vnitřní fungování té druhé. Jakýkoli dokument byl zobrazen přesně tak, jak měl být zobrazen příjemci informace, a nic víc. Výměna dokumentů je zřejmě také tím nejsprávnějším způsobem podnikání na webu. To ale vůbec nebyl úkol, pro který bylo HTML vytvořeno.

Naopak XML je navrženo speciálně pro účely výměny dokumentů a je jasné, že základ elektronického obchodu bude spočívat na dohodách vyjádřených miliony XML dokumentů plujících na internetu.

Web vylepšený XML by se tak měl pro své uživatele stát rychlým, přátelským a lepším místem pro podnikání. Webmasteři a webdesignéři potřebují ještě více XML. Armády programátorů budou potřebovat znalost nových jazyků XML „naplno“.

A přestože dny samovzdělaných hackerů [autoři mysleli ten nejlepší smysl tohoto slova] stále trvají, jejich populace je již nyní ohrožena.




Přejděte na začátek