使用XSL 1.0,我發現了一個很好的標記化函數。現在我需要爲每個結果令牌。我對XSL非常陌生。XSL 1.0 - 如何在標記化字符串上使用每個字段
的PHP相當於什麼,我需要:
$in = 'a,b,c,d';
$tokens = explode (',', $in);
foreach ($tokens as $token) {
echo $token;
}
這裏是我到目前爲止所。這條線將輸出「A,B,C,d'-
<xsl:value-of select="@CommaSeparated" />
這將運行通過記號化該字符串功能 -
<xsl:call-template name="tokenize">
<xsl:with-param name="pText" select="@CommaSeparated"/>
</xsl:call-template>
而標記化的功能。我明白這是什麼呢,只是沒有數據的格式,它吐出OUT-
<xsl:template name="tokenize">
<xsl:param name="pText"/>
<xsl:if test="string-length($pText)">
<tag>
<xsl:value-of select=
"substring-before($pText, ',')"/>
</tag>
<xsl:call-template name="tokenize">
<xsl:with-param name="pText" select=
"substring-after($pText, ',')"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
所以你的問題到底是什麼? –
您是否問XSLT是否支持for-each?是的 - 'xsl:for-each',如果可能,最好避免使用模板分配。 – Utkanos
爲了記錄,我最終做的是編寫幾個類似Tokenize的函數來完成分割和輸出。因此,模板'Tokenize_Links'將採用'a,b,c'並輸出' a, b等'。 – user1472408