【问题标题】:What XML version to use?使用什么 XML 版本?
【发布时间】:2011-07-30 12:24:53
【问题描述】:

我有一个在线商店,供应商可以在那里上传和导入两种格式的文章。

  1. 纯文本(制表符分隔)
  2. XML

目前我使用的是 XML 1.0。

但是我看到还有一个版本 1.1

在 wikipedia 上声明,对于大多数用途,1.0 可以使用。 http://en.wikipedia.org/wiki/XML#Versions

它还声明它使用以下 Unicode 编码:Unicode 2.0 到 Unicode 3.2。

在第五版中,XML 名称可能包含巴厘岛、占族或腓尼基脚本中的字符以及自 Unicode 3.2 以来已添加到 Unicode 的许多其他字符

目前我只有几种基于“拉丁”的语言,但这可能会在未来发生变化,我想做好准备。

Unicode 3.2 中是否存在某些语言不支持的字符?我可以安全使用 v1.0 吗?

如果您需要更多信息,请告诉我。

【问题讨论】:

    标签: xml xml-1.1


    【解决方案1】:

    使用 1.0 版。

    如果您在标识符、EBCDIC 行结束字符或控制字符(字符代码 1 - 31)中使用某些非 ASCII 字符,则只需使用 1.1 版。

    Rationale and list of changes for XML 1.1

    【讨论】:

    • 我知道好处很小,但指定<?xml version="1.1"?> 有什么缺点?很多事情会不会突然不起作用?
    • @ycomp:是的,它很可能会停止工作。对 XML 1.1 的支持并未得到广泛实施。 .NET 框架,例如 won't read it
    • 我不明白他们为什么要突然更改版本号。第一个(XML 1.0)最初是在 1998 年定义的。从那时起,它经历了几次修订,没有给出新的版本号。
    • @NoName “正在创建一个新的 XML 版本,而不是一组 XML 1.0 的勘误表,因为这些更改会影响格式良好文档的定义。”请参阅答案中引用的理由
    【解决方案2】:

    XML 1.1 的出现源于对“包容性”的狂热渴望,它支持世界上所有的语言,包括近一个世纪前仅使用了 15 年的编写阿比西尼亚语的方法。如果您是 99.99999% 的不需要捕获古代手稿的人群中的一员,那么 XML 1.1 完全是浪费时间。

    【讨论】:

    • 我想我属于 99,99999 的范畴 :)
    • 请注意,这也仅适用于标识符。您仍然可以在内容中使用这些字符。
    • 我怀疑需要在元素和属性名称中使用过时的阿比西尼亚字符的人数比713人少很多。
    • @Suncat2000 您将 XSD 1.1 与 XML 1.1 混淆了。这个线程是关于 XML 版本,而不是 XSD 版本。
    【解决方案3】:

    除了无用的东西(比如愚蠢的 EBCDIC 换行符)之外,不幸的是,XML 1.1 还允许一个很好的特性:能够将字符实体用于除 LF/CR/Tab 之外的 Unicode/ASCII 控制字符。除了你仍然不能包含空值,即使使用字符引用。

    所以这几乎不足以使用 1.1,除非特别需要包含这些字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2014-11-27
      • 1970-01-01
      • 2015-09-27
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多