在指定XHTML元素的语言时,除了HTML“lang”属性外,是否需要“xml:lang”属性?

3

我有一个XHTML 1.0 Transitional文档。大部分内容都是英文,因此这是我在顶部得到的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

一些元素使用不同的语言,例如:

<a href="#" lang="es">Español</a>

我需要把像这样的元素也添加xml:lang="es"吗,从而重复语言信息?

2个回答

5
如果您发送的文件使用的是"text/html" MIME类型,那么您应该这样做,因为您正在尝试同时使用HTML和XHTML。(浏览器只会查看"lang",不会查看"xml:lang")。另一方面,如果您使用的是正确的MIME类型("application/xhtml+xml"),则只需要"xml:lang="""就可以了。如果(正确地)指出您正在使用HTML,并且具有HTML文档类型,则只需要"lang="""即可。

1
谢谢,我觉得这很有道理。所以这个想法是,如果文档被一个只能理解 XML(或者至少不知道 XHTML 特定语义)的解析器解析,它仍然知道那个元素是西班牙语。 - Paul D. Waite

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接