لماذا لا يمر رمز XHTML-MP هذا بالتحقق من صحة W3C؟
-
29-09-2019 - |
سؤال
مثال ويكيبيديا 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 مع الخطأ الإدخال ليس مناسبة UTF-8 ، تشير إلى الترميز! بايت: 0xa9 0x20 0x32 0x30
حتى لو أضفت <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
وأخبر المدقق أنه UTF8 ، فإنه يعطي هذا الخطأ.
إذا تمت إزالة Doctype XHTML-MP ، فإنه يعمل بشكل جيد. ماهو الإتفاق؟
المحلول
المشكلة هي مع DTD الخارجي. إذا قمت بتغيير doctype إلى هذا ، فإنه يتحقق:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
نصائح أخرى
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 تقريبًا.
لا تنتمي إلى StackOverflow