【发布时间】:2014-03-28 14:23:20
【问题描述】:
在我的 XSLT 中,我有这个评估声明:
<xsl:value-of select="xalan:evaluate('//ns:myNode[1]')"/>
但 ns 前缀声明不能在 XSLT 内,但它在输入 XML 内。
我该如何声明这样的东西:
<xsl:declare-namespace prefix="ns" select="/configuration/@myNamespace"/>
【问题讨论】:
-
为什么前缀声明不能在 XSL 中?
-
因为我有一个 XML,其中包含 Web 服务 (SOAP) 的结果以及应呈现为 HTML 表的元素。该元素类似于 **
- anyurl.com"><col name="description" element="ns:description"> ... **
-
如果需要,您可以使用
//[local-name() = myNode][1]跳过 XPath 中的命名空间。但通常您会在 XSLT 中处理名称空间。如果您发布完整的 XSL,此处的来源和输出人员可能会提出更好的解决方案。 -
我不能使用它,因为可能存在同名的嵌套标签。示例:
。我应该带什么东西?- ...
-
您可以添加更多代码吗?