Xml 为每个循环分配多个变量

Xml 为每个循环分配多个变量,xml,variables,xslt,Xml,Variables,Xslt,我想使用xslt在循环中设置多个变量值。我的xml示例是 <details> <person> <name>abcd</name> <age>24</age> </person> <person> <age>27</age> <name>xyz</name> </person> abcd 24 27 xyz

我想使用xslt在循环中设置多个变量值。我的xml示例是

<details>
<person>
    <name>abcd</name>
    <age>24</age>
</person>
<person>
    <age>27</age>
    <name>xyz</name>
</person>

abcd
24
27
xyz

我想将姓名和年龄存储在两个不同的变量中,例如

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="details">

    <xsl:variable name="name"/>
    <xsl:variable name="age"/>
    <xsl:for-each select="./person">
        // want to store name and age in two different variable for later use after for-each loop
    </xsl:for-each>
</xsl:template>     
</xsl:stylesheet>

//希望在两个不同的变量中存储name和age,以便在每个循环之后使用
这只是一个xml和xslt示例。有人知道怎么做吗?

问:有人知道怎么做吗


简短回答:我不可能在声明后更改变量的值。此外,不可能访问在此“块”之外的“块”(例如xsl:for each)中声明的变量。

您能解释一下为什么需要存储这些值吗?XSLT不是这样工作的。如果您可以给出一个实际需要实现的示例,而不是您认为希望如何实现它,那么有人将能够建议一种更适合XSLT函数式编程风格的不同方法。