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

Menú XML

Estas en el tema de Menú XML en el foro de Programación General en Foros del Web. Buenas: Tenía una duda a la hora de realizar un menú con un xml, bueno, muchas porque nunca he hecho uno antes. El tema es ...
  #1 (permalink)  
Antiguo 24/01/2009, 12:21
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Menú XML

Buenas:

Tenía una duda a la hora de realizar un menú con un xml, bueno, muchas porque nunca he hecho uno antes.

El tema es que he generado un xml que tiene, además de los enlaces, una serie de información acerca de cada enlace, como son un título, el enlace y un descripción, de manera, que la estructura es, algo parecido a esto:

Código HTML:
<?xml version="1.0" encoding="utf-8"?>
<contenido>
	<bloque id="bloque1">
		<elemento orden="1" nombre="elemento1">
			<titulo>Elemento1</titulo>
			<descripcion>Descripción para Elemento 1</descripcion>
			<enlace><a href="/elemento1.html">Ir a Elemento 1</a></enlace>
		</elemento>
		<elemento orden="2" nombre="elemento2">
			<titulo>Elemento 2</titulo>
			<descripcion>Descripción para Elemento 2</descripcion>
			<enlace><a href="/elemento2.html">Ir a Elemento 2</a></enlace>			
		</elemento>
	</bloque>
</contenido> 
La información la quiero mostrar en tres divs 'flotados' uno junto a otro, porque al final quiero mostrar el contenido en un popup. La idea es mostrar en el primer 'div' los bloques, en el siguiente, el contenido de cada uno, de manera que tenga un título con el link; y en el tercero, que al hacer un mouseOver sobre cada título, muestre la descripción.

Espero haberme explicado hasta aqui

Pues la cosa es que no tengo claro que esto se pueda hacer, eso lo primero. Por otra parte, no puedo hacerlo en PHP ni en otro lenguaje de servidor, pues es para ejecutarlo desde CD.

Agradecería si me pudiéseis echar una mano de por dónde empezar, básicamente, porque tengo todo lo demás montado, a falta de todo lo referente a la integración del XML, lectura y creación de menú y enlaces.

Muchas gracias
  #2 (permalink)  
Antiguo 25/01/2009, 18:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Buenas noches de nuevo:

También acepto sugerencias para realizar esto de otra manera, pero prefiero algo dinámico, ya que son gran cantidad de enlaces y prefiero meterlo todo en un xml, en el que puedo incluir toda la información necesaria:

- estructura
- títulos
- enlaces
- descripción

Sigo buscando en los foros y google y no encuentro algo parecido, con lo que me temo que puede ser que esté planteando mal algo.

Muchas gracias de nuevo.

Saludos.
  #3 (permalink)  
Antiguo 25/01/2009, 22:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Menú XML

Tema trasladado a XML.
  #4 (permalink)  
Antiguo 26/01/2009, 06:49
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Menú XML

Puedes hacerlo con XSLT que se ejecuta en el navegador mismo y te transforma el XML en HTML comúny corriente...

__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 26/01/2009, 09:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 48
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Menú XML

también te recomiendo que metas los enlaces en zonas CDATA para que no te de errores. En estas zonas se mete todo el texto que no quieres que el parser transforme

Código HTML:
<![CDATA[<a href="/elemento1.html">Ir a Elemento 1</a>]]>
  #6 (permalink)  
Antiguo 26/01/2009, 09:14
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Muchas gracias, miraré el tema, que como ya he dicho, soy novato en esto.

Aún así sigo con la duda de si me mostraría los datos 'filtrados', es decir, si al hacer click en el bloque 1, me mostraría sólo sus elementos y al hacer un OnMouseOver sobre cada elemento, me mostraría su descripción.

Al no haber trabajado antes con esto, es sobretodo dónde me surgen las dudas, en la interacción en sí.

Muchas gracias.
  #7 (permalink)  
Antiguo 26/01/2009, 12:01
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Menú XML

Lo puedes mostrar de igual manera que lo harías en un HTML...COn div, onMouseOver y demás...

Queda HTML real, con CSS, JavaScript y toda la bola...

__________________
Esteban Quintana
  #8 (permalink)  
Antiguo 26/01/2009, 15:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Muchas gracias. De momento está siendo poco fructífero, pues no consigo que salga nada y, además al convertir el html a xsl, me pierde el color de fondo del css, bueno, no exactamente, lo ajusta al tamaño en vez de arrastrarlo por toda la ventana.

Por otra parte, entiendo que el fichero html, ahora debe tener extensión xsl y la vinculación se hace desde el xml, pero no sé si se tiene que hacer también vinculación desde el xsl al xml.

También me da a mi que no me está haciendo lo que debe, porque va a ser que se me escapa algo. Pongo como estoy intentando hacer el menú principal:

Código HTML:
 <xsl:for-each select="/bloque"/>
                        <ul id="li_MENU">
                            <li><xsl:value-of select="bloque/id" /></li>                   
                        </ul>
                        </xsl:for-each> 
Esto falla por todos sitios.

Bueno, espero que me podáis seguir ayudando y si sabéis de algún 'guía burros' por la Red, agradecería que me indicáseis dónde está.

Muchas gracias de nuevo.

Saludos

Última edición por jesusjj; 26/01/2009 a las 15:39
  #9 (permalink)  
Antiguo 26/01/2009, 16:07
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Menú XML

no estarás intentando hacer

Cita:
<ul id="li_MENU">
<xsl:for-each select="/bloque"/>
<li><xsl:value-of select="id" /></li>
</xsl:for-each>
</ul>
Fijate que cuando entrás al bucle bloque, ya no debes colocar nuevamente bloque, sino directamente id...

Saludos
__________________
Esteban Quintana
  #10 (permalink)  
Antiguo 26/01/2009, 16:29
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Buenas noches, ok, estoy probando, pero me da constantemente el siguiente error:

Código HTML:
error on line 69 at column 40: Opening and ending tag mismatch: ul line 0 and xsl:for-each
Incluso copy-pasteando.

Seguiré dándole vueltas, no sé porqué se va por ahí. Si se os ocurre algo, no dudéis en contarlo :P

Muchas gracias
  #11 (permalink)  
Antiguo 27/01/2009, 05:16
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Menú XML

<xsl:for-each select="/bloque"/>

está mal la última / debe ser

<xsl:for-each select="/bloque">

No me había dado cuenta...


PD: El / al final de la línea te cierra la etiqueta, en este caso usas </xsl:for-each> para cerrarla...
__________________
Esteban Quintana
  #12 (permalink)  
Antiguo 27/01/2009, 05:42
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Buenos días:

Muchas gracias, ya no da el error Se me pasó ese detalle también

Ahora lo que pasa es que no muestra nada, creo que es por cómo le paso el 'id' en el xml, pero no estoy seguro.

Muchas gracias por la ayuda, estoy aprendiendo esto del xml que al final es lo importante.

Saludos
  #13 (permalink)  
Antiguo 27/01/2009, 05:54
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Tengo una duda, que quizá sea lo que esté generando el fallo. En el xml sí he añadido una llamada al xsl, pero en éste no y no sé si es necesario. Quizá por eso no lo lea.
  #14 (permalink)  
Antiguo 27/01/2009, 10:47
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Menú XML

haaa, pensé que era una prueba nomás, que no era el real...

<xsl:for-each select="/bloque"> está rerefenciado al tag raiz bloque que no existe !

<xsl:for-each select="/contenido/bloque/elemento">

y en <xsl:value-of select="id" /> estás mostrando un tag que no existe...

<xsl:value-of select="titulo" />

ahí si va a mostrarte los títulos...

Saludos
__________________
Esteban Quintana
  #15 (permalink)  
Antiguo 27/01/2009, 16:27
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Buenas noches y muchas gracias por la ayuda, me está ayudando a organizarme las ideas bastante.

El tema es que sigo sin conseguir volcar la información del xml, con lo que he pensado que lo mejor será contar lo que estoy haciendo y, quizá, provocar alguna carcajada.

1- Para empezar hice el diseño de la forma habitual, con su html, css, js, ...
2- Después he montado el xml
3- Transformo el html a xsl
4- Introduzco en el xml la siguiente línea:
Código HTML:
<?xml-stylesheet href="../Fichero.xsl" type="text/xsl"?> 
5- Pongo las líneas de arriba en el xsl
6- Por último, lo que abro en el navegador es el xsl (creo que es lo que estoy haciendo mal)

Dentro del html/xsl, no tengo ninguna llamada ni enlace al xml.

Bueno, espero que sirva de algo esto, porque sé que cuando sepa qué estoy haciendo mal, con las indicaciones que has dado, esto será coser y cantar.

Muchas gracias de nuevo.
  #16 (permalink)  
Antiguo 27/01/2009, 18:38
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Buenas, creo que es lo que decía antes, que es porque estaba cargando el xsl en el navegador. He hecho una prueba sacando el xml de la ruta en la que estaba, para ponerla en la raíz junto al xsl, he modificado la llamada a éste en el xml y se ve algo. He perdido alguna imagen y se me ha descuadrado alguna cosilla, pero creo que el tema iba a venir por ahí.

Saludos
  #17 (permalink)  
Antiguo 29/01/2009, 03:26
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Buenos días:
Después de ver las 'carencias' de conocimiento que tengo respecto al mundo del xml, creo que lo mejor sería empezar por el principio y ver si alguien me puede recomendar alguna web, manual, tutorial, ... acerca del maquetado de webs utilizando xml (sin PHP ni ASP en este caso). Si además es un manual para 'dummies' mucho mejor

Muchas gracias
  #18 (permalink)  
Antiguo 29/01/2009, 06:22
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Menú XML

En xslt tienes como referencia un manual muy corto y fácil de entender...

Espero que te sirva

Saludos
__________________
Esteban Quintana
  #19 (permalink)  
Antiguo 29/01/2009, 09:10
 
Fecha de Ingreso: noviembre-2007
Mensajes: 154
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Menú XML

Muchas gracias 'monoswim':

Pues me pondré con ello e intentaré entender un poco todo esto.

Iré comentando 'resultados'

Saludos
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 23:13.