Foros del Web » Creando para Internet » HTML »

transformar xml con xsl y visualizarlo con navegador

Estas en el tema de transformar xml con xsl y visualizarlo con navegador en el foro de HTML en Foros del Web. Hola a todos, Tengo un archivo xml validado mediante un esquema xsd. Ahora lo que quiero es dar estilo visualizar el contenido del xml usando ...
  #1 (permalink)  
Antiguo 27/12/2013, 09:34
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
transformar xml con xsl y visualizarlo con navegador

Hola a todos,

Tengo un archivo xml validado mediante un esquema xsd. Ahora lo que quiero es dar estilo visualizar el contenido del xml usando xsl. Sin embargo, no lo consigo, y no visualizo lo que deseo con el navegador (mozilla firefox).

El xml es el siguiente:
Código:
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="peliculas.xsl"?>
<peliculas xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.example.org peliculas.xsd" xmlns="http://www.example.org">
  <pelicula tipo="aventura" año="1994">
    <titulo>El rey Leon</titulo>
    <guionista>Juan Garcia</guionista>
    <productor>Jose Fernandez</productor>
    <director>Jose Fernandez</director>
    <actor>Mathew Perry</actor>
    <comentarios>Muy buena pelicula</comentarios>
  </pelicula>
   <pelicula tipo="ciencia-ficcion" año="2013">
    <titulo>Guerra Mundial Z</titulo>
    <guionista>Steven Spielberg</guionista>
    <productor>John Spacey</productor>
    <director>Steven Spielberg</director>
    <actor>Brad Pitt</actor>
    <comentarios>Excelente</comentarios>
  </pelicula>
</peliculas>
El xsl es este:
Código:
<?xml version="1.0" encoding="windows-1252" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
    <body>
    <h1>Peliculas</h1>
      <table width="100%" border="1">
        <tr>
          <th>Titulo</th>
          <th>Director</th>
          <th>Guionista</th>
          <th>Productor</th>
          <th>Actor Principal</th>
          <th>Comentarios</th>
        </tr>
        <xsl:for-each select="peliculas/pelicula">
        <tr>
          <td><xsl:value-of select="titulo"/>sdfsdf</td>
          <td><xsl:value-of select="director"/>sd</td>
          <td><xsl:value-of select="guionista"/>dsf</td>
          <td><xsl:value-of select="productor"/>sdf</td>
          <td><xsl:value-of select="actor"/>dsf</td>
          <td><xsl:value-of select="comentarios"/>sdf</td>
        </tr>
        </xsl:for-each>
      </table>
    </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
Cuando cargo el xml con el navegador, unicamente se me visualiza la cabecera de la tabla. ¿alguna idea de que puede estar pasando?

Gracias y un saludo
  #2 (permalink)  
Antiguo 27/12/2013, 20:48
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: transformar xml con xsl y visualizarlo con navegador

Hola,

Posiblemente el XSLT no tiene ni idea del Namespace, podrías probar a usar un Namespace,

Código:
<?xml version="1.0" encoding="windows-1252" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns1="http://www.example.org">
  <xsl:template match="/">
    <html>
    <body>
    <h1>Peliculas</h1>
      <table width="100%" border="1">
        <tr>
          <th>Titulo</th>
          <th>Director</th>
          <th>Guionista</th>
          <th>Productor</th>
          <th>Actor Principal</th>
          <th>Comentarios</th>
        </tr>
        <xsl:for-each select="ns1:peliculas/ns1:pelicula">
        <tr>
          <td><xsl:value-of select="ns1:titulo"/>sdfsdf</td>
          <td><xsl:value-of select="ns1:director"/>sd</td>
          <td><xsl:value-of select="ns1:guionista"/>dsf</td>
          <td><xsl:value-of select="ns1:productor"/>sdf</td>
          <td><xsl:value-of select="ns1:actor"/>dsf</td>
          <td><xsl:value-of select="ns1:comentarios"/>sdf</td>
        </tr>
        </xsl:for-each>
      </table>
    </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
Saludos,
  #3 (permalink)  
Antiguo 28/12/2013, 01:28
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: transformar xml con xsl y visualizarlo con navegador

Hola:

Creo que el soporte firefox para los xsl es algo deficiente, ya que encuentra errores en mi sitemap (xml y xsl), y en otros navegadores de muestran bien...
El ejemplo: Este diario: sitemap.xsl...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 28/12/2013, 07:20
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: transformar xml con xsl y visualizarlo con navegador

Cita:
Iniciado por HackmanC Ver Mensaje
Hola,

Posiblemente el XSLT no tiene ni idea del Namespace, podrías probar a usar un Namespace,

Código:
<?xml version="1.0" encoding="windows-1252" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns1="http://www.example.org">
  <xsl:template match="/">
    <html>
    <body>
    <h1>Peliculas</h1>
      <table width="100%" border="1">
        <tr>
          <th>Titulo</th>
          <th>Director</th>
          <th>Guionista</th>
          <th>Productor</th>
          <th>Actor Principal</th>
          <th>Comentarios</th>
        </tr>
        <xsl:for-each select="ns1:peliculas/ns1:pelicula">
        <tr>
          <td><xsl:value-of select="ns1:titulo"/>sdfsdf</td>
          <td><xsl:value-of select="ns1:director"/>sd</td>
          <td><xsl:value-of select="ns1:guionista"/>dsf</td>
          <td><xsl:value-of select="ns1:productor"/>sdf</td>
          <td><xsl:value-of select="ns1:actor"/>dsf</td>
          <td><xsl:value-of select="ns1:comentarios"/>sdf</td>
        </tr>
        </xsl:for-each>
      </table>
    </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
Saludos,

Efectivamente, había problemas con el espacio de nombres. No quiero complicarme con esto, así que directamente lo he quitado del documento xml. Ahora se visualiza sin problemas.

Muchisimas gracias

Etiquetas: href, navegador, transformar, xml, xsl
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:06.