XSL - funciones xsl

 
Vista:

funciones xsl

Publicado por Karla (4 intervenciones) el 25/11/2005 00:58:58
Alguien podria ayudarme.... tengo un documento xml donde tengo un tag fecha como sete
<fecha>
01012005
</fecha>

entonce me gustaria convertir esa fecha a la hora de aplicarle la hoja de estilo que apareciera como 01/01/2005

porfavor si alguien sabe de esto se los agradeceria mucho.... saludos
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 formato de fecha en XML

Publicado por Alejandro (227 intervenciones) el 05/07/2023 19:21:35
Puedes utilizar XSLT (Extensible Stylesheet Language Transformations) para convertir el formato de fecha en tu documento XML. A continuación, te mostraré un ejemplo de cómo puedes lograrlo:

Supongamos que tienes un archivo XML llamado "documento.xml" con la siguiente estructura:

1
2
3
<root>
  <fecha>01012005</fecha>
</root>

Y deseas aplicar una hoja de estilo XSLT para transformar la fecha al formato "dd/mm/yyyy". Aquí está el contenido de la hoja de estilo "estilo.xsl":

1
2
3
4
5
6
7
8
9
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <xsl:apply-templates select="root/fecha"/>
  </xsl:template>
 
  <xsl:template match="fecha">
    <xsl:value-of select="concat(substring(., 1, 2), '/', substring(., 3, 2), '/', substring(., 5, 4))"/>
  </xsl:template>
</xsl:stylesheet>

Luego, puedes utilizar un procesador XSLT para aplicar la hoja de estilo al documento XML y generar la salida transformada. Aquí hay un ejemplo en Java utilizando la biblioteca "javax.xml.transform":

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
 
public class XSLTProcessor {
  public static void main(String[] args) {
    try {
      // Cargar el archivo XML y la hoja de estilo XSL
      Source xmlInput = new StreamSource(new FileInputStream("documento.xml"));
      Source xslInput = new StreamSource(new FileInputStream("estilo.xsl"));
 
      // Preparar el resultado de la transformación
      Result output = new StreamResult(new FileOutputStream("resultado.xml"));
 
      // Crear el transformador XSLT y realizar la transformación
      TransformerFactory factory = TransformerFactory.newInstance();
      Transformer transformer = factory.newTransformer(xslInput);
      transformer.transform(xmlInput, output);
 
      System.out.println("Transformación completada. Verifica el archivo 'resultado.xml'.");
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

Después de ejecutar el código Java, se generará un archivo "resultado.xml" que contendrá el resultado de la transformación. En este caso, el contenido del archivo sería:

1
2
3
<root>
  <fecha>01/01/2005</fecha>
</root>

Espero que esta solución te sea útil. ¡Buena suerte!
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