我有一个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>
答案 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相同)。