gpt4 book ai didi

xpath - 杨,叶子在列表中必须唯一

转载 作者:行者123 更新时间:2023-12-03 17:10:45 27 4
gpt4 key购买 nike

我无法弄清楚如何为使其在列表中唯一的叶子创建“必须”。

这是其中有一个叶子的列表,此叶子可能没有与此列表中任何其他叶子相同的值。

代码示例:

list myList {
key name;

leaf name {
type uint32;
}

container myContainer {

leaf myLeaf {
type uint32;
}
must "count(/myList/myContainer/myLeaf = .) > 1" { //Dont know how to create this must function.
error-message "myLeaf needs to be unique in the myList list";
}

}

}


所以我希望myLeaf如果当前列表中的myList中已经存在一个元素,则触发错误消息。

最佳答案

为此,您具有列表的unique关键字,无需对must表达式进行猛烈抨击。它在参数中采用一个或多个以空格分隔的模式节点标识符。

    list myList {
key name;
unique "myContainer/myLeaf";

leaf name {
type uint32;
}

container myContainer {

leaf myLeaf {
type uint32;
}

}

}


如果您确实希望 must处理此问题(您不应该这样做),则可以执行以下操作:

    leaf myLeaf {
must "count(/myList/myContainer/myLeaf[current()=.])=1";
type uint32;
}


current() XPath函数返回被检查的叶子(初始上下文节点),而 .代表 self::node()并应用于您选择的任何内容(当前XPath上下文节点集)。

还要注意: must约束表示一个断言-它必须求值为 true(),否则实例被视为无效。因此,您的 > 1条件将达到您所需要的相反的状态。

关于xpath - 杨,叶子在列表中必须唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40762292/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com