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>