我有一些看起来像这样的XML:
<interp type="flowers color">Here is something concerning flowers and color.</interp>
我试图将其变成这样的东西:
<td class="interp">
<span class="tag">flowers</span>
<span class="tab">color</span>
Here is something concerning flowers and color.
</td>
所以这就是我一直在尝试的XSL:
<xsl:template match="interp">
<td class="interp">
<xsl:apply-templates select="@type | node()"/>
</td>
</xsl:template>
<xsl:template match="@type">
<xsl:for-each select=".">
<span class="tag">
<xsl:value-of select="."/>
</span>
</xsl:for-each>
</xsl:template>
但我得到的更像是这样:
<span class="tag">flowers color</span>
Here is something concerning flowers and color.
我做错了什么,如何将这些属性值分开?
答案 0 :(得分:0)
使用像Saxon 9这样的XSLT 2.0处理器,您可以使用<xsl:for-each select="tokenize(., '\s+')">
。使用XSLT 1.0检查您的处理器是否支持扩展功能或使用模板拆分或标记属性值,请参阅http://exslt.org/str/functions/tokenize/index.html。