|
$vof() fonksiyonu eleman özelliklerine koşullara bağlı değer atamak için de kullanılabilir. Bir örnek yapmadan önce XML dokümanımızda "calisan" düğümünün altına, aşağıdaki gibi, yeni XML düğümleri ekleyelim.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<calisan>
<AD>Mehmet Çelik</AD>
<CINSIYET>E</CINSIYET>
<YAS>24</YAS>
</calisan>
</root>
|
İşte örneğimiz:
$vof(/calisan/CINSIYET = 'E' ? 'Bay' ; 'Bayan')
Bu fonksiyon, eğer çalışanın cinsiyeti erkek ise "Bay" diğer durumda ise "Bayan" döndürecektir. Sıklıkla kullanmakta olduğumuz $vof() aslında derleme zamanında doğal XSL ifadelerine genişletilen bir makrodur.
Bu defa ki "$vof(/calisan/CINSIYET = 'E' ? 'Bay' ; 'Bayan')" kullanımı Application Studio tarafından aşağıdaki XSL kodlarına dönüştürülecektir
<xsl:choose>
<xsl:when test="/root/calisan/CINSIYET = 'E'"><xsl:value-of select="'Bay'"/></xsl:when>
<xsl:otherwise><xsl:value-of select="'Bayan'"/></xsl:otherwise>
</xsl:choose>
|
Şimdi bu örneği biraz daha geliştirelim.
$vof(/calisan/CINSIYET = 'E' ? 'Bay' ; 'Bayan') $vof(/calisan/AD)
$vof(/calisan/YAS < 25 ? 'çok ')genç.
Sonuç:
Bay Mehmet Çelik
çok genç.
$vof() fonksiyonu farklı şekillerde kullanılabilir. İşte bazı örnekler:
$vof(YAS)
|
"YAS" adlı XML düğümünün değerini döndürür
|
$vof(YAS;VARSAYILAN_YAS)
|
"YAS" adlı XML düğümünün değerini döndürür. Eğer böyle bir düğüm mevcut değil ise veya düğümün değeri boş ise "VARSAYILAN_YAS" düğümünün değerini döndürür.
|
$vof(YAS < 25 ? 'genç')
|
Eğer "AGE" adlı XML düğümünün değeri 25 ten küçük ise "genç" değerini, aksi halde boş değer döndürür.
|
$vof(CINSIYET = 'E' ? 'Bay' ; 'Bayan')
|
"CINSIYET" adlı XML düğümü "E" değerini taşıyorsa "Bay" aksi durumda ise "Bayan" değerini döndürür.
|
$vof(A>B?(A>C?'A';'C');(B>C?'B';'C'))
|
Değeri en büyük olan XML düğümünün adını döndürür.
|
|