Использование прописных и строчных функций xpath в IDE Селена
Я пытаюсь получить запрос xpath, используя функцию xpath в lower-case
или upper-case
, но, похоже, они не работают в селене (где я проверяю свой xpath, прежде чем применить его).
Пример, который НЕ работает:
//*[.=upper-case('some text')]
У меня нет проблем с поиском нужных мне узлов в сложном пути и даже с использованием агрегированных функций, если я не использую верхний и нижний регистр.
Кто-нибудь сталкивался с этим раньше? Имеет ли это смысл?
Благодарю.
Ответы
Ответ 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?