Jednoduché vytvorenie transformácie XML do HTML

Publikoval Michal Kočí dňa 16.12.2005 o 23: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.

Mohlo by ťa tiež zaujímať

Páčil sa ti príspevok?

Zdieľaj príspevok alebo si ho odlož na neskôr

Sleduj ma

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.

Komentáre

Fiha dňa 20.02.2010 o 18:57 - Posta

Ahoj !

fíííha dňa 06.09.2015 o 21:55 - koment

bla bla bla

Pridať komentár

Máš niečo zaujímavé povedať k článku? Pridaj to k článku ako komentár. Spam, reklamu alebo inak nerelevantné komentáre okamžite mažem.

Pridanie komentára sa nepodarilo. Oprav si prosím chyby.