Foros del Web » Programación para mayores de 30 ;) » Programación General »

Tengo bien este pequeño ejercicio de XML?

Estas en el tema de Tengo bien este pequeño ejercicio de XML? en el foro de Programación General en Foros del Web. Hola, soy nuevo en XML, y en un ejercicio de un libro de XML se me pide crear una DTD que se corresponda con los ...
  #1 (permalink)  
Antiguo 14/07/2005, 04:22
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Tengo bien este pequeño ejercicio de XML?

Hola, soy nuevo en XML, y en un ejercicio de un libro de XML se me pide crear una DTD que se corresponda con los valores relativos al funcionamiento de un semáforo. Sólo me gustaría saber si la DTD siguiente sería válida, si no lo es, aunque sintácticamente sí, pero en la práctica no, y en ese caso, si hay alguna manera mejor. Esta es la DTD:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE Semaforos[
<!ELEMENT Semaforos(Semaforo+)>
<!ELEMENT Semaforo (#PCDATA)>
<!ATTLIST Semaforo Estado (rojo | ambar | verde) "verde">
]>


<!-- Ejemplo de xml correspondiente-->
<Semaforos>
<Semaforo Estado="rojo">1</Semaforo>
<Semaforo Estado="verde">2</Semaforo>
<Semaforo Estado="rojo">3</Semaforo>
<Semaforo Estado="ambar">4</Semaforo>
<Semaforo Estado="verde">5</Semaforo>
</Semaforos>


El ejemplo me lo ha validado el Altova XMLSpy y no hay error, pero es útil construir el xml de esta forma para este caso? o hay alguna forma mejor?

Última edición por Tigervlc; 14/07/2005 a las 04:28
  #2 (permalink)  
Antiguo 14/07/2005, 04:30
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
Depende de lo complejo que lo quieras hacer.
En principio es válido.

Una pregunta, lo has copiado o realmente sabes lo que has puesto?
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #3 (permalink)  
Antiguo 14/07/2005, 04:38
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Lo he hecho a partir de cero. El ejercicio me pedía símplemente:
"Crea el DTD correspondiente a un fichero de datos que definiera valores relativos al funcionamiento de un semáforo".

Una cosa que no tengo clara es si se ha de poner los datos de cada semáforo (1, 2, 3, 4.. etc) entre las etiquetas de cada elemento semáforo, o como un atributo, o de alguna otra forma.
  #4 (permalink)  
Antiguo 14/07/2005, 04:41
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
que es 1,2,3,..
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #5 (permalink)  
Antiguo 14/07/2005, 04:42
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Una cosa que no tengo clara es si se ha de poner los datos de cada semáforo (1, 2, 3, 4.. etc) entre las etiquetas de cada elemento semáforo, o como un atributo, o de alguna otra forma.

Ah, vaya! Como es posible? El atributo Estado solo puede tener uno de tres posibles valores (rojo | ambar | verde)
  #6 (permalink)  
Antiguo 14/07/2005, 04:43
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
lo de 1,2,3 lo ponía como identificador de cada semáforo, si hipotéticamente hay que controlar el estado de un conjunto de semáforos. Pero no sé si está bien así.
  #7 (permalink)  
Antiguo 14/07/2005, 04:53
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
Que alguien me oriente, please! Helbira, si no es molestia, podrías decirme cómo impedir más de tres estados, o la mejor manera de identificar cada semáforo?

Gracias por la ayuda recibida y por la que venga
  #8 (permalink)  
Antiguo 15/07/2005, 03:56
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
A ver.... no puedo mirarte exactamente la sintaxis en DTD pero en vez de poner el identificador de cada semanafor entre las etiquetas ponlo como un atributo id o name o com oqueras y pon que su tipo es ID (no recuerdo si era ID o KEY). Con eso estas diciendo que no puede haber dos etiquetas <semaforo> con el mismo valor en el atributo id y, por tanto, no podrá para un mismo semaforo dos estados simultaneamente.
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #9 (permalink)  
Antiguo 15/07/2005, 10:57
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 11 meses
Puntos: 3
ok, haré lo que dices. Muchas gracias Helbira.
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 02:44.