使用萨克森EE 9.9,我正在尝试使用XSL:使用命名空间 - 字母进行评估,请参阅下面的基本尝试在变量$ namesspace-context中。我找不到有关如何在网络上设置此名称空间参数的任何示例,这是Chatgpt可以提供的最好的示例:
<xsl:variable name="xmlData">
<root xmlns="http://example.com/my">
<element>Hello, World!</element>
</root>
</xsl:variable>
<xsl:template match="/">
<xsl:variable name="namespace-context"><my:dummy xmlns:my="http://example.com/my"/></xsl:variable>
<xsl:variable name="expr" select="'/my:root/my:element'"/>
<xsl:variable name="result" as="node()*">
<xsl:evaluate xpath="$expr" context-item="$xmlData" namespace-context = "$namespace-context"/>
</xsl:variable>
<output>
<xsl:copy-of select="$result"/>
</output>
</xsl:template>
您需要选择一个元素节点,而不是文档节点,因此请执行
<xsl:evaluate xpath="$expr" context-item="$xmlData" namespace-context = "$namespace-context/*"/>
应该起作用:示例小提琴。