Использование XPath 1.0 хочу, чтобы получить список текстовых узлов применяя функцию XPath «подстроку» на каждого текстового узлафункция XPath на нескольких текстовых узлов
substring(//p/text(), 10)
дает подстроку только один первый текст, когда в
//p/text()
дает все из них, но хочу все вложенные строки как набор
EDIT:
Пробовал
//p/substring(text(), 10)
Says выражение недействителен XPath
Как я могу добиться этого?
Заранее спасибо
То, что вы описываете, невозможно в одном выражении XPath 1.0 без использования пользовательских функций. В каком контексте вы используете этот XPath (XSLT, .NET, Java и т. Д.)? Пожалуйста, покажите нам код, в котором вы ссылаетесь на этот XPath. – JLRishe
Конечно, я могу сделать это из кода, но мой текущий код является общим и хочет сделать это с помощью XPath, спасибо за ответ, будет работать над решением, которое вы описали :) –
EXSLT определяет функцию, которая позволит вам сделать это: [dyn: map (// p/text, 'substring (., 10)')] (http://exslt.org/dyn/functions/map/index.html). Эта страница говорит, что нет известных XSLT-процессоров или сторонних библиотек, которые поддерживают эту функцию, но если ваш движок XPath поддерживает его или что-то подобное, вы можете использовать это. – JLRishe