Publikoval Michal Kočí dňa 17.12.2005 o 00:24 v kategórii Office
Ak potrebujete prezentovať XML dáta v HTML podobe pravdepodobne vytvoríte XML Transformáciu (XSL - XML StyleSheet). Túto môžete alebo vytvoriť "ručne" napríklad v poznámkovom bloku, alebo použijete nejaký program, ktorý vie transformácie vytvárať. Ak máte naištalovaný Microsoft Office InfoPath, potom môžete vytvoriť transformáciu ozaj jednoducho a rýchlo...
Aplikáciu InfoPath, i keď primárne neslúži na vytvorenie transformácie, môžete na túto činnosť zneužiť. InfoPath totiž prezentuje XML dáta práve transformáciou a teda jediné čo potrebujete je, vytvoriť si v InfoPath formulár nad schémou Vášho XML dokumentu a vyexportovať si XSL súbor.
Ukážku spravím nad nasledovným XML dokumentom, ktorý by som chcel užívateľovi prezentovať v nejakej príjemnej podobe:
<?xml version="1.0" encoding="UTF-8"?> <Schvalovanie> <Schvalenie> <Uzivatel>Peter Opatrný</Uzivatel> <Datum>2005-12-14T00:00:00</Datum> <Vyjadrenie>Neschválená</Vyjadrenie> </Schvalenie> <Schvalenie> <Uzivatel>Ferdinand Plachý</Uzivatel> <Datum>2005-12-15T00:00:00</Datum> <Vyjadrenie>Schválená</Vyjadrenie> </Schvalenie> <Schvalenie> <Uzivatel>Jozef Unáhlený</Uzivatel> <Datum>2005-12-16T00:00:00</Datum> <Vyjadrenie>Schválená</Vyjadrenie> </Schvalenie> <Vysledok>Schválená</Vysledok> <DatumUkoncenia>2005-12-16T00:00:00</DatumUkoncenia> <DatumZacatia>2005-12-14T00:00:00</DatumZacatia> </Schvalovanie>
Ak by ste si v takejto podobe chceli XML súbor pozrieť vo webovom prehliadači, napríklad v Internet Exploreri (IE), potom by výsledok vyzeral obdobne ako na nasledovnom obrázku:
Keď vytvoríme XML Transformáciu a v XML dokumente pridáme riadok odkazujúci sa na ňu, dokument bude v IE zobrazený v užívateľsky príjemnej podobe - v takej podobe akú požadujeme a akú si vytvoríme v InfoPath:
A poďme sa teda pozrieť na to, ako v InfoPath vytvoriť jednoduchú transformáciu a túto vyexportovať. Začneme tým, že si v InfoPath vyberieme možnosť vytvorenia nového formulára (menu Soubor - Navrhnout formulář). V panely Navrhnout formulář si vyberieme možnosť Nový ze zdroje dat.
V Sprievodcovi si vyberiete prvú možnosť (Schéma XML nebo datový soubor XML) a v ďaľšom kroku nalistujeme náš XML súbor.
Sprievodcu ukončíme tlačidlom Dokončit a ten nám vytvorí zdroj dát, ktorý zodpovedá štruktúre nášho dokumentu:
Následne treba vytvoriť dizajn formulára. Toto je trochu mimo tento príspevok, ale je to jednoduché. Môžete napríklad preťahovať dátové polia zo zdroja dát. V kontextovom menu položiek v zdroji dát sú tiež niektoré voľby, ktoré za Vás vytvoria napríklad tabuľku s opakujúcimi sa riadkami - napríklad u položky Schvalenie možnosť Tabulka s opakovaním:
Vytvorte si formulár - môže vyzerať napríklad nasledovne:
Keď máte formulár vytvorený, v menu Soubor vyberte položku Extrahovat soubory formulářů. Nalistujte si adresár, kde chcete súbory vyexportovať. A JE TO. Jeden z vyexportovaných súborov je totiž práve XML Transformácia (má príponu XSL).
A budete teda chcieť, aby sa Vám XML súbor v IE zobrazoval ako výsledok transformácie, je potrebné do XML súboru pridať inštrukciu na spracovanie, ktorá sa bude odkazovať na XSL súbor (tento sa v mojom prípade volá Schvalenia.xsl a mám ho uložený v tom istom adresári ako XML súbor). Túto inštrukciu vložte za hlavičku XML súboru a pred jeho dáta:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="Schvalenia.xsl"?> <Schvalovanie>
Ak chcete, stiahnite si ukážkový XML súbor a k nemu aj jeho XSL transformáciu.
Ak nechceš premeškať príspevky ako je tento, sleduj ma na Twitteri, alebo ak máš RSS čítačku, môžeš sledovať môj RSS kanál.