Точное значение этого xpath
Я наткнулся на эту строку XPath...
courses[?(@.id==101)].students[?(@.id==111)]
Я даже не уверен, что это правильный XPath из-за того, как '?' а также '.' используются. И это не работает во многих онлайн-оценщиках XPath.
Хотя в XPath 3 есть оператор поиска ('?') И некоторые функции сканирования JSON. Обратитесь: https://www.altova.com/training/xpath3/xpath-31
Итак, мне интересно, в чем именно предназначение "?()" И "." являются.
Пока я предполагаю, что это выражение используется для поиска содержимого JSON в XML.
Угадать объект JSON можно так:
{
"courses":[
{
'id':'101',
'name':'Course 101',
'students':[
{
'id':'111',
'name':'Student 111'
}
]
}
]
}
Короче говоря, допустимое ли это выражение XPath 3? И если да, то что же такое '?()' И '.' делаешь?