1
您好,我在我的xslt中使用一個外部命名模板來標記一個字符串並將其存儲在一個變量中。 我使用的是Altova XML SPY,我僅限於xslt 1.0。問題是每次我必須從內置XSLT引擎更改選項到Microsoft。 是否有任何節點集函數或一些其他函數而不是節點集的內置XSLT引擎XSLT 1.0在xslt-engine中構建的altova xmlspy是否沒有節點集功能?
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:import href="tokenize.xsl"/>
<xsl:template match="/string/upara">
<xsl:variable name="string">
<xsl:call-template name="tokenizeString">
<xsl:with-param name="list" select="/string/upara"/>
<xsl:with-param name="delimiter" select="' '"/>
</xsl:call-template>
</xsl:variable>
<xsl:for-each select="msxsl:node-set($string)/word">
<xsl:value-of select="string-length(.)" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
XML我現在用的就是
<string>
<upara>This is a small string </upara>
</string>
字符串變量具有的所有單詞節點這樣
<string>
<word>This</word>
<word>is</word>
現在我要每個字迭代,找到它的長度
請告訴我是否有更好的方法來做到這一點。
我得到這個工作
對不起,我是新來的XSLT 1.0和弄糊塗了。 而不是使用節點集我只是用
<xsl:for-each select="$string/word">
xsl:value-of select="string-length(.)" />
<br></br>
</xsl:for-each>
它可以在不改變發動機:)完美:d