问题标签 [ancestor]

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 回答
1336 浏览

xslt - How do I remove an attribute and an element if an ancestor's attribute holds a certain value using xsl

I am struggling with the following issue: In the below XML, I need to remove the attribute restrict="restrict" if the attribute is nested within an element that also contains an attribute restrict="restrict". I also need to remove the element restrict if it is nested within an element containing an attribute restrict="restrict". However, if a restrict="restrict" appears on a nested element whose ancestor does not contain an attribute restrict="restrict", I need to keep it. The same goes for the restrict element. I need to keep it if it is not nested in a restrict element or within an element that does not have the restrict="restrict" attribute.

I am new to xsl, and have attempted to write the translation, but I am not having much luck.

The desired out put should look like this:

Here is the code I have attempted:

This is not working for me. I receive an error stating

"WARNING org.xml.sax.SAXParseException: The child axis starting at an attribute node will never select anything"

I really don't know how to go about doing this. Any suggestions (and explanation) would be greatly appreciated.

0 投票
1 回答
544 浏览

xml - 选择祖先的第一个节点的属性值

想要的HTML:

XML:

一切都如我所愿,我只想<td>在 HTML 中设置元素的宽度。这必须是第一个 XML 标题列的宽度。
现在我正在使用这个:

这行不通。如何选择所需列的值?

0 投票
1 回答
76 浏览

google-app-engine - AppEngine NDB:如何正确应用祖先?

我正在考虑将 GAE + NDB 用于一个新项目。我仍然对祖先有点困惑,所以我可以就如何正确使用它们提出一些建议。

我的案例:该应用程序将处理工厂的生产订单,我们计划拥有不同的客户。为了减少管理任务,我们将让所有客户端使用相同的应用程序和相同的数据存储(拥有单独的应用程序 + 数据存储将是客户端之间的一道很好的中国墙,但管理起来却是一场噩梦)。

我需要实现一种方法来隔离客户端之间的数据。客户端 A 应该无法访问此应用程序上任何其他客户端的任何数据。

那么是否建议在数据存储中使用祖先来分离来自不同客户端的数据? 我认为在这种情况下,我可以拥有诸如 ClientA-Products、ClientA-Orders、ClientB-Products、ClientB-Orders 等祖先键。或者甚至可能所有事务都由客户端键入:例如 ClientA、ClientB ..?

还是在每个实体中都有一个属性将实体与客户端关联起来更好? 在这种情况下,“产品”和“订单”实体都将具有属性“公司”,该属性必须由应用程序在每次写入时填写并包含在每次查询中。

提前感谢您的想法!

0 投票
2 回答
409 浏览

android - 如何将来自 Android 的用户特定数据存储在 Google App Engine Datastore 中。祖先与否?

我目前有一个使用 3 个 SQLite 数据库表的 Android 应用程序,我想将这些数据存储在基于 Java 的 GAE 应用程序的云中。它将用作备份,并且用户将能够在登录后在浏览器中查看它。用户正在将数据输入到 Android 应用程序中,因此 3 个表中的所有数据都属于该用户。是否有推荐的存储此类用户特定数据的方法?我应该将用户电子邮件与每个实体一起存储以识别它还是将用户实体作为父实体并将属于该用户的所有实体作为子实体?在这种情况下使用父母有什么好处吗?

0 投票
1 回答
220 浏览

git - git中最近的共同祖先会模棱两可吗?

既然修订可以有多个父母(合并)和多个孩子,那么“最近的共同祖先”就不能模棱两可吗?

例如:

E 和 D 的最近共同祖先可能是 B 或 F。

我尝试在 git 中复制它,我认为它给了 B 作为共同的祖先。这里有理由选择 B 而不是 F 吗?也许诉诸时间戳?或者它只是算法发现的第一个共同祖先,这将是一个任意的实现细节?

0 投票
1 回答
81 浏览

xpath - 使用绝对路径查找祖先

我的情况有点奇怪。我可能不得不编写一些自定义代码,但我想我会在这里发布它,以防万一有解决方案或其他人有类似的问题。

我需要使用绝对路径找到元素的最近祖先。

由于我工作环境的一些限制,我不能使用相对路径。因此在这种情况下无法访问祖先、前一个、父级等。

前任。

假设我在 p id="2" 中。我想找到最近的部分祖先。这通常是通过

祖先::节甚至祖先[1]::节

但是,我必须使用绝对路径。我没有可以从中提取的 ID 或任何其他唯一标识符。

我尝试过使用 XPaths

//部分[这里的东西]

但我不确定我可以在谓词中放入什么来动态查找当前部分元素。

是否可以使用绝对路径找到最近的祖先?

这是 XPath 1。

0 投票
1 回答
208 浏览

xpath - 结合两个 PMD 检查

我在使用 PMD 检查代码错误时遇到了问题。我不知道如何同时满足两个要求。例如,如果我想检查从 BCD 扩展的文件中不存在的名为 ABC 的方法。我知道如何检查 ABC 是否存在,或者它是否使用 PMD 单独从 BCD 扩展。

像这样:

现在,无论如何我可以一起检查这两个。例如,我希望它在类中没有 ABC 扩展 BCD。看来我不能简单地使用和连接这两个 Xpath 查询。另外,我注意到我可以使用 | 与他们建立联系,但是 | 用作或。我需要一个and而不是or。

编辑:

我试过这样的事情:

这似乎至少对我有用。但我仍然不能 100% 确定这是否是正确的方法,因为我刚刚尝试过。

0 投票
3 回答
7650 浏览

mongodb - MongoDB树模型:获取所有祖先,获取所有后代

我有一个任意的树结构。

示例数据结构:

每个节点和叶子都有 2 个属性:idname


重要查询:

1.:给出了一个叶子 ID。查询应返回从根到该叶的整个路径,以及所有节点idname属性。

如果返回值是节点的排序数组,或者它是节点嵌套的对象,这并不重要。

示例:如果给出idof leaf2,则查询应返回:root(id, name), node1(id, name), leaf2(id, name)


2.:给定任何节点id:获取整个(子)树。在这里检索每个节点都有一个children数组的单个对象会很好。


想法、试验和错误:

1.:首先,我尝试将树简单地建模为单个 JSON 文档,但随后查询将变得不可能:无法找出叶子的嵌套级别。如果我知道ids 从根到叶的整个路径,我就不得不使用具有多个位置运算符的投影,而目前 MongoDB 不支持。此外,无法索引叶子ids,因为嵌套可以是无限的。

2.:下一个想法是使用平面数据设计,其中每个节点都有一个包含节点祖先的数组ids

这样,我必须进行 2 次查询,以获取从根到某个节点或叶的整个路径,这非常好。

问题:

如果我选择数据模型2.:如何获得整个树或子树?

获取所有后代很容易:find({ancestors:"myStartingNodeId"}). 但是这些当然不会被排序或嵌套。

有没有办法使用聚合框架或完全不同的数据模型来解决这个问题?

谢谢!

0 投票
1 回答
98 浏览

java - 对象化订单()需要祖先()?

我有一个包含@Parent 的实体

当我尝试通过运行查询所有最新的 MyObject 时...

我得到了零记录......但是,如果我注释掉 .order() 部分,我得到了返回的记录。我想知道 order() 是否需要祖先()。

有谁知道?

0 投票
4 回答
1765 浏览

algorithm - 检查有向无环图中两个顶点之间是否存在路径 - 查询

这个问题可以在每个查询 O(n + m) 中轻松解决,但是这是否可以通过比 O(n²) 更好的预处理来以更好的复杂性回答此类查询?

在树中,可以通过使用预购和有序来轻松完成。我在 DAG 中尝试了类似的方法,但没有任何意义。

我也尝试将这个问题改成 LCA in DAG 问题,但是在 DAG 中找到 LCA 并不能足够快地解决。


准确地说,约束让我们说:

n - 顶点数,最多 10^5

m - 边数,最多 10^5

q - 查询数,最多 10^5