为什么在XHTML中使用<?xml ... ?>而不是<?xhtml ...?>?

3
在XHTML文件的开头,我们为什么要在以下结构中使用“xml”:
<?xml version = "1.0" encoding = "utf-8" ?>

是否应该这样:

<?xhtml version = "1.0" encoding = "utf-8" ?>
2个回答

3

这个<?xml ...?>结构,

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

是一个XML声明,而xml部分不会因为XML文件类型而变化。对于XHTML文件(根据定义是XML),应该是相同的。

注意事项:

XHTML Prolog示例:

根据W3C推荐的文档类型声明列表,您还可以找到其他示例:
<?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
我不明白你说了什么。他问为什么我们应该使用XML而不是XHTML。是否必须使用XML声明,请简要解释一下,以便我们能够正确理解。 - Vinay Guru
3
这就是我们这些初学者从像你们这样的前辈身上期望的。请尽量简明扼要地写,以便每个人都能理解。 - Vinay Guru
2
你可以补充说明,在 xml 声明之后,通过 DOCTYPE 的形式添加“XHTML 声明”,这就是 定义该文件为 XHTML 并描述版本的方式。 - Mr Lister
2
好主意。我已经添加了一个关于DOCTYPE声明XHTML的注释,并展示了一个例子。谢谢。 - kjhughes

1

问题: 为什么要使用<?xml..?>

答案: 因为规范规定我们必须使用它。

问题: 为什么规范这样说?

答案: 因为XHTML与XML的关系是XHTML是一种特定的XML词汇。 XML声明存在是为了向XML解析器提供信息(有关XML版本和文件编码),而XML解析器处理任何使用的词汇的XML文件。

当然,它本可以设计得不同。但实际上并没有。


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