为什么 XHTML 被称为“eXtensible”(X
in XHTML
)?作为个人 Web 开发人员,我们真的可以扩展它吗?
它与普通 HTML 有什么区别?
嗯,首先,事情发生了一些变化,XHTML 不再是真正的东西了。HTML5 不被解析为 XML,当然 XHTML 2.0 也被取消了。
尽管如此,如果您使用application/xhtml+xml
mimetype,也可以使用 XHTML,但请注意它的各种缺点(任何错误 = 黄屏死机,较旧的 IE 根本不呈现任何内容)。
对于一个新项目,使用 HTML5 文档类型并作为text/html
. XHTML 可以被认为是失败的原因有很多。
无论如何,使用 XHTML 你可以做这样的事情:
<!DOCTYPE html SYSTEM "http://example.com/my-xhtml-custom.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:custom="http://example.com/" xml:lang='en-US'>
然后复制http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd并按照您喜欢的方式对其进行编辑,并将其放在我们之前引用的位置。
w3c 对此有很多话要说,特别是:
不要这样做!文档需要具有含义以及正确的语法。SGML 和 XML 只定义语法。HTML 和 XHTML 定义了含义。如果您添加了标准未定义的元素,那么只有您自己知道它们的含义。再过 20 年或 50 年,可能连你自己都不知道了……</p>
当然,您可以进行试验,例如研究未来的 Web 格式,但除此之外,您不应使用专有元素。
如今,幸运的是,我们有了 HTML5,它丢弃了所有这些 XML 内容(没有人使用它,它增加了很多复杂性)。它不能以相同的方式扩展,但这可能是一件好事!