Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML名称中是否允许使用补充字符?_Xml_Validation_Unicode_Supplementary - Fatal编程技术网

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规范,字符[#x10000-#xEFFFF]在XML名称中是合法的。但是,W3验证器表示此XML格式不正确:



是,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不兼容。。。