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
将XSLT节点的输出存储到XSLT变量中_Xslt - Fatal编程技术网

将XSLT节点的输出存储到XSLT变量中

将XSLT节点的输出存储到XSLT变量中,xslt,Xslt,我的XSLT v1.0代码- <Test1> <xsl:text>"</xsl:text> <xsl:choose> <xsl:when test="/root/node1">B</xsl:when> <xsl:when test="/root/node2">S</xsl:when> <xsl:otherwise>NA<

我的XSLT v1.0代码-

<Test1>
    <xsl:text>"</xsl:text>
    <xsl:choose>
        <xsl:when test="/root/node1">B</xsl:when>
        <xsl:when test="/root/node2">S</xsl:when>
        <xsl:otherwise>NA</xsl:otherwise>
    </xsl:choose>
    <xsl:text>"</xsl:text>     
</Test1>

"
B
s
NA
"     
我想将上述节点的输出
存储到一个变量中。像这样的,

<xsl:variable name="test">
    <xsl:value-of select="??"/>
</xsl:variable>

使用此变量的值计算其他值或显示该值

<Test2>
    <xsl:text>"</xsl:text>
    <xsl:value-of select="$test"/>
    <xsl:text>"</xsl:text>
</Test2>

"
"

我应该写什么来代替
来获取节点的值
?或者有没有其他方法可以将节点的输出值读入XSLT中的变量?

我想您只需要

<xsl:variable name="test">
    <xsl:text>"</xsl:text>
    <xsl:choose>
        <xsl:when test="/root/node1">B</xsl:when>
        <xsl:when test="/root/node2">S</xsl:when>
        <xsl:otherwise>NA</xsl:otherwise>
    </xsl:choose>
    <xsl:text>"</xsl:text>
</xsl:variable>

"
B
s
NA
"
然后

<Test2>
    <xsl:text>"</xsl:text>
    <xsl:value-of select="$test"/>
    <xsl:text>"</xsl:text>
</Test2>

"
"

您可以使用元素节点作为包装器,但如果您只想处理一些字符串,如
B
NA

我有多个节点,如
Test1
,并且不想复制代码将值读入变量中,那么它并不能改善情况。你能建议点别的吗?提前感谢。您可以将值存储在变量中,甚至节点中。但至少在XSLT1.0处理器中,您最终会得到结果树片段,您所能做的就是在这些片段上使用
copy of
value of
。我不确定你想如何使用你的变量,对于你已经展示的情况,我认为我的建议足够了,请编辑你的问题并提供更多细节。