$vof() Fonksiyonu

Top  Previous  Next

$vof() fonksiyonu, eleman özelliklerini dinamik olarak XML düğümlerine göre belirlemek amacıyla kullanılır. Nerede ve nasıl kullanıldığına bağlı olarak, fonksiyon, designer tarafından uygun XSL talimatlarına dönüştürülür.

Örnek:

Bir metin elemanının değer özelliğinde $vof() kullanılması

XML verisi:

 

 <?xml version="1.0" encoding="UTF-8"?>

 <root>

  <Personel>

    <Ad>Ahmet Çalışkan</Ad>

  </Personel>

 </root>

 

 

"Değer" özelliğindeki kullanım:

Personel Adı: $vof(/Personel/Ad)

 
Derleme sonucunda XSL dokümanı içindeki durum:

<td>Personel Adı: <xsl:value-of select="/root/Personel/Ad"/></td>

 

 
Tarayıcı üzerindeki sonuç:

Personel Adı: Ahmet Çalışkan

 

Not: Tanım yaparken kök düğüm olan root verilmek zorunda değildir. Derleme sırasında kök düğüm adı designer tarafından eklenir.

$vof() fonsiyonu tanımlarken iki tür söz dizimi kullanılabilir:

Söz dizimi 1

$vof(ifade [; varsayılan-ifade ])

 

Önce ifade değerlendirilir. Eğer sonuçta elde edilen değer boş değilse kullanılır; eğer boş ise o zaman varsayılan-ifade kullanılır.

Söz dizimi 2

$vof(test-ifadesi ; doğru-ifadesi [; yanlış-ifadesi])
  veya

$vof(test-ifadesi doğru-ifadesi [; test-ifadesi doğru-ifadesi [; yanlış-ifadesi])

 

 

Örnekler:

Tanımlama:

$vof(Ad)

 

Dönüşüm sonucu:

 

  <xsl:value-of select="Ad"/>

 

 

 

Tanımlama:

$vof(Ad;'Değer verilmemiş')

 

Dönüşüm sonucu:

 

  <xsl:choose>

    <xsl:when test="Ad != ''"><xsl:value-of select="Ad"/></xsl:when>

    <xsl:otherwise><xsl:value-of select="'Değer verilmemiş'"/></xsl:otherwise>

  </xsl:choose>

 

 

 

Tanımlama:

$vof(sayac > 5 ? '5 ten büyük' ; '5 ten küçük veya eşit')

 

Dönüşüm sonucu:

 

  <xsl:choose>

    <xsl:when test="sayac > 5"><xsl:value-of select="'5 ten büyük'"/></xsl:when>

    <xsl:otherwise>

      <xsl:value-of select="'5 ten küçük veya eşit'"/>

    </xsl:otherwise>

  </xsl:choose>

 

 

 

Tanımlama:

$vof(Yas < 15 ? 'Çocuk' ; Age < 30 ? 'Genç' ; Age < 50 ? 'Orta Yaşlı' ; 'Emekli')

 

Dönüşüm sonucu:

 

  <xsl:choose>

    <xsl:when test="Yas &lt; 15"><xsl:value-of select="'Çocuk'"/></xsl:when>

    <xsl:when test="Yas &lt; 30"><xsl:value-of select="'Genç'"/></xsl:when>

    <xsl:when test="Yas &lt; 50"><xsl:value-of select="'Orta Yaşlı'"/></xsl:when>

    <xsl:otherwise><xsl:value-of select="'Emekli'"/></xsl:otherwise>

  </xsl:choose>

 

 

 

İç içe kullanım

Fonksiyon içinde ifadeleri parantezler içine alarak iç içe kullanım mümkündür.

Tanımlama:

$vof(A = B ? ( C ; 'X') ; (C = D ? X ; Y)) 

 

 

Dönüşüm sonucu:

 

  <xsl:choose>

  <xsl:when test="A = B">

    <xsl:choose>

      <xsl:when test="C != ''"><xsl:value-of select="C"/></xsl:when>

      <xsl:otherwise><xsl:value-of select="'X'"/></xsl:otherwise>

    </xsl:choose>

  </xsl:when>

  <xsl:otherwise>

    <xsl:choose>

    <xsl:when test="C = D"><xsl:value-of select="X"/></xsl:when>

    <xsl:otherwise><xsl:value-of select="Y"/></xsl:otherwise>

    </xsl:choose>

  </xsl:otherwise>

  </xsl:choose>