Это не XPath, это просто путь к элементу. Нужны конструкции в духе:
//someEl/description[contains(./@lang, 'en')]/countryOfOrigin/text()
Желательно с parent и previous-sibling осями. Но это уже все сложно, надо парсить XPath, хранить где-то внутри всех родительские и сестринские элементы, матчить выражения.
А для хранения текущего пути отдельный класс не нужен. Это делается несколькими пользовательскими строками.
То есть для XML вложенностью уровней 15 и больше вы предлагаете соорудить соответствующий массив в 15+ уровней глубиной?
Аналога для XPath "//elementName" нет?
Как отлавливать first/nth child?
В __open/__close не передается совсем никакой информации (уровень вложенности, количество предыдущих соседей)?
//someEl/description[contains(./@lang, 'en')]/countryOfOrigin/text()
Желательно с parent и previous-sibling осями. Но это уже все сложно, надо парсить XPath, хранить где-то внутри всех родительские и сестринские элементы, матчить выражения.
А для хранения текущего пути отдельный класс не нужен. Это делается несколькими пользовательскими строками.
Аналога для XPath "//elementName" нет?
Как отлавливать first/nth child?
В __open/__close не передается совсем никакой информации (уровень вложенности, количество предыдущих соседей)?