我已经按照 Martin 和 Michael 的建议测试了这两种解决方案。发送到 OpenURL 的 Url 由 ID 和实际 URL 组成,如下所示:
<openurl><xsl:value-of select="concat(field[@name='id'],'/', field[@name='url'])" /><openurl>
我首先使用了 fn:replace,如下:
<openurl><xsl:value-of select="concat(field[@name='id'],'/', replace(field[@name='url'], '\[\]', ''))" /><openurl>
然后
<openurl><xsl:value-of select="concat(field[@name='id'],'/', iri-to-uri(field[@name='url']))" /></openurl>
查看 XML,url 仍然显示方括号。相当困惑,然后我进行了一些额外的测试。最后,我尝试使用 fn:encode-for-uri,方括号被替换为 %xx 形式的转义序列。然而,由 OpenUrl 调解的最终 URl 以某种方式重新格式化,方括号再次出现。我目前正在调查这个问题。
确实谢谢
我。