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

Estructura XML

Estas en el tema de Estructura XML en el foro de Programación General en Foros del Web. Hola. La verdad es que soy nuevo en esto y nose muy bien como deberia estructurar un fichero XML, la verdad es que tengo una ...
  #1 (permalink)  
Antiguo 03/02/2009, 02:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Estructura XML

Hola.

La verdad es que soy nuevo en esto y nose muy bien como deberia estructurar un fichero XML, la verdad es que tengo una duda en si se debe o se puede poner un mismo elemento en diferentes sitios, y si no se debe cual seria la mejor opcion, mi estructura podria ser tal que asi-

<Vivienda>
<Estancia id=1>
<tabique idestancia1= 1 idestancia2=7>
</tabique>
</Estancia>
<Estancia id=2>
<tabique idestancia1= 2 idestancia2=3>
</tabique>
</Estancia>
<Estancia id=7>
<tabique idestancia1= 1 idestancia2=7>
</tabique>
</Estancia>
</Vivienda>

Como veis cada tabique al separar 2 estancias estaria dentro de 2 estancias a la vez y no se si esto es del todo correcto o no, y si aunque siendolo hay una estructura mejor me ayudarias un poco. Evidentemente hay muchos más elementos y atributos que me he ahorrado. Pero el problema es con los tabiques y las estancias.

Yo habia pensado tambien como tener todos los tabiques en un lado y en las estancias que solo esten los identificadores de los tabiques, pero claro asi los datos no estariam estructurados. Que deberia hacer?

Salu2
  #2 (permalink)  
Antiguo 03/02/2009, 05:27
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Respuesta: Estructura XML

la única estructura que debes respetar es que el tag raíz sea uno solo, luego dentro del los sub-tags puedes hacer lo que desees...mirá por ejemplo los RSS repiten también los subtags...

No le veo nada de malo...

Saludos
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 04/02/2009, 21:04
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: Estructura XML

Un XML es XML si esta bien formado. En tu caso tienes un error de validación al no tener los atributos entre comillas (tienen que estarlo), lo correcto sería: <Estancia id="1"> y así con todos los demás casos.

Aparte, un XML puede ser válido, para ello deben cumplir con un DTD que es como una plantilla donde se define qué puede tener el XML y de qué manera debe estar organizada la información. Para los RSS que menciona monoswim, será RSS si cumple con las normas que lo definen ... pero esto es solo una opción para estandarizar la información del XML, en tu caso posiblemente signifique solo meterse en problemas.

Entonces, si no necesitas complir con una validación, el cómo organizas tu información es completamente libre. Salvo el error que menciono inicialmente, la forma en que lo presentas esta bien, si así te organizas mejor. Las variantes pueden ser demasiadas, por ejemplo, medio interpretando tu información, de la siguiente manera igual podría ser una opción:

Código xml:
Ver original
  1. <?xml version="1.0" ?>
  2. <Vivienda>
  3.     <tabique idEstancia="1">
  4.         <estancia1>1</estancia1>
  5.         <estancia2>7</estancia2>
  6.     </tabique>
  7.     <tabique idEstancia="2">
  8.         <estancia1>2</estancia1>
  9.         <estancia2>3</estancia2>
  10.     </tabique>
  11.     <tabique idEstancia="7">
  12.         <estancia1>1</estancia1>
  13.         <estancia2>7</estancia2>
  14.     </tabique>
  15. </Vivienda>

Incluso se podría manejar las etiquetas "instanciaN" de la siguiente manera:

Código xml:
Ver original
  1. <?xml version="1.0" ?>
  2. <Vivienda>
  3.     <tabique idEstancia="1">
  4.         <estancia numero="1">1</estancia>
  5.         <estancia numero="2">7</estancia>
  6.     </tabique>
  7.     <tabique idEstancia="2">
  8.         <estancia numero="1">2</estancia>
  9.         <estancia numero="2">3</estancia>
  10.     </tabique>
  11.     <tabique idEstancia="7">
  12.         <estancia numero="1">1</estancia>
  13.         <estancia numero="2">7</estancia>
  14.     </tabique>
  15. </Vivienda>

... solo mi interpretación (que ni al final, no tengo ni idea de qué vaya el asunto) de que una "estancia" tiene un número y que un "tabique" tiene un identificador ... pero al final lo mejor es lo que a ti se te acomode.

Un saludo y suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 05/02/2009, 08:51
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Estructura XML

Gracias por responder a los dos.
Aparte de lo que se ve ahi de los identificadores tambien hay otras muchas propiedades como dimensiones de la estancia, area etc, en fin tengo que guardar todo lo necesario para dibujar una casa, el tema de la estructura mientras este bien formado el que haya elementos repetidos no importa mucho. Asique intentare crear la estructura que mejor me permita luego leer los datos y este mejor diseñada.

Salu2
  #5 (permalink)  
Antiguo 22/02/2009, 12:11
jfw
 
Fecha de Ingreso: enero-2009
Mensajes: 117
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: Estructura XML

Si hay más tags colgando de <vivienda>, a mí me gusta mas hacer un tag <estancias></estancias> que dentro tenga cada uno de los tags <estancia></estancia>.
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 00:09.