源文件包含
<p>TEST</p>
将XSLT应用于输入文件所需的输出:
<p>T</p>
<p>E</p>
<p>S</p>
<p>T</p>
有可能吗?
答案 0 :(得分:2)
你可以在XSLT中尝试递归:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<root>
<xsl:call-template name="for-each-character">
<xsl:with-param name="data" select="p/text()"/>
</xsl:call-template>
</root>
</xsl:template>
<xsl:template name="for-each-character">
<xsl:param name="data"/>
<xsl:if test="string-length($data) > 0">
<p>
<xsl:value-of select="substring($data,1,1)"/>
</p>
<xsl:call-template name="for-each-character">
<xsl:with-param name="data" select="substring($data,2,string-length($data))"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
希望这有帮助。