错误:使用带有在命名空间URI中包含特殊字符的Chrome打开Xml文件

时间:2018-12-13 13:55:13

标签: xml google-chrome firefox namespaces uri

我有一个XML文件,该文件在namespaceURI中可以包含特殊字符。

使用Firefox可以毫无问题地打开此文件,但是当我使用Chrome时显示错误。 看例子:

<?xml version="1.0" encoding="UTF-8"?> 
<nexus:customer xmlns:nexus="http://www.nux.io/modèl/carpooling/1.0"  path="/home/test"> 
    <LISTE> 
        <el>Content data</el>
    </LISTE> 
</nexus:customer>

1 个答案:

答案 0 :(得分:0)

这是一个灰色区域。从XML规范的角度来看,属性可以包含除<&之外的几乎所有字符内容,但是根据XML命名空间规范,xmlns属性值是URI引用,路径是URI引用的组件绑定到一组有限的ASCII字符和转义序列。

要使您的URI真正合法,应将其写为:

 http://www.nux.io/mod%C3%A8l/carpooling/1.0

其中C3A8是Unicode字符è(U + 00E8)的UTF-8编码。

如果将上面的URL粘贴到Chrome中,您会看到它可以正常工作,并且Chrome在渲染资源后显示它时正确解释了转义序列并将其替换为è(与Firefox相同)。