Commit 48bcd5a8 by Patryk Czarnik

przykład arkusza XSLT - przy okazji ;)

parent deb643fc
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Przykładowy sklep</title>
<style type="text/css">
body {
background-color: white;
font-family: 'Arial', sans-serif;
font-size: 14pt;
}
.kategoria, .towar {
width: 800px;
margin: 20px auto;
padding: 10px 20px;
background-color: #DDDDDD;
}
.kategoria {
border: 6px outset red;
}
.towar {
border: 6px inset blue;
}
h2 {
color:blue;
text-align: center;
}
.opis {
margin: 0.5em 0;
}
.rem {
font-style: italic;
color: magenta;
font-size: smaller;
}
dfn {
font-weight: bold;
font-style: normal;
}
.komentarz {
color: green;
text-style: italic;
}
</style>
</head>
<body>
<h1>Asortyment sklepu</h1>
<div class="kategoria" id="Kherbata">
<h2>Herbata</h2>
<p class="opis">Herbata jest dobra.</p>
<ul>
<li>
<a href="#Tahmad">Ahmad Tea</a>
</li>
<li>
<a href="#Tdilmah">Dilmah black tea</a>
</li>
<li>
<a href="#Tlipton100">Lipton 100 szt.</a>
</li>
<li>
<a href="#Tlipton25">Lipton 25 szt.</a>
</li>
<li>
<a href="#Tsaga">Saga</a>
</li>
<li>
<a href="#Tteekane-gold">Teekane Gold 80 szt.</a>
</li>
</ul>
</div>
<div class="kategoria" id="Kkawa">
<h2>Kawa</h2>
<p class="opis">
Dobra kawa też nie jest zła. Zawiera <dfn>kofeinę</dfn>.
</p>
<ul>
<li>
<a href="#Tjacobs-k">Jacobs Kr&ouml;nung</a>
</li>
<li>
<a href="#Ttchibo">Tchibo Family</a>
</li>
</ul>
</div>
<div class="kategoria" id="Kczeko">
<h2>Czekolada</h2>
<ul>
<li>
<a href="#Tmilka-m">Milka mleczna</a>
</li>
<li>
<a href="#Twedel-g">Wedel gorzka</a>
</li>
<li>
<a href="#Twedel-m">Wedel mleczna</a>
</li>
</ul>
</div>
<div class="towar" id="Tteekane-gold">
<h2>
Teekane Gold <span class="rem">80 szt.</span>
</h2>
<div>
Kategoria: <a href="#Kherbata">Herbata</a>
</div>
<div>Cena netto: 12.00 zł</div>
<div>Cena brutto: 14.76 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Opis z <strong>wyr&oacute;żnieniem <strong>zagnieżdżonym</strong></strong>, <dfn>pojęciem</dfn>, <span class="rem">uwagą</span> oraz <a href="http://pl.wikipedia.org">odnośnikiem</a>.
<br>
Ten fragment ma być od nowej linii.
<br>
Wprowadzamy jeszcze odnośniki do innych towar&oacute;w: .
</p>
</div>
<div class="towar" id="Tmilka-m">
<h2>Milka mleczna</h2>
<div>
Kategoria: <a href="#Kczeko">Czekolada</a>
</div>
<div>Cena netto: 2.50 zł</div>
<div>Cena brutto: 3.08 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Niebieskie krowy dają czekoladę. Takie rzeczy tylko w niemieckich Alpach.
<br>
Wz&oacute;r na czekoladę: x &lt; 15 &amp; y &gt; 7
</p>
</div>
<div class="towar" id="Tlipton100">
<h2>Lipton 100 szt.</h2>
<div>
Kategoria: <a href="#Kherbata">Herbata</a>
</div>
<div>Cena netto: 12.00 zł</div>
<div>Cena brutto: 14.76 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Herbata w ż&oacute;łtym pudełku <strong>mieszczącym 100 sztuk</strong>.
<br>
Opłacalny wyb&oacute;r.
</p>
</div>
<div class="towar" id="Tlipton25">
<h2>Lipton 25 szt.</h2>
<div>
Kategoria: <a href="#Kherbata">Herbata</a>
</div>
<div>Cena netto: 6.50 zł</div>
<div>Cena brutto: 8.00 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Herbata w ż&oacute;łtym pudełku <strong>mieszczącym 25 sztuk</strong>.
<br>
<strong><span class="rem">Nieco mniej</span> opłacalny wyb&oacute;r</strong>.
</p>
</div>
<div class="towar" id="Tjacobs-k">
<h2>Jacobs Kr&ouml;nung</h2>
<div>
Kategoria: <a href="#Kkawa">Kawa</a>
</div>
<div>Cena netto: 13.00 zł</div>
<div>Cena brutto: 15.99 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Kr&oacute;lowa kawy od <a href="http://www.coffeemoose.pl/historia-firmy-jacobs">wielu lat</a>.
</p>
</div>
<div class="towar" id="Tdilmah">
<h2>Dilmah black tea</h2>
<div>
Kategoria: <a href="#Kherbata">Herbata</a>
</div>
<div>Cena netto: 16.00 zł</div>
<div>Cena brutto: 19.68 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Czarna herbata Dilmah. Klasyka smaku.
</p>
</div>
<div class="towar" id="Ttchibo">
<h2>Tchibo Family</h2>
<div>
Kategoria: <a href="#Kkawa">Kawa</a>
</div>
<div>Cena netto: 19.00 zł</div>
<div>Cena brutto: 23.37 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Ulubiona kawa rodzinna.
<br>
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
</p>
</div>
<div class="towar" id="T">
<h2>Pan Tadeusz</h2>
<div>Cena netto: 10000000.00 zł</div>
<div>Cena brutto: 10800000.00 zł</div>
<div>Stawka VAT: 8%</div>
<p class="opis">
Litwo! Ojczyzno moja! ty jesteś jak zdrowie:
Ile cię trzeba cenić, ten tylko się dowie,
Kto cię stracił. Dziś piękność twą w całej ozdobie
Widzę i opisuję, bo tęsknię po tobie.
Panno święta, co Jasnej bronisz Częstochowy
I w Ostrej świecisz Bramie! Ty, co gr&oacute;d zamkowy
Nowogr&oacute;dzki ochraniasz z jego wiernym ludem!
Jak mnie dziecko do zdrowia powr&oacute;ciłaś cudem
(Gdy od płaczącej matki, pod Twoją opiekę
Ofiarowany, martwą podniosłem powiekę;
I zaraz mogłem pieszo, do Twych świątyń progu
Iść za wr&oacute;cone życie podziękować Bogu),
Tak nas powr&oacute;cisz cudem na Ojczyzny łono.
Tymczasem przenoś moją duszę utęsknioną
Do tych pag&oacute;rk&oacute;w leśnych, do tych łąk zielonych,
Szeroko nad błękitnym Niemnem rozciągnionych;
Do tych p&oacute;l malowanych zbożem rozmaitem,
Wyzłacanych pszenicą, posrebrzanych żytem;
Gdzie bursztynowy świerzop, gryka jak śnieg biała,
Gdzie panieńskim rumieńcem dzięcielina pała,
A wszystko przepasane jakby wstęgą, miedzą
Zieloną, na niej z rzadka ciche grusze siedzą.
</p>
</div>
<div class="towar" id="Twedel-g">
<h2>Wedel gorzka</h2>
<div>
Kategoria: <a href="#Kczeko">Czekolada</a>
</div>
<div>Cena netto: 2.20 zł</div>
<div>Cena brutto: 2.71 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Czekolada gorzka i twarda.
<br>
<span class="rem">Uwaga na zęby</span>
</p>
</div>
<div class="towar" id="Twedel-m">
<h2>Wedel mleczna</h2>
<div>
Kategoria: <a href="#Kczeko">Czekolada</a>
</div>
<div>Cena netto: 2.20 zł</div>
<div>Cena brutto: 2.71 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Jeśli ktoś lubi bardziej na słodko, czekolada mleczna będzie OK.
</p>
</div>
<div class="towar" id="Tahmad">
<h2>Ahmad Tea</h2>
<div>
Kategoria: <a href="#Kherbata">Herbata</a>
</div>
<div>Cena netto: 13.00 zł</div>
<div>Cena brutto: 15.99 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Mocna czarna herbata dla wybrednych. Jak dla mnie smaczniejsza niż .
</p>
</div>
<div class="towar" id="Tsaga">
<h2>Saga</h2>
<div>
Kategoria: <a href="#Kherbata">Herbata</a>
</div>
<div>Cena netto: 13.00 zł</div>
<div>Cena brutto: 15.99 zł</div>
<div>Stawka VAT: 23%</div>
<p class="opis">
Tania herbata dla oszczędnych. <span class="rem">Jednak nie tak tania jak produkty w Biedronce.</span>
</p>
</div>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Data modyfikacji: 2021-08-11 -->
<sklep>
<kategoria id="herbata">
<nazwa>Herbata</nazwa>
<opis>Herbata jest dobra.</opis>
</kategoria>
<kategoria id="kawa">
<nazwa>Kawa</nazwa>
<opis>Dobra kawa też nie jest zła. Zawiera <term>kofeinę</term>.</opis>
</kategoria>
<kategoria id="czeko">
<nazwa>Czekolada</nazwa>
</kategoria>
<towar id-kategorii="herbata" id-towaru="teekane-gold">
<nazwa>Teekane Gold <rem>80 szt.</rem></nazwa>
<opis>
Opis z <em>wyróżnieniem <em>zagnieżdżonym</em></em>, <term>pojęciem</term>, <rem>uwagą</rem> oraz <link href="http://pl.wikipedia.org">odnośnikiem</link>.
<br/>
Ten fragment ma być od nowej linii.<br/>
Wprowadzamy jeszcze odnośniki do innych towarów: <inny-towar ref="lipton100"/>.
</opis>
<cena>12</cena>
<vat>23</vat>
<cena-promocyjna od="2016-11-17" do="2016-11-18">10.99</cena-promocyjna>
</towar>
<towar id-kategorii="czeko" id-towaru="milka-m">
<nazwa>Milka mleczna</nazwa>
<opis>
Niebieskie krowy dają czekoladę. Takie rzeczy tylko w niemieckich Alpach.
<br/>
<![CDATA[Wzór na czekoladę: x < 15 & y > 7 ]]>
</opis>
<cena>2.50</cena>
<vat>23</vat>
</towar>
<towar id-kategorii="herbata" id-towaru="lipton100">
<nazwa>Lipton 100 szt.</nazwa>
<opis>
Herbata w żółtym pudełku <em>mieszczącym 100 sztuk</em>.<br/>
Opłacalny wybór.
</opis>
<cena>12</cena>
<vat>23</vat>
<cena-promocyjna od="2016-11-20" do="2016-11-21">10.99</cena-promocyjna>
<cena-promocyjna od="2016-11-10" do="2016-11-30">10.49</cena-promocyjna>
<!-- Komentarz herbaty -->
</towar>
<towar id-kategorii="herbata" id-towaru="lipton25">
<nazwa>Lipton 25 szt.</nazwa>
<opis>
Herbata w żółtym pudełku <em>mieszczącym 25 sztuk</em>.<br/>
<em><rem>Nieco mniej</rem> opłacalny wybór</em>.
</opis>
<cena>6.50</cena>
<vat>23</vat>
</towar>
<towar id-kategorii="kawa" id-towaru="jacobs-k">
<nazwa>Jacobs Krönung</nazwa>
A KUKU
<opis>
Królowa kawy od <link href="http://www.coffeemoose.pl/historia-firmy-jacobs">wielu lat</link>.
</opis>
<cena>13</cena>
<vat>23</vat>
<cena-promocyjna od="2016-11-18" do="2017-04-18">16</cena-promocyjna>
</towar>
<towar id-kategorii="herbata" id-towaru="dilmah">
<nazwa>Dilmah black tea</nazwa>
<opis>
Czarna herbata Dilmah. Klasyka smaku.
</opis>
<cena>16</cena>
<vat>23</vat>
<cena-promocyjna od="2016-11-12" do="2016-11-21">17</cena-promocyjna>
</towar>
<towar id-kategorii="kawa" id-towaru="tchibo">
<nazwa>Tchibo Family</nazwa>
<opis>
Ulubiona kawa rodzinna.<br/>
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
Ala ma kota a Ola ma psa. Ala z Olą lubią się jak pies z kotem.
</opis>
<cena>19</cena>
<vat>23</vat>
<cena-promocyjna od="2016-11-20" do="2016-11-21">16</cena-promocyjna>
</towar>
<towar>
<nazwa>Pan Tadeusz</nazwa>
<opis>
Litwo! Ojczyzno moja! ty jesteś jak zdrowie:
Ile cię trzeba cenić, ten tylko się dowie,
Kto cię stracił. Dziś piękność twą w całej ozdobie
Widzę i opisuję, bo tęsknię po tobie.
Panno święta, co Jasnej bronisz Częstochowy
I w Ostrej świecisz Bramie! Ty, co gród zamkowy
Nowogródzki ochraniasz z jego wiernym ludem!
Jak mnie dziecko do zdrowia powróciłaś cudem
(Gdy od płaczącej matki, pod Twoją opiekę
Ofiarowany, martwą podniosłem powiekę;
I zaraz mogłem pieszo, do Twych świątyń progu
Iść za wrócone życie podziękować Bogu),
Tak nas powrócisz cudem na Ojczyzny łono.
Tymczasem przenoś moją duszę utęsknioną
Do tych pagórków leśnych, do tych łąk zielonych,
Szeroko nad błękitnym Niemnem rozciągnionych;
Do tych pól malowanych zbożem rozmaitem,
Wyzłacanych pszenicą, posrebrzanych żytem;
Gdzie bursztynowy świerzop, gryka jak śnieg biała,
Gdzie panieńskim rumieńcem dzięcielina pała,
A wszystko przepasane jakby wstęgą, miedzą
Zieloną, na niej z rzadka ciche grusze siedzą.
</opis>
<cena>10000000</cena>
<vat>8</vat>
</towar>
<towar id-kategorii="czeko" id-towaru="wedel-g">
<nazwa>Wedel gorzka</nazwa>
<opis>
Czekolada gorzka i twarda.<br/>
<rem>Uwaga na zęby</rem>
</opis>
<cena>2.20</cena>
<vat>23</vat>
</towar>
<towar id-kategorii="czeko" id-towaru="wedel-m">
<nazwa>Wedel mleczna</nazwa>
<opis>
Jeśli ktoś lubi bardziej na słodko, czekolada mleczna będzie OK.
</opis>
<cena>2.20</cena>
<vat>23</vat>
</towar>
<towar id-kategorii="herbata" id-towaru="ahmad">
<nazwa>Ahmad Tea</nazwa>
<opis>
Mocna czarna herbata dla wybrednych. Jak dla mnie smaczniejsza niż <inny-towar ref="lipton100"/>.
</opis>
<cena>13</cena>
<vat>23</vat>
</towar>
<towar id-kategorii="herbata" id-towaru="saga">
<nazwa>Saga</nazwa>
<opis>
Tania herbata dla oszczędnych. <rem>Jednak nie tak tania jak produkty w Biedronce.</rem>
</opis>
<cena>13</cena>
<vat>23</vat>
</towar>
</sklep>
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="UTF-8" version="5"/>
<xsl:template match="/">
<html>
<head>
<title>Przykładowy sklep</title>
<xsl:call-template name="wstaw_css"/>
</head>
<body>
<h1>Asortyment sklepu</h1>
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="kategoria">
<div class="kategoria" id="K{@id}">
<xsl:apply-templates select="nazwa"/>
<xsl:apply-templates select="opis"/>
<ul>
<xsl:for-each select="//towar[@id-kategorii = current()/@id]">
<xsl:sort select="nazwa"/>
<li><a href="#T{@id-towaru}"><xsl:value-of select="nazwa"/></a></li>
</xsl:for-each>
</ul>
</div>
</xsl:template>
<xsl:template match="towar">
<div class="towar" id="T{@id-towaru}">
<xsl:apply-templates select="nazwa"/>
<xsl:if test="@id-kategorii">
<div>Kategoria: <a href="#K{@id-kategorii}"><xsl:value-of select="/sklep/kategoria[@id = current()/@id-kategorii]/nazwa"/></a></div>
</xsl:if>
<div>Cena netto: <xsl:value-of select="format-number(cena, '0.00')" /></div>
<div>Cena brutto: <xsl:value-of select="format-number(cena * (1 + vat div 100), '0.00')" /></div>
<div>Stawka VAT: <xsl:value-of select="vat"/>%</div>
<xsl:apply-templates select="opis"/>
</div>
</xsl:template>
<xsl:template match="nazwa">
<h2>
<xsl:apply-templates />
</h2>
</xsl:template>
<xsl:template match="opis">
<p class="opis">
<xsl:apply-templates />
</p>
</xsl:template>
<xsl:template match="em">
<strong>
<xsl:apply-templates />
</strong>
</xsl:template>
<xsl:template match="rem">
<span class="rem">
<xsl:apply-templates />
</span>
</xsl:template>
<xsl:template match="term">
<dfn>
<xsl:apply-templates />
</dfn>
</xsl:template>
<xsl:template match="link">
<a href="{@href}">
<xsl:apply-templates />
</a>
</xsl:template>
<xsl:template match="br">
<br/>
</xsl:template>
<xsl:template name="wstaw_css">
<style type="text/css"><![CDATA[
body {
background-color: white;
font-family: 'Arial', sans-serif;
font-size: 14pt;
}
.kategoria, .towar {
width: 800px;
margin: 20px auto;
padding: 10px 20px;
background-color: #DDDDDD;
}
.kategoria {
border: 6px outset red;
}
.towar {
border: 6px inset blue;
}
h2 {
color:blue;
text-align: center;
}
.opis {
margin: 0.5em 0;
}
.rem {
font-style: italic;
color: magenta;
font-size: smaller;
}
dfn {
font-weight: bold;
font-style: normal;
}
.komentarz {
color: green;
text-style: italic;
}
]]>
</style>
</xsl:template>
</xsl:stylesheet>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment