Porque si es así, poniendo como ejemplo algo parecido a lo que estoy haciendo:
Documento previsiones.dtd
Código:
Documento XML mal formado<?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)>
Código:
Viendo el XML hay varias 'mal formaciones', por ejemplo:<!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>
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!