如何在编码声明的上下文中解释 XML 的大小写敏感性和大小写偏好?

问题描述 投票:0回答:1

我正在尝试在编码的上下文中了解 XML 区分大小写背后的想法

<?xml version="1.0" encoding="UTF-8"?>

在上下文中看到
XML 声明标签区分大小写吗?
XML 区分大小写吗?

加上 XML 规范
https://www.w3.org/TR/xml/#:~:text=XML%20processors%20should%20match%20character%20encoding%20names%20in%20a%20case%2Dinsensitive%20way

除了编码值之外,声明

<?xml version="1.0" encoding=""?>
按照标准显然是区分大小写的。

现在有两件事我不确定。
如果我理解正确的话:

  1. 编码的值,例如
    UTF-8
    仍然区分大小写。
    UTF-8
    utf-8
    都保持“不同”,但它们的评估应该不区分大小写,从而使它们相等。
  2. 关于
    UTF-8
    UTF-16
    ,规范的偏好似乎是大写。
    引用:
    在编码声明中,值“UTF-8”,“UTF-16”[…]应该是用过
    IE。小写的
    utf-8
    utf-16
    似乎不被鼓励。

我特别关心小写的

utf-8
,这曾经是我的偏好,但看来我真的应该使用大写的
UTF-8
。或者这在 2024 年还重要吗?

xml encoding
1个回答
0
投票

w3 建议明确指出编码名称应该不区分大小写进行解析。

XML 处理器应该以不区分大小写的方式匹配字符编码名称

该段落上方是定义编码名称的正则表达式,它包含大写和小写字符,因此

utf-8
Utf-8
UTF-8
都被接受。

[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')* /* 编码名称仅包含拉丁字符 */

© www.soinside.com 2019 - 2024. All rights reserved.