Xslt ile AlternatingItem ve Sort
27 Ocak Salı, 2009 | Asp.net Xml /*Yorumlar (0)*/
Xslt ile çalışıyorsanız bir kaç küçük ayrıntı.
- Xml verilerini sıralamak için for-each kalıbına
<xsl:sort select="." order="ascending"/>
yazmak yeterli.
- Satırları ardışık olarak renklendirmek için de mod operatörü ve position() fonksiyonu bu işin üstesinden gelecektir.
<xsl:variable name=mod1 select="position()"/> <xsl:if test="$modi mod 2 = 1">
Kodun tamamı;
<?xml version="1 .0" encoding="utf-8" ?> <Sehirler> <Sehir>Istanbul / Ataturk</Sehir> <Sehir>Ankara / Esenboga</Sehir> <Sehir>Ankara / Etimesgut</Sehir> <Sehir>Murted Tur—Afb</Sehir> <Sehir>Adana / Sakirpasa</Sehir> <Sehir>Adana / Incirlik</Sehir> <Sehir>Atyon</Sehir> <Sehir>Antalya</Sehir> <Sehir >Gaziantep</Sehir> <Sehir>Iskenderun</Sehir> <Sehir>Konya</Sehir> <Sehir>Merzifon</Sehir> <Sehir>Samsun</Sehir> <Sehir>Sivas</Sehir>
Xml verisinin devamı için tıklayın...
<xsl:template match="/"> <table style="width :200px;color:#333333;border-collapse:collapse;font-family:verdana;font-size : 10px;" cellspacing="0" cellpadding="4" border="0"> <tr style="color:White;background-color:#5D7B9D;font-weight:bold;"> <th scope="col">Şehirler</th> </tr> <xsl:for-each select="Sehirler/Sehir"> <xsl:sort select="." order="ascending"/> <xsl:variable name="modi" select="position()"/> <xsl:if test="$modi mod 2 = 1"> <tr style="color:#333333;background-color:#F7F6F3;"> <td> <xsl:value-of select="." /> </td> </tr> </xsl:if> <xsl:if test="$modi mod 2 = 0"> <tr style="color:#284775;background-color:White;"> <td> <xsl:value-of select="."/> </td> </tr> </xsl:if> </xsl:for-each> <tr style="color:White;background-color:#5D7B9D;font-weight:bold;"> <th>-</th> </tr> </table> </xsl:template>
