为什么<?xml ... ?>而不是<?xhtml ...?> XHTML?

Why <?xml ... ?> rather than <?xhtml ...?> for XHTML?

提问人: 提问时间:12/23/2015 最后编辑:kjhughes 更新时间:12/24/2015 访问量:134

问:

在XHTML文件的开头,为什么我们在以下构造中使用“xml”:

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

不应该是:

<?xhtml version = "1.0" encoding = "utf-8" ?>
XHTML-1.0-严格 XML 声明

评论


答:

3赞 kjhughes 12/23/2015 #1

结构,<?xml ...?>

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

是一个 XML 声明,并且该部件不会因 XML 文件类型而异。对于 XHTML 文件(根据定义,它是 XML)应该相同。xml

笔记:

XHTML Prolog 示例:

根据 W3C 推荐的 Doctype 声明列表,您还可以在其中找到其他示例:

<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>An XHTML 1.0 Strict standard template</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
  </head>
  <body>
     <p>… Your HTML content here …</p>
  </body>
</html>

评论

3赞 Vinay Guru 12/23/2015
我不明白你说什么。他问我们为什么要用XML而不是 XHTML.Is 强制使用XML声明,请简单解释一下。这样我们才能正确理解。
3赞 Vinay Guru 12/24/2015
这就是我们后辈与像你这样的前辈所不具备的。进一步请简要介绍一下,以便大家都能理解。
2赞 Mr Lister 12/24/2015
您可以添加“XHTML声明”,以DOCTYPE的形式跟在xml声明之后,这就是将文件定义为XHTML以及描述版本的原因。
2赞 kjhughes 12/24/2015
好主意。我添加了一个关于DOCTYPE是声明XHTML的注释,并显示了一个示例。谢谢。
1赞 Michael Kay 12/24/2015 #2

问:我们为什么使用?<?xml..?>

答:因为这是规范中说我们必须使用的。

问:为什么规范这么说?

答:因为XHTML和XML之间的关系是XHTML是一个特定的XML词汇表。XML 声明用于向 XML 解析器提供信息(有关 XML 版本和文件的编码),并且 XML 解析器处理任何 XML 文件,而不管使用什么词汇。

当然,它的设计本来可以有所不同。但事实并非如此。