Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XSLT1.0 altova xmlspy内置XSLT引擎是否没有节点集功能?_Xml_Xslt_Xslt 1.0 - Fatal编程技术网

XSLT1.0 altova xmlspy内置XSLT引擎是否没有节点集功能?

XSLT1.0 altova xmlspy内置XSLT引擎是否没有节点集功能?,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,您好,我在xslt中使用了一个外部命名模板,用于标记字符串并将其存储在变量中。 我使用的是AltovaXMLSpy,我仅限于XSLT1.0。问题是每次我都必须将选项从内置XSLT引擎更改为Microsoft。 内置xslt引擎中是否有任何节点集函数或其他函数代替节点集 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-

您好,我在xslt中使用了一个外部命名模板,用于标记字符串并将其存储在变量中。 我使用的是AltovaXMLSpy,我仅限于XSLT1.0。问题是每次我都必须将选项从内置XSLT引擎更改为Microsoft。 内置xslt引擎中是否有任何节点集函数或其他函数代替节点集

<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>

这
是
现在我必须迭代每个单词并找出它的长度

请告诉我有没有更好的办法

我让它工作了

很抱歉,我是XSLT1.0新手,感到困惑。 我没有使用节点集,而是使用

<xsl:for-each select="$string/word">
xsl:value-of select="string-length(.)" />
<br></br>
</xsl:for-each>

xsl:select=“字符串长度(.)”/>



它在不改变引擎的情况下工作得非常完美:):D

XMLSpy习惯于将结果树片段(RTF)当作节点集来处理。我找不到任何直接说明这一点的文档,但您会发现

任何返回(RTF)并存储在变量中的xsl命令都可以像查询节点集一样进行查询,例如使用
xsl:value of

,有一些XSLT引擎非特定的方法,可能值得一看