PDF de programación - Conversión y adaptación de documentos XML. XSL/XSLT/XPATH

Imágen de pdf Conversión y adaptación de documentos XML. XSL/XSLT/XPATH

Conversión y adaptación de documentos XML. XSL/XSLT/XPATHgráfica de visualizaciones

Publicado el 6 de Junio del 2018
1.727 visualizaciones desde el 6 de Junio del 2018
15,3 MB
155 paginas
Creado hace 11a (05/05/2013)
Ciclo Formativo de Grado

Superior de Administración de
Sistemas Informáticos en red

Módulo Profesional: LMSGI

U.T. 8.- Conversión y adaptación de documentos XML.

XSL/XSLT/XPATH ..



Departamento de Informática y Comunicación
IES San Juan Bosco (Lorca-Murcia)
Profesor: Juan Antonio López Quesada

Xpath

XSLT

xsl:avanzado

Introducción a la
conversión de doc

XML

2

Forma

parte

de

igual que XML, XSLT es un

lenguaje de
Al
trilogía
la
programación.
transformadora de XML, compuesta por las CSS
(Cascading Style Sheets, hojas de estilo en cascada), que
permite dar una apariencia en el navegador determinada
a cada una de las etiquetas XML; XSLT (XML
Stylesheets Language for Transformation , o lenguaje de
transformación basado en hojas de estilo); y XSL:FO,
(Formatting Objects, objetos de
formateo), o
transformaciones para fotocomposición, o, en general,
para cualquier cosa que no sea XML, como por ejemplo
HTML "del viejo" o PDF (el formato de Adobe).
XSLT es pues, un lenguaje que se usa para convertir
documentos XML en otros documentos XML; puede
convertir un documento XML que obedezca a un DTD a
otro que obedezca otro diferente, un documento XML
bien formado a otro que siga un DTD, o, lo más
habitual, convertirlo a "formatos finales", tales como
WML (usado en los móviles WAP) o XHTML.

3

XML se presenta como un estándar para “transmitir”
datos a través de Internet.

la posibilidad de que distintos

Ante
“centros” o
“aplicaciones” utilicen esquemas o DTD diferentes, es
necesario un sistema que permita “transformar” los
datos de un documento XML.

(eXtensible Stylesheet
XSLT
Language – Transformations),
describe un lenguaje basado en
transformar
XML
documentos XML a cualquier
otro formato.

para

XSLT

utilizaremos

Normalmente,
para
transformar documentos entre esquemas XML
que permitan su procesamiento por distintos
sistemas.
También utilizaremos XSLT para transformar
documentos XML en HTML, WML*
o cualquier
otro formato que facilite su presentación en la
pantalla de un ordenador o en impresora.
La transformación de XML a HTML es el principal
uso que se hace de XSLT.

El Wireless Markup Language es un lenguaje cuyo origen es
el XML (eXtensible Markup Language). Este lenguaje se utiliza
para construir las páginas que aparecen en las pantallas de los
teléfonos móviles y los asistentes personales digitales (PDA)

No debemos confundir las transformaciones
XSLT con la presentación de documentos XML
con CSS.
Con XSLT, generaremos un documento HTML a
partir de un documento XML. Se tratará de dos
documentos “distintos”
Con CSS, el navegador recibe un documento
XML que formatea utilizando las reglas CSS
para presentarlo en pantalla de forma que sea
más
legible, pero es el mismo
documento.

fácilmente

XSLT, XSL, XSL FO...

 La XSL es una especificación desarrollada dentro del W3C para aplicar
formato a los documentos XML de forma estandarizada. La XSL es un
lenguaje para escribir hojas de estilo que consta de dos partes:

 XSL-FO

(eXtensible Stylesheet Language Formatting
Objects): un lenguaje de formateo, que no es más que un
vocabulario XML para especificar objetos de formateo (FO).

 XSLT (eXtensible StyleSheet Language Transformations), es
un lenguaje de transformación, mediante el cual se puede
transformar un documento XML en otro XML.

 XSL FO cuenta con escaso soporte por parte de la industria debido a

su complejidad.

 Su propósito es definir la forma en la que se debe presentar un

documento XML en papel o en pantalla.

 En este sentido, XSL FO sería una especificación similar a CSS.

XSLT, XSL, XSL FO...

 Actualmente contamos con
varias herramientas para
realizar
transformaciones
XSLT:
 Saxon, desarrollado en Java
por Michael Kay (un gurú de
XSLT)

 xt, diseñado por James Clark
 En las prácticas usaremos

Altova XMLSpy

Estructura de una hoja XSLT...

c:\tmp> xt documento1.xml documento1.xsl doc1.xml

Estructura de una hoja XSLT...

Estructura de una hoja XSLT...

 Una hoja de estilo XSLT es un documento XML. Debe

estar bien formado.

 Las hojas de estilo se guardarán siempre en archivos

independientes con extensión .xsl

 Deben comenzar con una declaración XML:

<?xml version="1.0“?>

 El elemento raíz de

la hoja de estilo XSLT es

stylesheet.

 Este elemento contendrá a todos los demás, y debe ir
precedido por el alias xsl correspondiente al espacio de
nombres para hojas de estilo XSLT.

Estructura de una hoja XSLT...

 En las hojas de estilo XSLT, los nombres de los
elementos “reservados” por la especificación, proceden
de un mismo espacio de nombres, y por lo tanto deben
escribirse precedidos por el correspondiente alias xsl.

 El alias debe “apuntar” a la URL:
 http://www.w3.org/1999/XSL/Transform

 De esta forma, el elemento raíz quedará así:



<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">



....................
…………………..

</xsl:stylesheet>

Estructura de una hoja XSLT...

 Entre las marcas de inicio y de fin del elemento raíz
reglas de

las

xsl:stylesheet,
transformación propiamente dichas.

se escribirán

 Cada regla se definirá mediante un elemento

xsl:template.

 La regla indica qué instancias de los elementos del

documento XML se van a transformar.

 La

regla

también

indicará cómo se deben

transformar cada una de ellas.

Estructura de una hoja XSLT...

<h2>

</h2>

<xsl:value-of select=”.” />

<xsl:template match=”//nombre”>



</xsl:template>

 La regla se aplicará a todas las instancias del elemento nombre que
se encuentre en el xml al que se va a aplicar la transformación. Esto
se indica mediante el atributo match que acompaña al elemento
xsl:template.

Regla de Transformación

Xpath

 Entre las etiquetas de inicio y de fin del elemento xsl:template se
escribe la transformación que se debe realizar, es decir, qué texto y
qué marcas se escribirán en el documento resultado de la
transformación, cada vez que se encuentre una instancia del
elemento nombre en el documento origen.

 Con <xsl:value-of...>, se recupera y escribe en el documento

resultado el valor del elemento que está siendo procesado.

<nombre>Madrid</nombre>
<habitantes>3500000</habitantes>

Ejemplo de Transformación XSLT
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="nombre_ciudades.xsl"?>
<ciudades>

<ciudad>



</ciudad>


<ciudad>



</ciudad>
<ciudad>



</ciudad>
</ciudades>

ciudades.xml

<nombre>Málaga</nombre>
<habitantes>800000</habitantes>

<nombre>Toledo</nombre>
<habitantes>50000</habitantes>

Ejemplo de Transformación XSLT

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="ciudades">



</xsl:template>
</xsl:stylesheet>

<head>
<meta http-equiv="Content-Type" content="text/html: charset=iso-8859-1" />
<title>Ejemplo de XST</title>
</head>
<body>
<h3>ciudades:</h3>
<xsl:for-each select="ciudad/nombre">

<h1><xsl:value-of select=".">

</xsl:value-of></h1>
</xsl:for-each>
</body>

<html>



</html>

nombre_ciudades.xsl

Ejemplo de Transformación XSLT

<html>



</html>

<head>
<meta http-equiv="Content-Type" content="text/html: charset=iso-8859-1" />
<title>Ejemplo de XST</title>
</head>
<body>



</body>

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">



</xsl:template>
<xsl:template match="//nombre">

</xsl:template>
</xsl:stylesheet>
nombre_ciudades.xsl

<h1>ciudades:</h1>
<xsl:apply-templates select="//nombre" />
<h1>ciudades:</h1>
<xsl:apply-templates select="//nombre" />

<h3><xsl:value-of select="."/></h3>

Ejemplo de Transformación XSLT

 La regla <xsl:template match=“/”> se ejecuta
cuando se encuentra el elemento raíz del
documento XML.

 Dentro de esta regla, podemos incluir llamadas
a otras reglas definidas en la hoja de estilo,
mediante el elemento:
<xsl:apply-templates select=”…” />

 El atributo select tomará como valor el nombre
del elemento asociado a la regla que queremos
“disparar”.

 Esto nos ofrece un control real sobre el “orden”

de ejecución de las reglas.



Ejemplos

<?xml version="1.0" encoding="UTF-8"?>

<libro>
<titulo>Fuente Ovejuna</titulo>
<autor>Lope de Vega</autor>
<isbn>84-9815-002-7</isbn>
</libro>
</libros>

<libros>

<libro>

<titulo>Fuente Ovejuna</titulo>

<autor>Lope de Vega</autor>

<isbn>84-9815-002-7</isbn>

</libro>

<libro>

<titulo>La Celestina</titulo>

<autor>Fernando de Rojas</autor>

<isbn>84-96390-96-9</isbn>

</libro>

<libro>

<titulo>Fuente Ovejuna</titulo>

<autor>Lope de Vega</autor>

<isbn>84-9815-002-7</isbn>

</libro>

Ejemplos

 Lo que vamos a hacer mediante el XSLT es obtener información del
documento XML y crear un documento XHTML donde se vean
dichos datos.

 Para construir el documento XSLT lo primero que tenemos que
saber es que, este, es a su vez otro documento XML. Por lo tanto,
la primera línea que nos encontraremos será la definición del XML.



<?xml version="1.0" encoding="iso-8859-1"?>


 Lo siguiente es empezar a definir la hoja de estilos y el n
  • Links de descarga
http://lwp-l.com/pdf11621

Comentarios de: Conversión y adaptación de documentos XML. XSL/XSLT/XPATH (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad