Özellik ''Tekrarlama | İç Tekrarlamalar İçin Parametreler'' <xslparms>

Top  Previous  Next

"Tekrarlama | Her Bir ... İçin" özelliğinde, yapılan sorgulama sonucunda elde edilen XML düğümleri için taşıyıcı eleman, tüm içeriği ile birlikte tekrarlanır. Her bir tekrarlama esnasında, o anda odaklanılmış olan XML düğümüne göreceli ("x", "x/y", "../z" şeklinde) adreslemeler yapmak mümkündür.

Eğer taşıcıyı içinden gerekli olan tüm XML düğümlerine göreceli olarak ulaşılabiliyorsa, "İç Tekrarlamalar İçin Parametreler" özelliğini tanımlamaya gerek yoktur.

Sözdizimi

parametre-adı:düğüm-seçimi[;parametre-adı:düğüm-seçimi]

 

Örnek: " İç Tekrarlamalar İçin Parametreler" özelliğini kullanmadan

XML Verisi:

 

 <root>

  <urunler>

    <kategori>Beyaz Eşya</kategori>

    <urun no="10001">

      <ad>Buzdolabı</ad>

    </urun>

    <urun no="20002">

      <ad>Mikrodalga Fırın</ad>

    </urun>

  </urunler>

 </root>

 

 

Taşıyıcı elemanın "Tekrarlama" özellikleri;

without_inner_pe

 

Taşıyıcı içindeki elemanlar

without_inner_for

Sonuç:

without_inner_result

Ancak istediğimiz düğümlere göreceli olarak ulaşamadığımız bir durumda "İç Tekrarlamalar İçin Parametreler" özelliğini kullanmak zorunlu hale gelir.

Örnek: " İç Tekrarlamalar İçin Parametreler" özelliğini kullanarak

XML Verisi:

 

 <root>

  <kurslar>

    <item>

      <no>1</no>

      <ad>MoreMotion Application Studio</ad>

      <ogretmen>Erkan Cengiz</ogretmen>

    </item>

    <item>

      <no>2</no>

      <ad>C++ Programlama</ad>

      <ogretmen>Kaan Aslan</ogretmen>

    </item>

  </kurslar>

  <ogrenciler>

    <item>

      <ad>Hasan Bayoğlu</ad>

      <kurs-no>1</kurs-no>

    </item>

    <item>

      <ad>Suna Yıldırım</ad>

      <kurs-no>1</kurs-no>

    </item>

    <item>

      <ad>Cemil Kızıltay</ad>

      <kurs-no>2</kurs-no>

    </item>

  </ogrenciler>

 </root>

 

 

Taşıyıcı Elemanın "Tekrarlama" özellikleri:

inner_repeat_prop

 

Taşıyıcı içindeki elemanlar:

for_inner_repeat_design

Sonuç:

for_inner_repeats

 

Açıklama:

Taşıyıcı içindeki ilk metin elemanı; öğrencinin adını, ikinci ise; öğrencinin katıldığı kursun adını gösterecektir. /ogrenciler/item düğümleri içinde kursun adı değil, sadece numarası var. Kurs adı ancak o anki kurs-no değeri ile kurslar düğümüne yapılacak, aşağıdaki gibi, bir sorgulama sonucunda elde edilebilir.

/kurslar/item[no = $no]/ad

 
Bu sorgulamada kullanılan $no; "İç Tekrarlamalar İçin Parametreler" özelliğinde no:kurs-no ifadesiyle tanımlanmış olan bir XSL değişkenidir. Bu değişkenin değeri tekrarlama sırasında o anda odaklanılmış olan /ogrenciler/item düğümü içindeki kurs-no düğümünün değeridir.

 

Bakın Tekrarlama Özelliği.