Created
January 21, 2016 16:06
-
-
Save mcanvar/4bdff61890d6e34d94bc to your computer and use it in GitHub Desktop.
XSL vize çalışma örneği: TCMB Today.xml kaynağını kullandım.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<?xml-stylesheet type="text/xsl" href="vize_denemeler.xsl"?> | |
<!-- author: [email protected] --> | |
<Currencies Tarih="13.11.2015" Date="11/13/2015" Bulten_No="2015/216"> | |
<Currency CrossOrder="0" Kod="USD" CurrencyCode="USD"> | |
<Unit>1</Unit> | |
<Name Lang="tr">ABD DOLARI</Name> | |
<Name Lang="en">US DOLLAR</Name> | |
<ForexBuying>2.8686</ForexBuying> | |
<ForexSelling>2.8738</ForexSelling> | |
<BanknoteBuying>2.8666</BanknoteBuying> | |
<BanknoteSelling>2.8781</BanknoteSelling> | |
<CrossRateUSD>1</CrossRateUSD> | |
<Country State="Virginia" /> | |
<Country State="Kentucky" /> | |
<Country State="Nevada" /> | |
</Currency> | |
<Currency CrossOrder="1" Kod="AUD" CurrencyCode="AUD"> | |
<Unit>1</Unit> | |
<Name Lang="tr">AVUSTRALYA DOLARI</Name> | |
<Name Lang="en">AUSTRALIAN DOLLAR</Name> | |
<ForexBuying>2.0426</ForexBuying> | |
<ForexSelling>2.0559</ForexSelling> | |
<BanknoteBuying>2.0332</BanknoteBuying> | |
<BanknoteSelling>2.0682</BanknoteSelling> | |
<CrossRateUSD>1.4011</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="2" Kod="DKK" CurrencyCode="DKK"> | |
<Unit>1</Unit> | |
<Name Lang="tr">DANİMARKA KRONU</Name> | |
<Name Lang="en">DANISH KRONE</Name> | |
<ForexBuying>0.41349</ForexBuying> | |
<ForexSelling>0.41552</ForexSelling> | |
<BanknoteBuying>0.4132</BanknoteBuying> | |
<BanknoteSelling>0.41648</BanknoteSelling> | |
<CrossRateUSD>6.9269</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="10" Kod="GBP" CurrencyCode="GBP"> | |
<Unit>1</Unit> | |
<Name Lang="tr">İNGİLİZ STERLİNİ</Name> | |
<Name Lang="en">POUND STERLING</Name> | |
<ForexBuying>4.3582</ForexBuying> | |
<ForexSelling>4.381</ForexSelling> | |
<BanknoteBuying>4.3551</BanknoteBuying> | |
<BanknoteSelling>4.3876</BanknoteSelling> | |
<CrossRateUSD> | |
</CrossRateUSD> | |
<CrossRateOther>1.5219</CrossRateOther> | |
<Country State="England" /> | |
<Country State="Scotland" /> | |
</Currency> | |
<Currency CrossOrder="3" Kod="CHF" CurrencyCode="CHF"> | |
<Unit>1</Unit> | |
<Name Lang="tr">İSVİÇRE FRANGI</Name> | |
<Name Lang="en">SWISS FRANK</Name> | |
<ForexBuying>2.854</ForexBuying> | |
<ForexSelling>2.8723</ForexSelling> | |
<BanknoteBuying>2.8497</BanknoteBuying> | |
<BanknoteSelling>2.8766</BanknoteSelling> | |
<CrossRateUSD>1.0028</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="4" Kod="SEK" CurrencyCode="SEK"> | |
<Unit>1</Unit> | |
<Name Lang="tr">İSVEÇ KRONU</Name> | |
<Name Lang="en">SWEDISH KRONA</Name> | |
<ForexBuying>0.32968</ForexBuying> | |
<ForexSelling>0.33309</ForexSelling> | |
<BanknoteBuying>0.32945</BanknoteBuying> | |
<BanknoteSelling>0.33386</BanknoteSelling> | |
<CrossRateUSD>8.6642</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="6" Kod="CAD" CurrencyCode="CAD"> | |
<Unit>1</Unit> | |
<Name Lang="tr">KANADA DOLARI</Name> | |
<Name Lang="en">CANADIAN DOLLAR</Name> | |
<ForexBuying>2.1555</ForexBuying> | |
<ForexSelling>2.1652</ForexSelling> | |
<BanknoteBuying>2.1475</BanknoteBuying> | |
<BanknoteSelling>2.1734</BanknoteSelling> | |
<CrossRateUSD>1.329</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="11" Kod="KWD" CurrencyCode="KWD"> | |
<Unit>1</Unit> | |
<Name Lang="tr">KUVEYT DİNARI</Name> | |
<Name Lang="en">KUWAITI DINAR</Name> | |
<ForexBuying>9.3906</ForexBuying> | |
<ForexSelling>9.5135</ForexSelling> | |
<BanknoteBuying>9.2497</BanknoteBuying> | |
<BanknoteSelling>9.6562</BanknoteSelling> | |
<CrossRateUSD> | |
</CrossRateUSD> | |
<CrossRateOther>3.292</CrossRateOther> | |
</Currency> | |
<Currency CrossOrder="7" Kod="NOK" CurrencyCode="NOK"> | |
<Unit>1</Unit> | |
<Name Lang="tr">NORVEÇ KRONU</Name> | |
<Name Lang="en">NORWEGIAN KRONE</Name> | |
<ForexBuying>0.32964</ForexBuying> | |
<ForexSelling>0.33186</ForexSelling> | |
<BanknoteBuying>0.32941</BanknoteBuying> | |
<BanknoteSelling>0.33262</BanknoteSelling> | |
<CrossRateUSD>8.681</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="8" Kod="SAR" CurrencyCode="SAR"> | |
<Unit>1</Unit> | |
<Name Lang="tr">SUUDİ ARABİSTAN RİYALİ</Name> | |
<Name Lang="en">SAUDI RIYAL</Name> | |
<ForexBuying>0.76493</ForexBuying> | |
<ForexSelling>0.76631</ForexSelling> | |
<BanknoteBuying>0.75919</BanknoteBuying> | |
<BanknoteSelling>0.77206</BanknoteSelling> | |
<CrossRateUSD>3.7502</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="5" Kod="JPY" CurrencyCode="JPY"> | |
<Unit>100</Unit> | |
<Name Lang="tr">JAPON YENİ</Name> | |
<Name Lang="en">JAPENESE YEN</Name> | |
<ForexBuying>2.3326</ForexBuying> | |
<ForexSelling>2.3481</ForexSelling> | |
<BanknoteBuying>2.324</BanknoteBuying> | |
<BanknoteSelling>2.357</BanknoteSelling> | |
<CrossRateUSD>122.68</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="12" Kod="BGN" CurrencyCode="BGN"> | |
<Unit>1</Unit> | |
<Name Lang="tr">BULGAR LEVASI</Name> | |
<Name Lang="en">BULGARIAN LEV</Name> | |
<ForexBuying>1.5709</ForexBuying> | |
<ForexSelling>1.5915</ForexSelling> | |
<CrossRateUSD>1.8159</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="13" Kod="RON" CurrencyCode="RON"> | |
<Unit>1</Unit> | |
<Name Lang="tr">RUMEN LEYİ</Name> | |
<Name Lang="en">NEW LEU</Name> | |
<ForexBuying>0.69172</ForexBuying> | |
<ForexSelling>0.70077</ForexSelling> | |
<CrossRateUSD>4.1238</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="14" Kod="RUB" CurrencyCode="RUB"> | |
<Unit>1</Unit> | |
<Name Lang="tr">RUS RUBLESİ</Name> | |
<Name Lang="en">RUSSIAN ROUBLE</Name> | |
<ForexBuying>0.04283</ForexBuying> | |
<ForexSelling>0.04339</ForexSelling> | |
<CrossRateUSD>66.61</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="15" Kod="IRR" CurrencyCode="IRR"> | |
<Unit>100</Unit> | |
<Name Lang="tr">İRAN RİYALİ</Name> | |
<Name Lang="en">IRANIAN RIAL</Name> | |
<ForexBuying>0.00952</ForexBuying> | |
<ForexSelling>0.00964</ForexSelling> | |
<CrossRateUSD>29964</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="16" Kod="CNY" CurrencyCode="CNY"> | |
<Unit>1</Unit> | |
<Name Lang="tr">ÇİN YUANI</Name> | |
<Name Lang="en">CHINESE RENMINBI</Name> | |
<ForexBuying>0.44755</ForexBuying> | |
<ForexSelling>0.45341</ForexSelling> | |
<CrossRateUSD>6.3737</CrossRateUSD> | |
</Currency> | |
<Currency CrossOrder="17" Kod="PKR" CurrencyCode="PKR"> | |
<Unit>1</Unit> | |
<Name Lang="tr">PAKİSTAN RUPİSİ</Name> | |
<Name Lang="en">PAKISTANI RUPEE</Name> | |
<ForexBuying>0.02707</ForexBuying> | |
<ForexSelling>0.02742</ForexSelling> | |
<CrossRateUSD>105.4</CrossRateUSD> | |
</Currency> | |
</Currencies> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!-- author: [email protected] --> | |
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> | |
<xsl:output method="html"/> | |
<xsl:template match="/"> | |
<html> | |
<head> | |
<title>FÜZE DENEMESİ</title> | |
</head> | |
<body> | |
<br /> | |
<b>Sadece döviz kodu yazımı: </b> | |
<xsl:for-each select="Currencies/Currency"> | |
<xsl:value-of select="@CurrencyCode" />, | |
</xsl:for-each><br /> | |
<hr /> | |
<b>CrossOrder < 5: </b> | |
<xsl:for-each select="Currencies/Currency"> | |
<xsl:if test="@CrossOrder < 5"> | |
<xsl:value-of select="Name" />, | |
</xsl:if> | |
</xsl:for-each><br /> | |
<hr /> | |
<b>İngilizce isimleri: </b> | |
<xsl:for-each select="Currencies/Currency"> | |
<xsl:value-of select="Name[@Lang = 'en']" /> | |
<xsl:choose> | |
<xsl:when test="position() = last()-1"> | |
and | |
</xsl:when> | |
<xsl:when test="position() = last()"> | |
. | |
</xsl:when> | |
<xsl:otherwise> | |
, | |
</xsl:otherwise> | |
</xsl:choose> | |
</xsl:for-each><br /> | |
<hr /> | |
<b>Foreks alış değerine göre sıralanmış: </b><br /> | |
<xsl:for-each select="Currencies/Currency"> | |
<xsl:sort select="ForexBuying" order="ascending" data-type="number" /> | |
<xsl:value-of select="ForexBuying" /> - <xsl:value-of select="Name[@Lang = 'tr']" /><br /> | |
</xsl:for-each><br /> | |
<hr /> | |
<b>XSL Attribute etiketi ile link yapma: </b> | |
<a> | |
<xsl:attribute name="href"> | |
#<xsl:value-of select="Currencies/Currency[@CrossOrder='10']/Name[@Lang = 'tr']" /> | |
</xsl:attribute> | |
<xsl:value-of select="Currencies/Currency/Name[@Lang = 'tr']" /> | |
</a><br /> | |
<hr /> | |
<b>Kodlara template uygulama: </b>- | |
<xsl:for-each select="Currencies/Currency"> | |
<xsl:apply-templates select="@Kod" /> - | |
</xsl:for-each><br /> | |
<hr /> | |
<b>Tek bir içeriğe template uygulama: </b>- | |
<xsl:apply-templates select="Currencies/Currency[position()=3]/Name[@Lang='en']" /><br /> | |
<hr /> | |
<b>Son Düğümün bütün çocuk düğümleri: </b> | |
<xsl:value-of select="Currencies/*[position()=last()]" /><br /> | |
<hr /> | |
<b>2. Düğümün isminin, ebeveyninin, 3. düğümünün, Name'i: </b> | |
<xsl:value-of select="Currencies/Currency[position()=2]/../Currency[position()=3]/Name" /><br /> | |
<hr /> | |
<b>7. Düğümün, Name'inin BanknoteSelling sibling'i: </b> | |
<xsl:value-of select="Currencies/Currency[position()=7]/Name/../BanknoteSelling" /><br /> | |
<hr /> | |
<b>İlk, Name'inin, Parent'ının Kod attribute'ü: </b> | |
<xsl:value-of select="Currencies/Currency/Name/../@Kod" /> | |
<xsl:value-of select="Currencies/Currency[position()=7]/Name/../BanknoteSelling" /><br /> | |
<hr /> | |
<b>Son düğümün bütün attribute'leri: </b><br /> | |
<xsl:for-each select="Currencies/Currency[last()]/@*"> | |
<xsl:value-of select="." /><br /> | |
</xsl:for-each><br /> | |
<hr /> | |
<b>Çin Yuanı düğümünün türkçe ismine, absolute adres ile erişme: </b><br /> | |
<xsl:value-of select="/Currencies/Currency[@CrossOrder='16']/Name[@Lang='tr']" /><br /> | |
<hr /> | |
<b>Bütün torun düğümlerden @State att sahip olanları: </b><br /> | |
<xsl:for-each select="//*/@State"> | |
<xsl:value-of select="." /><br /> | |
</xsl:for-each><br /> | |
<hr /> | |
<b>Bütün Unit isimli düğümlerin kardeş düğümleri: </b><br /> | |
<xsl:for-each select="//Unit"> | |
<xsl:value-of select=".." /><br /> | |
</xsl:for-each><br /> | |
<hr /> | |
<b>Satış fiyatı 2 ten büyük, 5 ten küçük olanları isimleriyle beraber tablo halinde, azalan sıralı: </b><br /> | |
<table border="1"> | |
<tr> | |
<td>İsim</td> | |
<td>Satış</td> | |
</tr> | |
<xsl:for-each select="Currencies/Currency[BanknoteSelling > 2][BanknoteSelling < 5]"> | |
<xsl:sort select="./BanknoteSelling" order="descending" data-type="number" /> | |
<tr> | |
<td><xsl:value-of select="./Name" /></td> | |
<td><xsl:value-of select="./BanknoteSelling" /></td> | |
</tr> | |
</xsl:for-each> | |
</table><br /> | |
<hr /> | |
<b>Dizi deklarasyonu ile 4. düğümü görüntüleme: </b><br /> | |
<xsl:value-of select="Currencies/Currency[4]" /><br /> | |
<hr /> | |
<b>Doların normal ve foreks alış satış farkı: </b><br /> | |
Normal: <xsl:value-of select="Currencies/Currency[1]/BanknoteSelling - Currencies/Currency[1]/BanknoteBuying" /><br /> | |
Foreks: <xsl:value-of select="Currencies/Currency[1]/ForexSelling - Currencies/Currency[1]/ForexBuying" /><br /> | |
<hr /> | |
<b>Doların normal ve foreks alış satış farkı: </b><br /> | |
Normal: <xsl:value-of select="Currencies/Currency[1]/BanknoteSelling - Currencies/Currency[1]/BanknoteBuying" /><br /> | |
Foreks: <xsl:value-of select="Currencies/Currency[1]/ForexSelling - Currencies/Currency[1]/ForexBuying" /><br /> | |
<hr /> | |
<b>Bütün döviz tiplerinin sayısı: </b> | |
<xsl:value-of select="count(Currencies/Currency)" /><br /> | |
<hr /> | |
<b>Doların normal ve foreks alış satış farkı: </b><br /> | |
Normal: <xsl:value-of select="Currencies/Currency[1]/BanknoteSelling - Currencies/Currency[1]/BanknoteBuying" /><br /> | |
Foreks: <xsl:value-of select="Currencies/Currency[1]/ForexSelling - Currencies/Currency[1]/ForexBuying" /><br /> | |
<hr /> | |
<b>Satış fiyatlarını formatlı(#,##0.00) gösterme: </b><br /> | |
<xsl:for-each select="Currencies/Currency"> | |
<xsl:value-of select="format-number(./BanknoteSelling, '#,##0.00')" /> - | |
</xsl:for-each><br /> | |
<hr /> | |
<b>Round, Ceiling ve Floor ile tüm düğümleri gösterme: </b><br /> | |
R: <xsl:for-each select="Currencies/Currency"> | |
<xsl:value-of select="round(./ForexSelling)" /> - | |
</xsl:for-each><br /> | |
C: <xsl:for-each select="Currencies/Currency"> | |
<xsl:value-of select="ceiling(./ForexSelling)" /> - | |
</xsl:for-each><br /> | |
F: <xsl:for-each select="Currencies/Currency"> | |
<xsl:value-of select="floor(./ForexSelling)" /> - | |
</xsl:for-each><br /> | |
<hr /> | |
<b>str fonksiyonlar: </b><br /> | |
substring-before: <xsl:value-of select="substring-before(/Currencies/Currency[@CrossOrder='16']/Name[@Lang='tr'], ' ')" /><br /> | |
substring-after: <xsl:value-of select="substring-after(/Currencies/Currency[@CrossOrder='16']/Name[@Lang='tr'], ' ')" /><br /> | |
substring: <xsl:value-of select="substring(/Currencies/Currency[@CrossOrder='16']/Name[@Lang='tr'],2,2)" /><br /> | |
translate: <xsl:value-of select="translate(/Currencies/Currency[@CrossOrder='16']/Name[@Lang='tr'],'ÇİNYUANI','çinyuanı')" /><br /> | |
<hr /> | |
<b>Bütün ForexBuying in ortalaması: </b><br /> | |
<xsl:value-of select="sum(/Currencies/Currency/ForexBuying) div count(/Currencies/Currency/ForexBuying)" /><br /> | |
<hr /> | |
<b>Diğer Fonksiyonlar: </b><br /> | |
name: <xsl:value-of select="name(/Currencies/Currency/ForexBuying)" /><br /> | |
contains: <xsl:value-of select="contains(/Currencies/Currency/Name, substring-after(/Currencies/Currency/Name, ' '))" /><br /> | |
string-length: <xsl:value-of select="string-length(/Currencies/Currency/Name)" /><br /> | |
</body> | |
</html> | |
</xsl:template> | |
<xsl:template match="@Kod"> | |
<i style="color: #bf1e2e"> | |
<xsl:value-of select="." /> | |
</i> | |
</xsl:template> | |
<xsl:template match="Currency[position()=3]/Name[@Lang='en']"> | |
<b style="color: #bf1e2e"> | |
<xsl:value-of select="." /> | |
</b> | |
</xsl:template> | |
</xsl:stylesheet> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment