Buenas, tengo una duda sobre las validaciones de los documentos XML: Cuando un documento validado con un DTD no es válido, ¿no debería avisarme el navegador, cuando cargo ese XML al igual que lo hace cuando tiene errores de sintaxis(mal formado)?
Porque si es así, poniendo como ejemplo algo parecido a lo que estoy haciendo:
Documento previsiones.dtd
Código:
<?xml encoding="UTF-8"?>
<!ELEMENT previsiones (provincia,dia+)>
<!ELEMENT provincia (#PCDATA)>
<!ELEMENT dia (hora+,humedad)>
<!ATTLIST dia diaa (hoy|manana) #REQUIRED>
<!ELEMENT hora (tiempo,viento)>
<!ATTLIST hora intervalo NMTOKEN #REQUIRED>
<!ELEMENT humedad (#PCDATA)>
<!ELEMENT ttiempo (#PCDATA)>
<!ELEMENT viento (#PCDATA)>
Documento XML mal formado
Código:
<!DOCTYPE previsiones SYSTEM "previsiones.dtd">
<previsiones>
<provincia>Barcelona</provincia>
<dia diaa="cualquiera">
<hora intervalo="0-12">
<tiempo>Nublado</tiempo>
<viento>Norte 10km/h</viento>
</hora>
<hora>
<tiempo>Soleado</tiempo>
<viento>Sin viento</viento>
</hora>
<humedad>64</humedad>
</dia>
<dia>
<hora intervalo="0-12">
<tiempo>Nublado</tiempo>
<viento>Norte 10km/h</viento>
</hora>
<hora intervalo="12-24">
<tiempo>Soleado</tiempo>
</hora>
<humedad>75</humedad>
</dia>
</previsiones>
Viendo el XML hay varias 'mal formaciones', por ejemplo:
El primer TAG
dia tiene el atributo
diaa con un valor distinto a 'hoy' o 'manana'.
El segundo TAG
dia no tiene el atributo
diaa siendo este requerido
La segunda
hora del segundo
dia no contiene el TAG
viento.
En fin, todo eso, entre otras cosas más, sin embargo ningún navegador se queja de que no sea válido y me gustaría saber, que si el navegador no me informara de ello, ¿como se si un documento XML es válido o no?, y si no que hago mal?
Un saludo!