XSL - Error al abrir xsl desde xml

 
Vista:

Error al abrir xsl desde xml

Publicado por Alonso (1 intervención) el 02/06/2020 15:02:42
Buenas tardes. Llevo dos días intentando transformar un xml usando un xsl pero siempre me sale:
Error al cargar la hoja de estilo: El procesamiento de una hoja de estilo XSLT ha fallado.

No encuentro el error por ninguna parte, ¿podríais ayudarme?

Código xml:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="vehiculos.xsl"?>
<?xml-stylesheet type="text/css" href="vehiculos.css"?>
 
<Vehiculos
                            xmlns="http://www.alonso.org"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                            xsi:schemaLocation="http://www.alonso.org vehiculos.xsd">
 
  <Vehiculo año="1996" marca="Land Rover" modelo="Discovery">
      <Kilometraje>36500</Kilometraje>
      <Color>Negro</Color>
      <Precio>22100</Precio>
  </Vehiculo>
</Vehiculos>

Código xsl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
                        xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                        xmlns="http://www.alonso.org">
 
<xsl:template match="/">
    <html>
      <head>
        <title>Vehículos Usados</title>
      </head>
      <body>
        <h1>VEHÍCULOS USADOS</h1>
        <table align="center" border="2">
          <tr>
            <th>Año</th>
            <th>Marca</th>
            <th>Modelo</th>
            <th>Kilometraje</th>
            <th>Color</th>
            <th>Precio</th>
          </tr>
 
          <xsl:for-each order-by="Precio" select="Vehiculos/Vehiculo">
            <tr>
              <td><xsl:value-of select="@año"/></td>
              <td><xsl:value-of select="@marca"/></td>
              <td><xsl:value-of select="@modelo"/></td>
              <td><xsl:value-of select="Kilometraje"/></td>
              <td><xsl:value-of select="Color"/></td>
              <td><xsl:value-of select="Precio"/></td>
           </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Lo estoy haciendo en XML-Copy-Editor.

Gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Error al cargar la hoja de estilo XSLT

Publicado por Alejandro (227 intervenciones) el 07/07/2023 19:19:03
El error que estás experimentando parece estar relacionado con la carga de la hoja de estilo XSLT. Aquí hay algunas cosas que puedes verificar para solucionar el problema:

1. Verifica la ruta y el nombre del archivo XSLT:
- Asegúrate de que el archivo "vehiculos.xsl" esté en la ubicación correcta y que el nombre del archivo sea exactamente igual en el atributo `href` del procesamiento de instrucciones `<?xml-stylesheet?>` en el XML.
- Verifica que el archivo XSLT se encuentre en la misma carpeta que el archivo XML o especifica la ruta completa del archivo XSLT en el atributo `href`.

2. Verifica la sintaxis y la estructura del archivo XSLT:
- Asegúrate de que el archivo XSLT esté bien formado, es decir, tenga una estructura XML válida con etiquetas de apertura y cierre correctamente emparejadas.
- Verifica que no haya errores de sintaxis en el archivo XSLT, como etiquetas o atributos mal escritos.

3. Comprueba la compatibilidad del procesador XSLT:
- Asegúrate de que el procesador XSLT que estás utilizando sea compatible con la versión de XSLT utilizada en el archivo XSLT. En este caso, el archivo XSLT utiliza la versión 1.0.
- Verifica que el procesador XSLT esté correctamente instalado y configurado en tu entorno de desarrollo.

4. Verifica los espacios de nombres:
- En el archivo XML, se define un espacio de nombres predeterminado `xmlns="http://www.alonso.org"`. Asegúrate de utilizar el mismo espacio de nombres en el archivo XSLT al hacer referencia a los elementos del XML.
- Puedes utilizar la construcción `xmlns:ns="http://www.alonso.org"` en el archivo XSLT y luego hacer referencia a los elementos utilizando el prefijo `ns`, por ejemplo, `<xsl:value-of select="ns:Vehiculos/ns:Vehiculo"/>`.

Intenta revisar estos puntos y realiza las correcciones necesarias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar