Подтвердить что ты не робот

Использование прописных и строчных функций xpath в IDE Селена

Я пытаюсь получить запрос xpath, используя функцию xpath в lower-case или upper-case, но, похоже, они не работают в селене (где я проверяю свой xpath, прежде чем применить его).

Пример, который НЕ работает:

//*[.=upper-case('some text')]

У меня нет проблем с поиском нужных мне узлов в сложном пути и даже с использованием агрегированных функций, если я не использую верхний и нижний регистр.

Кто-нибудь сталкивался с этим раньше? Имеет ли это смысл?

Благодарю.

4b9b3361

Ответ 1

upper-case() и lower-case() - это функции XPath 2.0. Скорее всего, ваша платформа поддерживает только XPath 1.0.

Try:

translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')

который является способом XPath 1.0. К сожалению, для этого требуется знание алфавита, который использует текст. Для простого английского языка, вероятно, это работает, но если вы ожидаете акцентированных символов, убедитесь, что вы добавили их в список.

Ответ 2

Если вам понадобится верхний регистр в нескольких местах в xslt, вы можете определить переменные для нижнего регистра и верхнего регистра, а затем использовать их во всей функции перевода. Это должно сделать ваш xslt намного чище.

Пример в XSL/XPATH: нет функции верхнего регистра в MSXML 4.0?