Şablon dosyasının amacı modül sayfası çağrıldığında gösterilecek içeriği HTML dilinde çizmektir.
Her modül sayfa şablonu dosyasının kendi sayfa düzenini tanımladığı module-my-page-layout
adlı özel bir XSL şablonu olmalıdır.
merhabadunya modülünde tek bir içerik alanı olacağından bu XSL şablonunu aşağıdaki şekilde tanımlayabiliriz:
<xsl:template name="module-my-page-layout">
<xsl:copy-of select="$site-layout/document/page[@im='merhabadunya']"/
</xsl:template>
Ayrıca eIrene modül içeriğinin sayfaya yazılması amacıyla sayfa düzeni işlemcisi tarafından gerektiğinde çalışması için aşağıdaki bir koşullu XSL şablonunu tanımlanması gerekir.
Sayfanın başında "Merhaba Dünya!" yazısını başlık şeklinde göstereceğiz. Ardından gelen satırlarda 3 farklı gösterim mümkün:
?im=merhabadunya&ip=1
" durumunda kullanıcının IP adresini sunucu tarafındaki ilgili betiğk aracılığıyla bulunarak gösterilmesi?im=merhabadunya&ip=x
" (ip nin 1 dışında bir değer alması) durumunda kullanıcıya hata mesajı gösterilmesiYukarıda anlatılan şablonu aşağıdaki şekilde yazabiliriz:
<xsl:template match="content[@type='merhabadunya']" mode="page-layout">
<div id="merhabaDiv">
<h1>Merhaba Dünya</h1>
<xsl:choose>
<xsl:when test="$get/ip=1">
<p>IP: <xsl:value-of select="php:function( 'visitorIP')"/></p>
<p><a href="?im=merhabadunya">Geri</a></p>
</xsl:when>
<xsl:when test="$get/ip">
<p>Hatalı URL: ip=1 olmalı</p>
<p><a href="?im=merhabadunya">Geri</a></p>
</xsl:when>
<xsl:otherwise>
<p><a href="?im=merhabadunya&ip=1">IP'mi göster</a></p>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>
NOT: Yukarıda koyu işaretli gösterilen visitorIP()
işlevini daha sonra sunucu tarafı betiği olarak kodlayacağız.
Böylelikle merhabadunya.xsl dosyasının son şekli aşağıdaki gibi olacaktır:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl"
exclude-result-prefixes="php">
<xsl:import href="index.xsl"/>
<xsl:template match="content[@type='merhabadunya']" mode="page-layout">
<div id="merhabaDiv">
<h1>Merhaba Dünya!</h1>
<xsl:choose>
<xsl:when test="$get/ip=1">
<p>IP: <xsl:value-of select="php:function( 'visitorIP')"/></p>
<p><a href="?im=merhabadunya">Geri</a></p>
</xsl:when>
<xsl:when test="$get/ip">
<p>Hatalı URL: ip=1 olmalı</p>
<p><a href="?im=merhabadunya">Geri</a></p>
</xsl:when>
<xsl:otherwise>
<p><a href="?im=merhabadunya&ip=1">IP'mi göster</a></p>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>
<xsl:template name="module-my-page-layout">
<xsl:copy-of select="$site-layout/document/page[@im='merhabadunya']"/
</xsl:template>
</xsl:stylesheet>