首页 > 解决方案 > XPath:encode-for-uri() 但保留 IRI 中允许的字符未编码

问题描述

XPath 具有encode-for-uri()使字符串在 URI 路径段中安全使用的功能:

encode-for-uri('AC/DC') => AC%2FDC

但它也 %-encodes 国际字符:

encode-for-uri('汉/语') => %E6%B1%89%2F%E8%AF%AD

这对于 URI 确实是必需的,但对于允许包含这些字符的 IRI则不是必需的。

encode-for-uri()有没有办法在保持 i18n 字符未编码的同时实现在 XPath 中的效果?像这样:

???('汉/语') => 汉%2F语

标签: xpathuriurlencodeiri

解决方案


也许该iri-to-uri()功能可以满足您的需求。

但是,它不会转义“/”——它被设计为在整个 IRI 上运行,而不是在路径的一部分上运行。


推荐阅读