当前位置: 首页 > 知识库问答 >
问题:

XSL节点集:不按名称查找子元素

唐焕
2023-03-14

我是xsl的初学者,所以这可能是一个很容易的问题。我有一个xsl文件,我想在其中找到一个在param-object中定义的特定值:

<xsl:param name="locales">
    <label name="testname"><locale name="de">german text</locale><locale name="en">english text</locale></label>
</xsl:param>

<xsl:template match="foo">
    <topLevelElement xmlns="http://foo.bar.org">
        <xsl:value-of select="ext:node-set($locales)/label[@name='testname']/locale[@name='en']"/>
    </topLevelElement>
</xsl:template>
<xsl:param name="locales">
    <label name="testname"><locale name="de">german text</locale><locale name="en">english text</locale></label>
</xsl:param>

<xsl:template match="foo">
    <topLevelElement xmlns="http://foo.bar.org">
        <xsl:value-of select="ext:node-set($locales)/*[@name='testname']/*[@name='en']"/>
    </topLevelElement>
</xsl:template>

有人能告诉我为什么我找不到childs的名字吗?多谢!

编辑:代码没有显示名称空间(我猜它是由浏览器解释的)。它的bginning和结尾没有括号:

xsl:stylesheet xmlns:xsl=“http://www.w3.org/1999/xsl/transform”xmlns=“http://foo.bar.org”xmlns:ext=“http://exslt.org/common”version=“1.0”xsl:output method=“xml”version=“1.0”encoding=“UTF-8”/

共有1个答案

岳宣
2023-03-14

在不更改XPath的情况下修复它的一种方法是更改

<xsl:param name="locales">
    <label name="testname"><locale name="de">german text</locale><locale name="en">english text</locale></label>
</xsl:param>

<xsl:param name="locales" xmlns="">
    <label name="testname"><locale name="de">german text</locale><locale name="en">english text</locale></label>
</xsl:param>
 类似资料:
  • 我试图自动登录到网站https://opensource-demo.orangehrmlive.com/web/index.php/auth/login使用硒通过它给出了一个错误 selenium.common.exceptions.NoSuchElementException: 消息: no suchElement: 无法找到元素: {“method”:“css selector”,“selec

  • 我最近遇到了一个问题,我需要从窗口中使用的节点获取特定节点(最好是通过id)。Im使用FXMLLoader,所以第一个想法是搜索树结构FXMLLoader返回。 进一步的研究让我在场景类中查找方法,但是官方留档(https://docs.oracle.com/javase/8/javafx/api/javafx/scene/Scene.html#lookup-java.lang.String-)缺

  • 10.4. 查找节点的直接子节点 解析 XML 文档时,另一个有用的己技巧是查找某个特定元素的所有直接子元素。例如,在语法文件中,一个 ref 元素可以有数个 p 元素,其中每一个都可以包含很多东西,包括其他的 p 元素。你只要查找作为 ref 孩子的 p 元素,不用查找其他 p 元素的孩子 p 元素。 你可能认为你只要简单的使用 getElementsByTagName 来实现这点就可以了,但是

  • 问题内容: 是否可以通过名称来在页面上查找JavaScript变量(将其作为对象)?变量名可用作字符串常量。 问题答案:

  • 问题内容: 我想获取所有属于以下子项的标签: 我知道如何找到像这样的特定类的元素: 但是我不知道如何找到所有的孩子,而不是其他孩子。 就像我想选择: 问题答案: 尝试这个

  • 本文向大家介绍使用javascript的HTML元素的节点名称?,包括了使用javascript的HTML元素的节点名称?的使用技巧和注意事项,需要的朋友参考一下 节点名称 Javascript提供了document.nodeName来获取元素的节点。名称将通过使用特定节点的ID来获取。 语法 示例1 在下面的示例中,为节点提供了一个标签,并使用该标签,方法document.nodeName()获