¿Por qué este código XHTML-MP no pasa la validación del W3C?
-
29-09-2019 - |
Pregunta
<?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>
Esta falla W3C validación con el error La entrada no es correcta UTF-8, indicar la codificación ! Bytes: 0xa9 0x20 0x32 0x30
Incluso si se agrega <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
y decirle al validador de que UTF8, se da este error.
Si se elimina el XHTML-MP DOCTYPE, que funciona bien. ¿Cuál es el problema?
Solución
El problema es con el DTD externo. Si cambia el DOCTYPE a esto, se valida:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
Otros consejos
http://mobiready.com/launch.jsp?locale=en_EN valida bien. Extraño
Además no es necesario utilizar 1.1 con el fin de utilizar JavaScript. Aunque no validaría el corrector de 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">
funciona bien con casi todos los teléfonos JavaScript apoyado.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow