XSLT <xsl:apply-templates> Elemanı
Tanım ve Kullanım
<xsl:apply-templates> elementi, mevcut element veya bu elementin alt elementlerine şablon uygulamak için kullanılır.
Eğer <xsl:apply-templates> elementine select özelliği eklersek, sadece bu özelliğin değeri ile eşleşen alt elementleri işlemek olur. Select özelliği ile alt elementlerin işlem sırasını belirleyebiliriz.
Sözdizimi
<xsl:apply-templates select="expression" mode="name"> <!-- İçerik:(xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
Özellik
Özellik | Değer | Açıklama |
---|---|---|
select | İfade | Opsiyonel. İşlem yapılacak düğümü belirlemek için kullanılır. Yıldız ile tüm düğüm kümesini seçer. Bu özellik atlanırsa, mevcut düğümün tüm alt düğümleri seçilir. |
mode | İsim | Opsiyonel. Aynı element için birden fazla işlem tanımlıysa, mode ile onları ayırmak için kullanılır. |
Örnek
Örnek 1
Her title elementini h1 elementi ile etrafına almak için:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="title"> <h1><xsl:apply-templates/></h1> </xsl:template> </xsl:stylesheet>
Örnek 2
Belirli bir message özniteliğine ait tüm alt elementlerin title elementlerini h1 elementi ile etrafına almak için:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="message"> <h1><xsl:apply-templates select="title"/></h1> </xsl:template> </xsl:stylesheet>
Örnek 3
Belirli bir mode özelliği olan "big" message özniteliğine sahip tüm alt düğümleri h1 elementi ile etrafına almak için:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="message"> <h1><xsl:apply-templates select="*" mode="big"/></h1> </xsl:template> </xsl:stylesheet>