XML名称中是否允许使用补充字符?
根据XML规范,字符[#x10000-#xEFFFF]在XML名称中是合法的。但是,W3验证器表示此XML格式不正确:XML名称中是否允许使用补充字符?,xml,validation,unicode,supplementary,Xml,Validation,Unicode,Supplementary,根据XML规范,字符[#x10000-#xEFFFF]在XML名称中是合法的。但是,W3验证器表示此XML格式不正确: 是,XML名称中允许使用补充字符 您的XML格式良好,因为元素名称使用了中的产品所允许的字符 但是: 通过HTTP从您处获取文件的在线验证程序必须 注意字符编码。看来到时候 获取XML时,您的字符是 在编码混乱中迷路: 警告缺少“text/xml”文档的“charset”属性。 web浏览器发送的HTTP内容类型标题(text/xml) (Mozilla/5.0(Macin
是,XML名称中允许使用补充字符
您的XML格式良好,因为元素名称使用了中的产品所允许的字符
但是:
- 通过HTTP从您处获取文件的在线验证程序必须
注意字符编码。看来到时候
获取XML时,您的字符是
在编码混乱中迷路:
警告缺少
“text/xml”
文档的“charset”
属性。
web浏览器发送的HTTP内容类型
标题(text/xml
)
(Mozilla/5.0(Macintosh;英特尔Mac OS X 10_11_6)AppleWebKit/537.36
(KHTML,像壁虎一样)Chrome/52.0.2743.116 Safari/537.36
)没有
包含“charset”
参数,但内容类型是XML的一种
text/*
子类型
相关规范()指定了
“us ascii”
用于此类文档,因此我们将使用此值,而不考虑
您可能在别处指示的任何编码
如果您想使用不同的编码,您应该安排
让浏览器发送此新编码信息
尝试脱机XML解析器。例如,我的基于Xerces-J的验证器可以正确地将XML标识为格式良好
- 请注意,中不允许所有由允许的字符。
因此,尽管格式良好,但使用此类字符的XML是无效的
根据XSD,此类名称是不允许的
这是工具中的错误还是XML的格式不正确
它在最新的规范中,即XML1.0第五版。但它出现在上一版中,直到2008年才更新
最初的XML1.0规范(从1998年开始)将名称字符集锁定为当时Unicode标准中定义为字母的字符。这不包括,虽然我找不到你问题的答案,但我可以说的是,在XML中使用这样的字符似乎不是一个好主意,例如引用规范:“鼓励文档作者使用自然语言中有意义的词或词的组合,并避免在名称中使用符号或空格字符。“XML是为自然语言设计的,为什么要使用它?”很高兴了解XML版本之间的差异。我觉得奇怪的是,一个XML 1.0可能与另一个XML 1.0不兼容。。。