规范化URL中的斜杠

时间:2014-03-24 23:15:47

标签: xml url xslt rss xslt-1.0

是否有一种使用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}">

1 个答案:

答案 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()函数缩短它。