Foros del Web » Soporte técnico » Ayuda General »

[SOLUCIONADO] Validación documento XML con DTD

Estas en el tema de Validación documento XML con DTD en el foro de Ayuda General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 31/03/2012, 14:22
CraYzoR
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Validación documento XML con DTD

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!
  #2 (permalink)  
Antiguo 31/03/2012, 14:26
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Validación documento XML con DTD

No, el navegador no valida los documentos, así que no avisa (s lo hiciera no podrías nevagar en la mayoría de las páginas).

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 31/03/2012, 14:30
CraYzoR
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Validación documento XML con DTD

Cita:
Iniciado por Carlangueitor Ver Mensaje
No, el navegador no valida los documentos, así que no avisa (s lo hiciera no podrías nevagar en la mayoría de las páginas).

Saludos
Gracias por la rápida respuesta, pero entonces, ¿como sabes si un documento XML es válido o no?, porque digo yo que para algo servirá enlazar el dtd al XML...
  #4 (permalink)  
Antiguo 31/03/2012, 14:51
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Validación documento XML con DTD

¡buenas!
la validación de un xml frente a un dtd o schema, aparentemente depende de las herramientas. por ejemplo, iexplorer incorpora un validador xml, aunque no tengo idea si aún lo incorpora pero recuerdo haber visto un ejemplo. nunca vi como estaba hecho, pero seguramente es en javascript. otra alternativa sería programas especializados para eso. por ejemplo, en una busqueda rápida se menciona xmllint como validador. también puedes hacer tu propio programa. por ejemplo, (y si bien recuerdo) el validador online de la w3c para documentos html y xhtml esta escrito en perl. recuerdo haber visto alguna vez que podias descargar el script que valida los documentos desde w3.org. en fin, lo puedes hacer en cualquier otro lenguaje. pero dado tu pregunta, asumiré que tu mejor alternativa es descargar algún programa para este propósito. xmllint aparentemente se usa a modo de comando.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 31/03/2012, 15:09
CraYzoR
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: Validación documento XML con DTD

Cita:
Iniciado por zerokilled Ver Mensaje
¡buenas!
la validación de un xml frente a un dtd o schema, aparentemente depende de las herramientas. por ejemplo, iexplorer incorpora un validador xml, aunque no tengo idea si aún lo incorpora pero recuerdo haber visto un ejemplo. nunca vi como estaba hecho, pero seguramente es en javascript. otra alternativa sería programas especializados para eso. por ejemplo, en una busqueda rápida se menciona xmllint como validador. también puedes hacer tu propio programa. por ejemplo, (y si bien recuerdo) el validador online de la w3c para documentos html y xhtml esta escrito en perl. recuerdo haber visto alguna vez que podias descargar el script que valida los documentos desde w3.org. en fin, lo puedes hacer en cualquier otro lenguaje. pero dado tu pregunta, asumiré que tu mejor alternativa es descargar algún programa para este propósito. xmllint aparentemente se usa a modo de comando.
Gracias por la info! Así que hay que usar herramientas dedicadas a ello...ok...
Buscando en Google hay bastantes validadores online. Este por ejemplo:
[URL="http://www.xmlvalidation.com/"]XML Validation[/URL]

En fin, gracias a los 2, doy el tema por solucionado

Un saludo!

Etiquetas: dtd, validez, xml, validar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:44.