XHTML5和自定义命名空间未通过验证

时间:2012-04-09 14:50:30

标签: html5 validation xhtml semantics markup

此示例代码不会传递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" xmlns:foo="http://foo.com/fooxml">
<head>
    <title>Foo</title>
</head>
<body>
    <foo:TabControl>

    </foo:TabControl>
</body>
</html>

我错过了什么?我需要做些什么才能使命名空间工作并通过验证?

1 个答案:

答案 0 :(得分:2)

你的DTD(http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)是“XHTML 1.0 Strict”而不是“XHTML 1.0 Strict + Foo”。

如果要验证,则需要查找或创建包含您正在使用的所有元素和属性的DTD,并将Doctype更改为指向该位置。

W3C的recommended Doctypes列表包含许多多个命名空间文档(例如XHTML + MathML + SVG),您可以将它们用作创建自己的文档的示例。