连接在多个括号中的谓词的行为是否与 and 运算符相同?
Do predicates concatenated in multiple brackets behave the same as the and operator?
我正在写一个 DOM selectors 到 xpath 转换器,碰巧如果我可以像这样连接多个谓词,它会非常适合我:
//div[@id][@class]
而不是像这样:
//div[@id and @class]
虽然粗略的测试似乎表明它们的行为相同,但我不完全确定它们在所有情况下都会如此。他们会吗?
使用多个谓词 100% 等同于使用 and
运算符 前提是两个谓词都不是位置的。位置谓词是其值为数字的谓词,或者明确使用 position()
或 last()
的谓词。例如,*[@x][1]
与 *[1][@x]
不同。
我正在写一个 DOM selectors 到 xpath 转换器,碰巧如果我可以像这样连接多个谓词,它会非常适合我:
//div[@id][@class]
而不是像这样:
//div[@id and @class]
虽然粗略的测试似乎表明它们的行为相同,但我不完全确定它们在所有情况下都会如此。他们会吗?
使用多个谓词 100% 等同于使用 and
运算符 前提是两个谓词都不是位置的。位置谓词是其值为数字的谓词,或者明确使用 position()
或 last()
的谓词。例如,*[@x][1]
与 *[1][@x]
不同。