2009-08-05 72 views
0

因此,这里是我当前的代码:将一组节点作为变量存储在XSLT中?

<xsl:variable name="address"> 
    <xsl:value-of select="concat(/node1/node2/address.node/street, /node1/node2/address.node/city, /node1/node2/address.node/zip)" /> 
</xsl:variable> 

现在,我想缩短这个下来:

<xsl:variable name="addressNode"> 
    <xsl:value-of select="/node1/node2/address.node" /> 
</xsl:variable> 

<xsl:variable name="address"> 
    <xsl:value-of select="concat($addressNode/street, $addressNode/city, $addressNode/zip)" /> 
</xsl:variable> 

但是这不工作按预期在所有...任何人都可以点我在正确的方向?我尝试使用copy-to来代替addressNode的值,但它仍然不起作用:(

回答

3

当您在xsl:variable中使用xsl:value时,会得到一个类型为string的变量,而不是节点你应该使用使用XSL的选择属性:变量:

<xsl:variable name="addressNode" select="/node1/node2/address.node" /> 
+0

我给这个一杆,让你知道如何去 – Polaris878 2009-08-05 14:53:16

+0

这个工作,感谢...我显然有点新XSL :D – Polaris878 2009-08-05 14:59:06

+0

我希望我可以给你这个答案更多的代表haha – Polaris878 2009-08-05 15:13:33