为什么这个XHTML-MP代码没有通过W3C验证?

时间:2010-06-22 14:50:13

标签: doctype mobile-website w3c-validation xhtml-mp

维基百科的XHTML-MP示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.1//EN"
  "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
  <head>
    <title>Hello</title>
  </head>
  <body>
    <p>Hello <a href="http://example.org/">world</a>.</p>
  </body>
</html>

W3C validation失败,错误输入不正确UTF-8,表示编码!字节:0xA9 0x20 0x32 0x30

即使您添加<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />并告诉验证器它是UTF8,它也会出现此错误。

如果删除XHTML-MP DOCTYPE,它可以正常工作。这笔交易是什么?

2 个答案:

答案 0 :(得分:1)

问题在于外部DTD。如果您将DOCTYPE更改为此,则验证:

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

答案 1 :(得分:0)

http://mobiready.com/launch.jsp?locale=en_EN验证没问题。奇怪的

此外,您无需使用1.1即可使用JavaScript。虽然它不会在W3的检查器上验证,

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

几乎所有支持JavaScript的手机都能正常使用。