Xml 向现有变量XSL添加新节点
我有一个关于XSL中变量的问题。 我不太清楚变量的概念 我正在xsl文件中创建一个变量,如下所示:Xml 向现有变量XSL添加新节点,xml,xslt,Xml,Xslt,我有一个关于XSL中变量的问题。 我不太清楚变量的概念 我正在xsl文件中创建一个变量,如下所示: <xsl:variable name="vars"></xsl:variable> 然后在for-each循环中,在每次迭代中,我想向现有变量添加一个节点,例如 <xsl:for-each select="..."> <vars><var>A</var></vars> </xsl:for-each>
<xsl:variable name="vars"></xsl:variable>
然后在for-each循环中,在每次迭代中,我想向现有变量添加一个节点,例如
<xsl:for-each select="...">
<vars><var>A</var></vars>
</xsl:for-each>
A.
为了实现这一点,我应该使用变量吗?
如果是,如何将新节点添加到现有变量
我只能在XSL文件中操作,没有访问或修改xml、xsd的权限
谢谢XSLT中的变量是不可变的;它们不能被修改。(它们还必须在一个步骤中声明和初始化。)
看起来您正在尝试构建一个输出结构。你能直接在循环中输出结果吗?否则,您需要重新考虑您的方法。XSLT是一种函数式语言。除其他外,这意味着变量一旦定义就不可更改 任何可以用命令式解决方案解决的问题,不仅可以用XSLT解决,也可以用任何函数式编程语言解决——可能采用非常类似的方式。在大多数情况下,存在并可以使用有效的功能解决方案 我极力推荐阅读一本关于函数式编程的好书——一本叫做“Haskell in the real world”。不仅是出于一般的兴趣,而且因为在未来的/和函数是一等公民(高阶函数),像、和这样的函数是XPath 3.0中的标准函数
请准确地说明您的问题,许多人将能够提供XSLT解决方案来补充其他人所说的内容,如果您告诉我们您的转换的输入和输出是什么样子的(如果需要,它们是如何关联的)-也就是说,如果您将您的转换描述为一个函数,那么我们应该能够展示您需要如何以非过程的方式对其进行编码。