Aşağıdaki kod recursive (yinelemeli) method ile XML dosyasında belirli bir karakter ile birbirinden ayrılarak oluşturulmuş bir elementin içeriğini (ör: <photos>1.jpg|2.jpg|3.jpg|</photos>) aynı karakterden (|) yararlanıp ayırarak (split) yeni içeriğin kullanılmasına bir örnek [1]:
[sourcecode language="xml"]
<xsl:template name="output-tokens">
<xsl:param name="list" select="/album/photos"/>
<xsl:variable name="first" select="substring-before($list, '|')" />
<xsl:variable name="remaining" select="substring-after($list, '|')" />
<xsl:if test="$first">
<img src="{$first}" width="240" height="155"/>
</xsl:if>
<xsl:if test="$remaining">
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$remaining" />
</xsl:call-template>
</xsl:if>
</xsl:template>
[/sourcecode]
<xsl:call-template name="output-tokens"/> ile şablon, XSL içinden çağrılarak çalıştırılıyor.
Kaynaklar:
[1] http://stackoverflow.com/questions/136500/does-xslt-have-a-split-function
Hiç yorum yok:
Yorum Gönder