与えられた
<foo>
<bar baz="Hello, World!">
</foo>
@bazの最後の4文字以外はどうすればよいですか?私の試みの1つは:
/foo/bar/@baz[substring( ., 0, -4 )]
使用:
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-3)
式の3
に注意してください。
以下は間違っています:
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
これは、baz
属性の文字列値の最後の5文字を返すためです。
これを試してください:substring-before(/foo/bar/@baz,"rld!")
それは実際にはそれほど悪くはありませんが、IIRC部分文字列は負のインデックスを好みません。私は試した
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
それは私に期待された結果を与えました。