问题标签 [xpath-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
588 浏览

xslt - XSL:递归与迭代

我试图了解 XSL 对 for-each 的处理。最初,我编写了一个递归选择值函数(过滤掉所有与正则表达式模式不匹配的字符串),如下所示:

然后我偶然发现<xsl:for-each>并重写如下:

这两个版本是等价的吗?(我的测试表明如此)。我错过了 Ver.2 中的一些边缘情况吗?

只是为了让事情清楚,这不是一个家庭作业问题。我只是想通过一个简单的例子来理解差异(如果有的话)。

0 投票
3 回答
1638 浏览

c# - 如何在 C# 中使用诸如 exists() 之类的 XPath 函数?

我想使用 SelectNodes-Method 和 XPathNavigator-Class 从 XmlDocument-Object 中读取一些节点。

但是 C# 无法评估这个(使用 XMLSpy 验证)XPath-Expressen:

运行时抛出 XPAthException “需要命名空间管理器或 XsltContext。此查询具有前缀、变量或用户定义的函数。

我不理解这个例外,因为我的 XML 文档没有使用任何命名空间,也没有 XSLT 文档。如果我使用任何 XPATH 函数,总是会出现此异常。

0 投票
3 回答
3437 浏览

xslt - XPath,获取 min 属性的值

所以我以前从未使用过 XSLT,而且我只以最简单的形式使用过 XPath。我有一个 Xml 元素“地球”,它有两个属性 Stamina 和 willpower。两者都包含数字。我要做的是在“地球”一词旁边显示这些属性中最小的值。我似乎无法锻炼如何在 XPath 中调用函数。

这是我的 XSLT

0 投票
2 回答
16268 浏览

xpath - XSLT2:如何在 XPath2 谓词中引用有关当前节点的属性

我已经发布了另一个问题,这是其中的一个方面。我被告知要澄清这个问题,但这个问题已经很长很复杂,所以我创建了一个新问题。

我想知道在另一个 XPath 表达式测试中是否有标准方法来引用当前节点的属性。

例如,考虑以下 XSLT

(此问题底部的 XML 源代码。)(请注意,for-each 引用类型为 stem[eye] 的节点,但第二个值请求引用类型为 stem[scc] 的节点,它们位于源 XML 树的不同分支上.)

现在,很明显,其中的“@sessionID=@sessoinID”部分几乎没有意义,因为 XPath 认为这是“节点的 sessionID 属性的值应该等于......节点的 sessionID 属性的值”。

但我想说的是“测试以确保该节点的 seesionID 属性的值(XPath 表达式中的那个)与我所在的任何 /stem[eye] 节点的节点的 sessionID 相同马上。”

我不能对变量执行此操作,因为不允许您在 for-each 子句中声明变量。

作为参考,这是 XML 源。它的结构不是人们想要的,但它是我必须使用的。

我正在寻找的输出是:

在会话 1 中,马铃薯有 234 片 scc 叶子。

在第 3 次会议中,马铃薯有 463 片 scc 叶子。

(当然,这只是沙盒示例。我意识到可能有一些简单的方法可以以完全不同的方式完成上述输出,但我希望这个示例能够解决我的问题,即如何使用与当前节点关联的值(例如,在 for-each 中)在 XPath 的谓词中搜索不同的谓词。)

0 投票
1 回答
502 浏览

xslt - 如何从 XPath 2.0 中的另一个普通序列创建键值字符串序列

( 'key1_val1', 'key2_val2', 'key3_val3' )我需要一个 XSLT 函数来从普通字符串序列创建键值字符串序列( 'key1', 'val1', 'key2', 'val2', 'key3', 'val3' )

我在以下代码上被阻止,并且没有继续的想法:

XSLT 处理器 Saxon 9.3

0 投票
1 回答
1750 浏览

ruby - 如何获取文本值在 ruby​​ watir 中使用 xpath 进行标记。(使用 IE)

我的 ie 网页中有以下代码。我想要标签的文本值(意思是“ABCD:”)。我正在为此使用 ruby​​ watir。

我已经尝试过使用下面的代码,但我不知道为什么它不工作并给出错误(未定义的方法 `text' for nil:NilClass)

有没有其他方法或者我的代码有什么问题。

0 投票
2 回答
3317 浏览

xslt-2.0 - XSLT2 for-each-group:有没有办法引用代表元素的序列?

在 XSLT2 中的 for-each-group 语句中,焦点变为一组具有代表性的元素,每个组中一个。这意味着,例如,last() 返回组的数量(因为它等于代表元素的数量,因此等于焦点的“大小”)。Position() 返回(本质上)组号,因为它是代表元素序列中正在讨论的组的代表元素的位置,等等。

我的问题是是否可以在 Xpath2 语句中引用这些代表性元素的集合。类似于 current-group() 的东西,除了包含所有代表元素的集合(每个组一个)而不是当前组的所有元素的集合。

0 投票
2 回答
1832 浏览

xslt-2.0 - XPath2:如何访问文件夹中的所有文档?

XSLT2/Xpath2 允许您使用 document() 或 doc() 函数打开文档,但您必须指定文件名。

有没有办法在不知道文件名的情况下打开给定文件夹中的所有文档(并且没有查找表或主文档)?也许使用通配符?

例如,做类似的事情会很好

...

处理当前目录中的所有文档,而不必知道它们是什么。有没有办法做到这一点?

0 投票
2 回答
74 浏览

xpath - 选择没有指定命名空间 XPath 2.0 的元素的属性

只是一个简单的问题:

如果我有一个元素说

<element a:lol="." a:rofl="." b:lol="." b:rofl="." lol="." rofl="."/>

我知道我可以选择命名空间下的所有a属性@a:*

如何选择没有任何命名空间的所有属性?

我知道这@*[namespace-uri()='']行得通,但我希望有更紧凑的东西——比如关键字前缀。例如:@none:*

0 投票
4 回答
22835 浏览

xpath - XQuery/XPath:使用 count() 和 max() 函数返回计数最高的元素

我有一个包含作者和编辑的 XML 文件。

我正在寻找一种方法来返回被列为作者和/或编辑次数最多的人。该解决方案应该与 XQuery 1.0 (XPath 2.0) 兼容。

我正在考虑使用 FLWOR 查询来遍历所有作者和编辑,然后计算唯一作者/编辑,然后返回与最高计数匹配的作者/编辑。但我一直无法找到合适的解决方案。

有人对如何编写这样的 FLWOR 查询有任何建议吗?这可以使用 XPath 以更简单的方式完成吗?