XSL/XSLT - čo to je

Comments0

Čo to je

XSL - eXtensible Stylesheet Language. XSL je jazyk popisujúci transformáciu XML súborov a dát do ľubovoľného iného formátu, najčastejšie do iného XML/HTML formátu (zmena štruktúry súboru). Súbory s koncovkou .xsl/.xslt sú transformačné šablóny. V nich si definujete štruktúru a pravidlá výstupu (nového XML súboru). XSL môže byť vo verzií 1.0, 2.0 a 3.0 .

Pomocou transformácie viete aj napríklad docieliť transformáciu .csv súboru na .xml.

msxsl.exe

Priamo vo Windowse máte možnosť využiť msxsl.exe , čo je aplikácia určená pre transformáciu XSL 1.0. Môžete ju spustiť pomocou .bat / .cmd (vytvoríte si textový súbor napr. spusti.bat). Do súboru si vpíšete hodnoty nižšie a uložíte. Následne pre transformáciu spustíte súbor spusti.bat.

msxsl.exe -o "ciel.xml" "zdroj.xml" "sablona.xslt"

 

Príklad

Vstupný XML súbor (zdroj.xml)

<?xml version="1.0" encoding="utf-8"?>
<orders>
	<order>
		<head ordnumber="789">
			<email>havri@havri.eu</email>
			<number>Order123</number>
			<text>Objednávka z e-shopu</text>
			<date>2021-12-22</date>
		</head>
		<items>
			<item>
				<name>Položka 1</name>
				<quantity>2</quantity>
				<unit>ks</unit>
				<vat>20</vat>
				<price>9.99</price>
			</item>
			<item>
				<name>Položka 2</name>
				<quantity>1</quantity>
				<unit>ks</unit>
				<vat>20</vat>
				<price>4.99</price>
			</item>
			<item>
				<name>Kniha </name>
				<quantity>5</quantity>
				<unit>ks</unit>
				<vat>10</vat>
				<price>14.99</price>
			</item>
		</items>
	</order>
</orders>

Transformačná XSL šablóna (sablona.xsl)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

	<xsl:output method="xml" indent="yes" encoding="utf-8" />

	<!-- Telo výstupu -->
	<xsl:template match="orders">	
	<objednavky>
		<xsl:for-each select="order">
		<objednavka>
			<hlavicka>
				<email><xsl:value-of select="head/email"/></email>
				<datum><xsl:value-of select="head/date"/></datum>
				<cisloObj><xsl:value-of select="@ordnumber"/></cisloObj>
				<cislo><xsl:value-of select="head/number"/></cislo>
			</hlavicka>
			<polozky>
				<xsl:for-each select="items/item">
				<polozka>
					<text><xsl:value-of select="name"/></text>
					<mnozstvo><xsl:value-of select="quantity"/></mnozstvo>
				</polozka>
				</xsl:for-each>	
			</polozky>
		</objednavka>
		</xsl:for-each>	
	</objednavky>
	</xsl:template>

</xsl:stylesheet>

Výstupný XML súbor (ciel.xml)

<?xml version="1.0" encoding="utf-8"?>
<objednavky>
	<objednavka>
		<hlavicka>
			<email>havri@havri.eu</email>
			<datum>2021-12-22</datum>
			<cisloObj>789</cisloObj>
			<cislo>Order123</cislo>
		</hlavicka>
		<polozky>
			<polozka>
				<text>Položka 1</text>
				<mnozstvo>2</mnozstvo>
			</polozka>
			<polozka>
				<text>Položka 2</text>
				<mnozstvo>1</mnozstvo>
			</polozka>
			<polozka>
				<text>Kniha </text>
				<mnozstvo>5</mnozstvo>
			</polozka>
		</polozky>
	</objednavka>
</objednavky>

Komentáre
Najčítanejšie články
Pohoda mServer
Pohoda mServer

Pohoda mServer - čo to je, ako to funguje, príklady, najčastejšie chyby, testovanie cez Postman

XML komunikácia v Pohode
XML komunikácia v Pohode

Popis toho, ako funguje XML komunikácia v programe Pohoda, príklady pre import/export. Ovládanie v programe, pomocou príkazového riadka alebo mse

XML - čo to je
XML - čo to je

Základný popis toho, čo je XML a akú ma štruktúru, aké sú základné pojmy - syntax, elementy a atribúty a menné priestory (Namespaces).

Cookies Nastavenia Cookies