Perché questo codice XHTML-MP non passa la validazione W3C?
-
29-09-2019 - |
Domanda
L'esempio di Wikipedia di 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>
Questa non W3C codifica convalida con l'errore ingresso non è corretta UTF-8, indicare ! Byte: 0xA9 0x20 0x32 0x30
Anche se si aggiunge <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
e dire il validatore di essa l'UTF8, dà questo errore.
Se l'XHTML-MP DOCTYPE viene rimosso, funziona benissimo. Qual è il problema?
Soluzione
Il problema è con il DTD esterno. Se si cambia il DOCTYPE a questo, esso convalida:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
Altri suggerimenti
http://mobiready.com/launch.jsp?locale=en_EN lo convalida bene. Wierd
Inoltre non c'è bisogno di usare 1.1, al fine di utilizzare JavaScript. Anche se non sarebbe convalidare il correttore di 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">
funziona bene con quasi tutti i supportato JavaScript cellulari.