是否有一种使用XSLT规范化URL斜杠的简单方法?
在我的示例中,我正在使用XSLT转换RSS提要,我想构建标记的URL。我可以使用以下行来完成此操作:
<skos:Concept about="{/rss/channel/link}/tag/{@nicename}">
或
<skos:Concept about="{/rss/channel/link}tag/{@nicename}">
有时link
有一个斜杠,有时则没有。有一个简单的功能,这将确保总是有斜线? e.g:
<skos:Concept about="{normalize-slashs(/rss/channel/link/)}tag/{@nicename}">
答案 0 :(得分:1)
假设您的链接不包含空格,请尝试=
translate(normalize-space(translate(/rss/channel/link, '/', ' ')), ' ', '/')
从$ string中删除结束斜杠(如果存在):
substring($string, 1, string-length($string) - (substring($string, string-length($string))='/'))
在XSLT 2.0中,可以使用ends-with()函数缩短它。