Код Middle Локаторы обновлено
Безопасная строка для XPath
Условие
В XPath 1.0 нет экранирования кавычек внутри строки. Напишите xpath_literal(s), которая превращает строку в литерал XPath:
- если в строке нет одинарной кавычки, вернуть её в одинарных:
'abc'; - иначе если нет двойной, вернуть в двойных:
"it's"; - иначе разбить строку по
'и собратьconcat(...): каждую часть в одинарных кавычках, между частями"'", через,. Пустые части тоже оставлять.
Пример: It's "ok" → concat('It', "'", 's "ok"').
Примеры
xpath_literal("abc") // "'abc'"
xpath_literal("it's") // "\"it's\""
xpath_literal("It's \"ok\"") // "concat('It', \"'\", 's \"ok\"')"
Как подойти
Подсказки: 2
- Сначала два простых случая, потом concat.
- Разделитель между частями это литерал
"'".
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.