С учетом
<foo> <bar baz="Hello, World!"> </foo>
Как мне все, кроме последних 4 символов @baz? Одна из моих попыток была:
/foo/bar/@baz[substring( ., 0, -4 )]
Использование :
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-3)
Запишите 3 в выражении.
3
Следующее неверно :
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
, поскольку это возвращает последние 5 символов строкового значения атрибута baz.
baz
попробуйте это: substring-before(/foo/bar/@baz,"rld!")
substring-before(/foo/bar/@baz,"rld!")
Это на самом деле не так уж и плохо, но подстрока IIRC не любит отрицательные индексы.Я пытался
, что дало мне ожидаемый результат.