xslt 3.0 xsl:evaluate 示例

xslt 3.0 xsl:evaluate example

对于以下 xml 文档:

<company>
   <employee>
      <name>John Andrews</name>
      <age>23</age>
      <salary>4000</salary>
      <division>Accounting</division>
   </employee>
</company>

我有这样的xsl

<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:value-of select="company/employee/name"/>

    <xsl:variable name="test">
      <xsl:text>company/employee/name</xsl:text>
    </xsl:variable>

    <xsl:evaluate xpath="$test"/>

  </xsl:template>
</xsl:stylesheet>

如何在 xsl:evaluate 中使用 $test 变量以获得与在

中相同的结果
<xsl:value-of select="company/employee/name"/>

可能吗?

您需要设置上下文项,例如

    <xsl:evaluate xpath="$test" context-item="."/>