XML - Templates-XML-Framset

 
Vista:

Templates-XML-Framset

Publicado por Maikel (1 intervención) el 16/08/2004 17:18:30
Hola a todos, necesito convertir una pagina template a un frameset pero no manualmente, sino utilizando XML, si alguien ha hecho algo parecido por favor que me lo deje saber.
gracias
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

Convertir una página template a un frameset utilizando XML

Publicado por Alejandro (258 intervenciones) el 10/07/2023 22:32:44
Si deseas convertir una página template a un frameset utilizando XML, puedes seguir los siguientes pasos:

1. Define la estructura del frameset en XML:
- Crea un documento XML que represente la estructura del frameset que deseas generar.
- Utiliza elementos XML para definir los marcos (frames) y sus atributos, como URL, tamaño, etc.

2. Utiliza XSLT para transformar la página template:
- Crea una hoja de estilo XSLT que se encargue de realizar la transformación de la página template en base al documento XML del frameset.
- Define las reglas de transformación en XSLT para generar el código HTML correspondiente al frameset deseado.

3. Aplica la transformación XML a la página template:
- Utiliza un procesador XSLT en tu lenguaje de programación (por ejemplo, en Java con la clase `Transformer` o en JavaScript con el objeto `XSLTProcessor`) para aplicar la hoja de estilo XSLT a la página template.
- El resultado de la transformación será el código HTML correspondiente al frameset.

Aquí tienes un ejemplo básico de cómo realizar esta transformación utilizando XSLT:

Template.html:
1
2
3
4
5
6
7
8
9
<html>
  <head>
    <title>Template</title>
  </head>
  <body>
    <h1>Contenido de la página template</h1>
    <p>Aquí va el contenido...</p>
  </body>
</html>

Frameset.xml:
1
2
3
4
<frameset>
  <frame src="pagina1.html" name="frame1" />
  <frame src="pagina2.html" name="frame2" />
</frameset>

Transformacion.xslt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <head>
        <title>Frameset</title>
      </head>
      <body>
        <xsl:copy-of select="document('Template.html')/html/head" />
        <frameset>
          <xsl:for-each select="document('Frameset.xml')/frameset/frame">
            <xsl:copy>
              <xsl:attribute name="src"><xsl:value-of select="@src" /></xsl:attribute>
              <xsl:attribute name="name"><xsl:value-of select="@name" /></xsl:attribute>
            </xsl:copy>
          </xsl:for-each>
        </frameset>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Aplicación del XSLT:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
 
public class XSLTExample {
  public static void main(String[] args) {
    try {
      TransformerFactory factory = TransformerFactory.newInstance();
      Source xslt = new StreamSource(new File("Transformacion.xslt"));
      Source template = new StreamSource(new File("Template.html"));
      Result output = new StreamResult(new File("Resultado.html"));
 
      Transformer transformer = factory.newTransformer(xslt);
      transformer.transform(template, output);
 
      System.out.println("Frameset generado correctamente.");
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Este ejemplo utiliza Java y la API de Transformación y Serialización de XML (javax.xml.transform) para aplicar la transformación XSLT al archivo Template.html y generar el frameset resultante en Resultado.html.

Asegúrate de ajustar las rutas y nombres de archivo en el ejemplo según tus necesidades.

Recuerda que puedes adaptar este ejemplo a tu lenguaje de programación preferido y utilizar las herramientas de procesamiento XML correspondientes.

¡Espero que esta solución te ayude a convertir tu página template a un frameset utilizando XML y XSLT!
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