Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

66
Tema 2 Tema 2 El lenguaje XML El lenguaje XML Ricardo Eíto Brun Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002 Sevilla, 23 - 25 de octubre, 2002

Transcript of Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Page 1: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Tema 2Tema 2El lenguaje XMLEl lenguaje XML

Ricardo Eíto Brun Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002Sevilla, 23 - 25 de octubre, 2002

Page 2: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Guión 2ª temaGuión 2ª tema

Características de un documento XMLCaracterísticas de un documento XML Elementos y atributosElementos y atributos DTDsDTDs EntidadesEntidades Espacios de nombres - namespacesEspacios de nombres - namespaces Presentación de documentos XMLPresentación de documentos XML

• CSSCSS• XSL FOXSL FO

Page 3: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Objetivos de XMLObjetivos de XML

XML persigue los siguientes objetivos:XML persigue los siguientes objetivos:• Distinguir el contenido y la estructura de los documentos Distinguir el contenido y la estructura de los documentos

de su presentación en papel o en pantalla,de su presentación en papel o en pantalla,

• Hacer explícita su estructura y sus contenidos Hacer explícita su estructura y sus contenidos informativosinformativos

• Crear documentos portables, que puedan Crear documentos portables, que puedan intercambiarse y procesarse con facilidad en sistemas intercambiarse y procesarse con facilidad en sistemas informáticos heterogéneos.informáticos heterogéneos.

Page 4: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XMLXML

XML propone:XML propone:

• un formato de documentos en texto plano (evitando un formato de documentos en texto plano (evitando

las complejidades de los documentos binarios),las complejidades de los documentos binarios),

• En el que se intercalan marcas con el objetivo de En el que se intercalan marcas con el objetivo de

distinguir las distintas partes o elementos distinguir las distintas partes o elementos

estructurales que conforman cada tipo de documento.estructurales que conforman cada tipo de documento.

• Las marcas que se intercalan en un documento XML Las marcas que se intercalan en un documento XML

no contienen ninguna instrucción a partir de la cual se no contienen ninguna instrucción a partir de la cual se

pueda deducir cómo se imprimir o mostrar en pantalla pueda deducir cómo se imprimir o mostrar en pantalla

el documento el documento

Page 5: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XML: marcado generalizado o descriptivoXML: marcado generalizado o descriptivo

las marcas se las marcas se

pueden diferenciar pueden diferenciar

fácilmente del fácilmente del

texto: todas las texto: todas las

marcas se escriben marcas se escriben

precedidas del precedidas del

carácter < (menor carácter < (menor

que), y seguidas que), y seguidas

del carácter > del carácter >

(mayor que).(mayor que).

&lt; y &gt; &lt; y &gt;

Page 6: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XML vs marcado procedimentalXML vs marcado procedimental

Documento RTF Las Documento RTF Las

marcas indican si marcas indican si

un párrafo se tiene un párrafo se tiene

que escribir en que escribir en

letra regular, letra regular,

negrita o itálica, negrita o itálica,

qué espacio qué espacio

interlineal se debe interlineal se debe

aplicar al párrafo, aplicar al párrafo,

cual va a ser la cual va a ser la

distancia de los distancia de los

márgenes, etc.márgenes, etc.

Page 7: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Problemas marcado procedimentalProblemas marcado procedimental

Carácter propietario – cada suministrador diseña sus Carácter propietario – cada suministrador diseña sus propias marcas. Esto añade un alto nivel de complejidad al propias marcas. Esto añade un alto nivel de complejidad al diseño de aplicaciones para el procesamiento de los diseño de aplicaciones para el procesamiento de los documentos.documentos.

Complejidad del formato –para indicar todas las opciones Complejidad del formato –para indicar todas las opciones de formateo disponibles en un documento se necesita un de formateo disponibles en un documento se necesita un gran número de marcas. gran número de marcas.

MS-rtf alcanza las 300 páginas con un total de 680 marcas MS-rtf alcanza las 300 páginas con un total de 680 marcas reservadas.reservadas.

Escasa capacidad expresiva –no es posible diferenciar los Escasa capacidad expresiva –no es posible diferenciar los contenidos informativos de un documentocontenidos informativos de un documento

El marcado generalizado permite identificar y procesar El marcado generalizado permite identificar y procesar datos que no podrían diferenciar si el documento se guarda datos que no podrían diferenciar si el documento se guarda en un formato basado en la presentación como RTF o MIF. en un formato basado en la presentación como RTF o MIF.

Page 8: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

¿Conjunto? De marcas abiertas¿Conjunto? De marcas abiertas

A) A) XML ofrece la posibilidad de XML ofrece la posibilidad de definir definir conjuntoconjuntoss de marcas de marcas para identificar los elementos estructurales y el contenido para identificar los elementos estructurales y el contenido informativo de los documentos informativo de los documentos

B) Esto permite B) Esto permite modelar la información libremente modelar la información libremente atendiendo a las necesidades que exige cada problema atendiendo a las necesidades que exige cada problema

C) C) En este contexto En este contexto surge surge la necesidad dela necesidad de::• EEstablecer acuerdos a priori sobre el conjunto de marcas stablecer acuerdos a priori sobre el conjunto de marcas

a utilizar, a utilizar, • EEstablecer equivalencias que faciliten el intercambio de stablecer equivalencias que faciliten el intercambio de

documentos documentos

Page 9: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Marcas, texto...Marcas, texto...

XML utiliza el término elemento para hacer referencia a XML utiliza el término elemento para hacer referencia a cada uno de los componentes estructurales o secciones de cada uno de los componentes estructurales o secciones de un documento. un documento.

Un elemento en un documento XML queda delimitado por Un elemento en un documento XML queda delimitado por una marca de inicio y de fin que comparten el mismo una marca de inicio y de fin que comparten el mismo nombre (etiquetas). nombre (etiquetas).

El elemento comprendeEl elemento comprende:: A) A) las marcas que determinan su inicio y su fin, las marcas que determinan su inicio y su fin, B)B)el contenido que esté escrito entre estas dos marcas. el contenido que esté escrito entre estas dos marcas.

• 1. D1. Datos de tipo carácter y atos de tipo carácter y • 2. Otros elementos2. Otros elementos

Page 10: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

GranularidadGranularidad

El término granularidad se refiere al nivel de detalle con el El término granularidad se refiere al nivel de detalle con el que destacamos o diferenciamos los contenidos que destacamos o diferenciamos los contenidos informativos del documento mediante las marcas. informativos del documento mediante las marcas.

Cuanto mayor sea el nivel de detalle con el que se Cuanto mayor sea el nivel de detalle con el que se intercalan las marcas:intercalan las marcas:

mayor será la granularidad del marcado aplicado sobre el mayor será la granularidad del marcado aplicado sobre el documento y documento y

dispondremos de más posibilidades para procesar el dispondremos de más posibilidades para procesar el documento y su contenido.documento y su contenido.

Page 11: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

GranularidadGranularidad

Page 12: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Elementos anidadosElementos anidados

Un elemento puede a su vez Un elemento puede a su vez contener a otros elementoscontener a otros elementos

De esta forma, se conforma un De esta forma, se conforma un “árbol” o jerarquía en la que “árbol” o jerarquía en la que unos elementos “padre” unos elementos “padre” contienen a otros elementos contienen a otros elementos “hijos”“hijos”

Los editores y visores de Los editores y visores de documentos SGML/XML suelen documentos SGML/XML suelen ofrecer la posibilidad de ofrecer la posibilidad de desplegar la estructura que desplegar la estructura que conforman los distintos conforman los distintos elementos de un documento elementos de un documento XML. XML.   

Page 13: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Elementos anidadosElementos anidados

Page 14: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Elemento raíz o documentoElemento raíz o documento

Todas los elementos que conforman un Todas los elementos que conforman un documento XML deben estar comprendidos en un documento XML deben estar comprendidos en un único elemento: el elemento documento o raíz. único elemento: el elemento documento o raíz.

El elemento documento tiene las siguientes El elemento documento tiene las siguientes características:características:

1. Incluye a todos los elementos del documento,1. Incluye a todos los elementos del documento, 2. No está comprendido en ningún otro elemento,2. No está comprendido en ningún otro elemento, 3. Su nombre debe coincidir con el nombre del 3. Su nombre debe coincidir con el nombre del

tipo de documentotipo de documento

Page 15: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Documentos XML bien formadosDocumentos XML bien formados

Para que los programas informáticos sean capaces de Para que los programas informáticos sean capaces de interpretar las marcas que identifican a cada elemento y interpretar las marcas que identifican a cada elemento y deducir la estructura jerárquica del documento XML, es deducir la estructura jerárquica del documento XML, es necesario que las marcas estén anidadas correctamente.necesario que las marcas estén anidadas correctamente.

Podemos aplicar las siguientes reglas: Podemos aplicar las siguientes reglas: • La marca de fin de un elemento A no puede escribirse La marca de fin de un elemento A no puede escribirse

hasta que no se hayan introducido todas las etiquetas hasta que no se hayan introducido todas las etiquetas de cierre de los elementos cuya marca de inicio esté de cierre de los elementos cuya marca de inicio esté situada después de la marca de apertura del elemento situada después de la marca de apertura del elemento A”A”

• No se puede introducir una marca de cierre de un No se puede introducir una marca de cierre de un elemento si no se ha introducido antes su marca de elemento si no se ha introducido antes su marca de inicio.inicio.

• Para todos los elementos no vacíos del documento se Para todos los elementos no vacíos del documento se debe incluir una marca de inicio y una de fin.debe incluir una marca de inicio y una de fin.

Page 16: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Documentos bien formadosDocumentos bien formados

Page 17: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Estructura básica documento XMLEstructura básica documento XML

Un documento XML debe incluir un prólogoUn documento XML debe incluir un prólogo El prólogo puede estar formado por dos secciones: El prólogo puede estar formado por dos secciones:

• Declaración XML Declaración XML • Declaración de tipo de documento.Declaración de tipo de documento.

El tipo de documento define la estructura y sintáxis que El tipo de documento define la estructura y sintáxis que deben seguir los documentos que sean de ese tipodeben seguir los documentos que sean de ese tipo

Tras el prólogo se encuentra la llamada ‘instancia Tras el prólogo se encuentra la llamada ‘instancia documento’. documento’.

La instancia documento es el contenido del documento La instancia documento es el contenido del documento propiamente dicho. La instancia comienza con la marca de propiamente dicho. La instancia comienza con la marca de inicio del elemento documento o raíz, y concluye con la inicio del elemento documento o raíz, y concluye con la marca de fin de este mismo elemento.marca de fin de este mismo elemento.

Page 18: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Estructura básica XMLEstructura básica XML

Page 19: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

La declaración XMLLa declaración XML

Los documentos XML deben comenzar con una “declaración Los documentos XML deben comenzar con una “declaración XML”, que es una línea como la siguiente:XML”, que es una línea como la siguiente:

  <?xml version=”1.0”?><?xml version=”1.0”?>   La declaración XML permite saber a la aplicación La declaración XML permite saber a la aplicación

encargada de procesar el documento que se trata de un encargada de procesar el documento que se trata de un documento en formato XML. documento en formato XML.

La declaración también debe indicar qué versión de la La declaración también debe indicar qué versión de la especificación XML especificación XML utilizautiliza el documento. el documento.

Page 20: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

La declaración XMLLa declaración XML

Además del cualificador version, se pueden Además del cualificador version, se pueden utilizar otros cualificadores en la declaración XML:utilizar otros cualificadores en la declaración XML:

EncodingEncoding

Juego de caracteres que se utiliza en el Juego de caracteres que se utiliza en el documento: unicode y UTF-8.documento: unicode y UTF-8.

RMDRMD

Required Markup Declaration. Indica a la Required Markup Declaration. Indica a la aplicación que lee el documento XML si se debe aplicación que lee el documento XML si se debe procesar o no la DTD asociada al documento.procesar o no la DTD asociada al documento.

Page 21: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Declaración de tipo de documentoDeclaración de tipo de documento

El conjunto de elementos que se pueden incluir El conjunto de elementos que se pueden incluir en un documento de un tipo determinado, el en un documento de un tipo determinado, el orden en el que deben aparecer y cómo deben orden en el que deben aparecer y cómo deben anidarse se recoge en la llamada definición de anidarse se recoge en la llamada definición de tipo de documento o DTD.tipo de documento o DTD.

La definición de tipo de documento o DTD La definición de tipo de documento o DTD contiene las reglas sintácticas que deben cumplir contiene las reglas sintácticas que deben cumplir los documentos de un tipo determinado. los documentos de un tipo determinado.

Page 22: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Declaración de tipo de documentoDeclaración de tipo de documento

La declaración de tipo de documento es un La declaración de tipo de documento es un componente opcional que puede aparecer en el componente opcional que puede aparecer en el prólogo de un documento XML para indicar el tipo prólogo de un documento XML para indicar el tipo de documento.de documento.

La declaración de tipo de documento indica a la La declaración de tipo de documento indica a la aplicación que procesa el documento XML de qué aplicación que procesa el documento XML de qué tipo es el documento que va a procesar.tipo es el documento que va a procesar.

Esta declaracion es opcional.Esta declaracion es opcional.

Page 23: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Declaración de tipo de documentoDeclaración de tipo de documento

<!DOCTYPE nombre … ><!DOCTYPE nombre … >

donde nombre será sustituído por el nombre del donde nombre será sustituído por el nombre del tipo de documento en cuestión.tipo de documento en cuestión.

Tras el nombre del tipo de documento, la Tras el nombre del tipo de documento, la declaración de tipo de documento puede declaración de tipo de documento puede contener:contener:• a) la definición del tipo de documento o DTDa) la definición del tipo de documento o DTD• b) una referencia a un recurso externo que contiene la b) una referencia a un recurso externo que contiene la

DTD de ese tipo de documento.DTD de ese tipo de documento.• c) una refencia a un recurso externo con la DTD, y la c) una refencia a un recurso externo con la DTD, y la

definición de parte de la DTD aplicable únicamente a definición de parte de la DTD aplicable únicamente a ese documento.ese documento.

Page 24: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs internasDTDs internas

<!DOCTYPE nombre [<!DOCTYPE nombre [

declaración1,declaración1,

declaración 2,declaración 2,

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

DeclaraciónnDeclaraciónn

]>]>

Page 25: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs internas - EjemploDTDs internas - Ejemplo

<?xml version=”1.0”?><?xml version=”1.0”?><!DOCTYPE pelicula [<!DOCTYPE pelicula [

<!ELEMENT pelicula (director, titulo, actores+, <!ELEMENT pelicula (director, titulo, actores+, anyo)>anyo)><!ELEMENT director (#PCDATA)><!ELEMENT director (#PCDATA)><!ELEMENT titulo (#PCDATA)><!ELEMENT titulo (#PCDATA)><!ELEMENT reparto (actor+)><!ELEMENT reparto (actor+)><!ELEMENT actor (#PCDATA)><!ELEMENT actor (#PCDATA)><!ELEMENT anyo (#PCDATA)><!ELEMENT anyo (#PCDATA)>

]>]><pelicula><pelicula><director>Fernando Colomo</director><director>Fernando Colomo</director><titulo>Bajarse al moro</titulo><titulo>Bajarse al moro</titulo><anyo>1987</anyo><anyo>1987</anyo></pelicula></pelicula>

Page 26: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs externasDTDs externas

La declaración de tipo de documento puede asociar un La declaración de tipo de documento puede asociar un documento con una DTD que se ha escrito en un archivo documento con una DTD que se ha escrito en un archivo diferente: DTD externa. diferente: DTD externa.

Las DTD externas se pueden incluir de dos formas distintas Las DTD externas se pueden incluir de dos formas distintas en la declaración de tipo de documento, dependiendo de si:en la declaración de tipo de documento, dependiendo de si:• la DTD es una DTD privada (disponible en un archivo la DTD es una DTD privada (disponible en un archivo

local o remoto), local o remoto), • o una DTD ‘publica’.o una DTD ‘publica’.

Page 27: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs externas privadasDTDs externas privadas

<!DOCTYPE nombre SYSTEM “c:\dtds\docbook.dtd”><!DOCTYPE nombre SYSTEM “c:\dtds\docbook.dtd”> EEl archivo que contiene la DTD suele tenerl archivo que contiene la DTD suele tener::

• la extensión dtd y la extensión dtd y • como nombre el nombre del tipo de documento (que a como nombre el nombre del tipo de documento (que a

su vez coincidirá con el del elemento documento o raíz). su vez coincidirá con el del elemento documento o raíz). Sin embargo, esto no es obligatorio y el archivo con la Sin embargo, esto no es obligatorio y el archivo con la DTD podría tener un nombre DTD podría tener un nombre

Page 28: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs externas privadasDTDs externas privadas

<?xml version="1.0"?><?xml version="1.0"?><!DOCTYPE pelicula SYSTEM "c:\xml\dtds\<!DOCTYPE pelicula SYSTEM "c:\xml\dtds\

pelicula.dtd">pelicula.dtd"><pelicula><pelicula><director>Fernando Colomo</director><director>Fernando Colomo</director><titulo>Bajarse al moro</titulo><titulo>Bajarse al moro</titulo><reparto><reparto><actor>Juan Echanove</actor><actor>Juan Echanove</actor><actor>Aitana Sanchez-Gijon</actor><actor>Aitana Sanchez-Gijon</actor></reparto></reparto><anyo>1987</anyo><anyo>1987</anyo></pelicula></pelicula>

Page 29: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs externas privadasDTDs externas privadas

<?xml version="1.0"?><?xml version="1.0"?><!DOCTYPE pelicula SYSTEM <!DOCTYPE pelicula SYSTEM

"http://www.server.com/dtds/pelicula.dtd">"http://www.server.com/dtds/pelicula.dtd"><pelicula><pelicula><director>Fernando Colomo</director><director>Fernando Colomo</director><titulo>Bajarse al moro</titulo><titulo>Bajarse al moro</titulo><reparto><reparto><actor>Juan Echanove</actor><actor>Juan Echanove</actor><actor>Aitana Sanchez-Gijon</actor><actor>Aitana Sanchez-Gijon</actor></reparto></reparto><anyo>1987</anyo><anyo>1987</anyo></pelicula></pelicula>

Page 30: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs externas públicasDTDs externas públicas

El concepto de DTD pública se utiliza con DTDs El concepto de DTD pública se utiliza con DTDs ampliamente difundidas y utilizadas por distintas ampliamente difundidas y utilizadas por distintas comunidades de usuarios. comunidades de usuarios.

Podemos decir que se trata de DTDs de “dominio público” Podemos decir que se trata de DTDs de “dominio público” En la declaración de un tipo de documento se puede indicar En la declaración de un tipo de documento se puede indicar

que el tipo de documento se define a partir de una DTD que el tipo de documento se define a partir de una DTD pública. Escribiendo la palabra PUBLIC tras el nombre del pública. Escribiendo la palabra PUBLIC tras el nombre del tipo de documento tipo de documento

A continuación de PUBLIC se escribe un identificador para la A continuación de PUBLIC se escribe un identificador para la DTD. DTD.

El identificador único tiene la siguiente forma:El identificador único tiene la siguiente forma:• Tipo identificador//organización//DTD Tipo identificador//organización//DTD descripción//Idiomadescripción//Idioma

• <!DOCTYPE docbook PUBLIC “-//oasis//DTD <!DOCTYPE docbook PUBLIC “-//oasis//DTD articles to publish//EN”>articles to publish//EN”>

Page 31: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs “mixtas”DTDs “mixtas”

XML nos ofrece la posibilidad de distribuir las declaraciones XML nos ofrece la posibilidad de distribuir las declaraciones de la DTD en la declaración de tipo de documento y en un de la DTD en la declaración de tipo de documento y en un archivo externo. De esta forma la DTD se encuentra en dos archivo externo. De esta forma la DTD se encuentra en dos archivos físicos diferentes. archivos físicos diferentes.

Se utiliza el término subconjunto interno de la DTD para Se utiliza el término subconjunto interno de la DTD para llamar a las declaraciones que se incluyen dentro de la llamar a las declaraciones que se incluyen dentro de la declaración de tipo de documento. declaración de tipo de documento.

El término subconjunto externo de la DTD se refiere a las El término subconjunto externo de la DTD se refiere a las declaraciones que se incluyen en un archivo independiente declaraciones que se incluyen en un archivo independiente en el que sólo se incluyen declaraciones de la DTD.en el que sólo se incluyen declaraciones de la DTD.

Page 32: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

DTDs mixtasDTDs mixtas

<?xml version="1.0"?><?xml version="1.0"?><!DOCTYPE pelicula SYSTEM “<!DOCTYPE pelicula SYSTEM “http://http://

www.server.com/dtds/pelicula.dtdwww.server.com/dtds/pelicula.dtd” [” [<!ENTITY cartel SYSTEM “c:\img\bmoro.gif”><!ENTITY cartel SYSTEM “c:\img\bmoro.gif”><!ENTITY aitana-sanchez SYSTEM “c:\img\<!ENTITY aitana-sanchez SYSTEM “c:\img\

aitana.gif”>aitana.gif”>]>]><pelicula><pelicula><director>Fernando Colomo</director><director>Fernando Colomo</director><titulo>Bajarse al moro</titulo><titulo>Bajarse al moro</titulo><reparto><reparto><actor>Juan Echanove</actor><actor>Juan Echanove</actor><actor>Aitana Sanchez-Gijon</actor><actor>Aitana Sanchez-Gijon</actor></reparto></reparto><anyo>1987</anyo><anyo>1987</anyo></pelicula></pelicula>

Page 33: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Documentos XML válidosDocumentos XML válidos

Un documento XML será un documento válido si Un documento XML será un documento válido si cumple las restricciones indicadas en su DTD. cumple las restricciones indicadas en su DTD.

Estas restricciones indican qué elementos pueden Estas restricciones indican qué elementos pueden aparecer en el documento, en qué orden deben aparecer en el documento, en qué orden deben hacerlo, cómo pueden anidarse, qué atributos hacerlo, cómo pueden anidarse, qué atributos están permitidos para cada elemento, etc. están permitidos para cada elemento, etc.

Para que un documento XML sea válido, es Para que un documento XML sea válido, es necesario disponer de su DTD para poder hacer necesario disponer de su DTD para poder hacer las comprobaciones necesarias.las comprobaciones necesarias.

Page 34: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Atributos de elementosAtributos de elementos

XML permite complementar a un elemento XML permite complementar a un elemento con atributos que matizan su significado.con atributos que matizan su significado.

Los atributos permitidos para cada Los atributos permitidos para cada elemento se deben indicar en la DTD. elemento se deben indicar en la DTD.

Los atributos tienen un nombre y reciben Los atributos tienen un nombre y reciben un valor con un tipo de dato especial un valor con un tipo de dato especial

Los atributos se escriben dentro de la Los atributos se escriben dentro de la marca de inicio del elemento, en cualquier marca de inicio del elemento, en cualquier orden, tras el nombre del elemento. orden, tras el nombre del elemento.

Tras el nombre del atributo se escribe el Tras el nombre del atributo se escribe el signo igual y el valor que se le asigna signo igual y el valor que se le asigna escrito entre comillasescrito entre comillas

Page 35: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Atributos de elementosAtributos de elementos

<factura id=”100-45” fecha-emision=’20-07-1999’><factura id=”100-45” fecha-emision=’20-07-1999’>

<cliente>Juan Valverde</cliente><cliente>Juan Valverde</cliente>

<items><items>

………………

</items></items>

</factura></factura>

Page 36: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Atributos de elementos: valoresAtributos de elementos: valores

CHAR - datos de tipo texto. CHAR - datos de tipo texto. ENTITY - identificador de una entidad declarada en la ENTITY - identificador de una entidad declarada en la

DTD.DTD. ID - identificador que debe ser único en el documento. Si ID - identificador que debe ser único en el documento. Si

hay dos atributos de tipo ID con el mismo valor en un hay dos atributos de tipo ID con el mismo valor en un mismo documento, el documento no será válido.mismo documento, el documento no será válido.

Listas de opciones - un valor de una lista de valores Listas de opciones - un valor de una lista de valores posibles. Siempre se propondrá un valor por defecto para posibles. Siempre se propondrá un valor por defecto para el atributo.el atributo.

ENTITIES - los identificadores de dos o más entidades ENTITIES - los identificadores de dos o más entidades declaradas en la DTD, separados por comas.declaradas en la DTD, separados por comas.

IDREF - toma como valor el valor de un atributo de tipo ID IDREF - toma como valor el valor de un atributo de tipo ID utilizado en el mismo documento. utilizado en el mismo documento.

Page 37: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Atributos: ... A tener en cuentaAtributos: ... A tener en cuenta

Distinción entre mayúsculas y minúsculasDistinción entre mayúsculas y minúsculas Valores entrecomilladosValores entrecomillados Número y orden de los atributosNúmero y orden de los atributos

Un elemento puede tener un número ilimitado Un elemento puede tener un número ilimitado de atributos, pero un mismo atributo no puede de atributos, pero un mismo atributo no puede repetirse dentro de la marca de inicio de un repetirse dentro de la marca de inicio de un mismo elemento. mismo elemento.

Si el elemento incluye dos o más atributos, Si el elemento incluye dos o más atributos, estos pueden escribirse en cualquier orden estos pueden escribirse en cualquier orden dentro de la marca de inicio del elemento. dentro de la marca de inicio del elemento.

Page 38: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Elementos vacíosElementos vacíos

Un documento XML puede contener un tipo especial de elementos: los elementos vacíos.

Estos elementos no tienen ningún contenido. Es decir, entre sus marcas de inicio y de fin no se escribe ningún contenido. Los elementos vacíos se utilizan para posicionar elementos en el documento: por ejemplo para incluir imágenes, archivos multimedia, etc.

Para añadir la información necesaria para que una aplicación pueda gestionar un elemento vacío se añaden atributos al elemento.

Page 39: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Elementos vacíosElementos vacíos

Los elementos vacíos se pueden incluir en un documento utilizando dos sintáxis:

La primera consiste en utilizar una marca de inicio y otra de fin, sin ningún contenido entre ellas. Por ejemplo: <graphic name=”logo” format=”gif”></graphic>

La segunda sintáxis utiliza una única marca. Para indicar que se trata de un elemento vacío se añade una barra invertida / antes del carácter de fin de la marca, tal y como se señala en el siguiente ejemplo: <graphic name=”logo” format=”gif” />

Page 40: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

En un documento XML se pueden insertar comentarios.

Los comentarios se escriben entre los caracteres reservados <!—y -- >.

Un comentario puede incluir cualquier carácter, incluídos los caracteres reservados <, > y &. Esto es posible porque los parsers XML no analizan el texto encerrado entre los caracteres <!—y -- >.

La única secuencia de caracteres que no puede aparecer dentro de un comentario XML son los dos guiones seguidos --.

Los comentarios se pueden incluir en cualquier parte de un documento XML excepto dentro de una marca (marcas de elementos, declaraciones XML, declaraciones de tipo de documento, etc.).

ComentariosComentarios

Page 41: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Las entidades se utilizan con cuatro propósitos principales:

a) Inserción de caracteres especiales en los documentos

b) Utilización de cadenas de texto alternativas en lugar de términos o frases complejos de escribir o que se desconocen en el momento de crear el documento.

c) Inserción de componentes multimedia, imágenes o cualquier documento que no sean datos XML en un documento XML y

d() Modularización de los documentos

EntidadesEntidades

Page 42: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

•Como se puede apreciar las entidades se han escrito precedidas del carácter & y seguidas del punto y coma <;>. Siempre que se utilice una entidad en un documento XML se empleará esta sintáxis.

• Los caracteres & y ; se utilizan en XML para indicar el principio y el fin de una referencia a una entidad.

Referencias a entidadesReferencias a entidades

Page 43: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

•Se utilizan para representar caracteres especiales.

•Hay un conjunto de entidades carácter predefinidas:

•&amp; - para el carácter &

•&lt; - para el carácter <

•&gt; - para el carácter >

•&quot; - para el carácter “

•&apos; - para el carácter ‘

•Para representar caracteres adicionales se utilizará su correspondiente número en el juego de caracteres Unicode (ISO 10646).  

•Si se utiliza el número hexadecimal, se escribirá el número precedido por los caracteres & y #, y seguido del carácter ;.

Entidades carácterEntidades carácter

Page 44: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

•Función - escribir cadenas de texto fáciles de recordar en lugar de:

• Términos o palabras difíciles de escribir o

• Términos que se desconocen en el momento de escribir el

documento •En el momento de visualizar un documento XML, el visor o el navegador reconocerá las referencias a entidades de texto y las sustituirá por el texto que realmente se tiene que presentar en el texto del documento.

•<!ENTITY BSCH “Banco Santander Central Hispano”>

•El &BSCH; ha aumentado beneficios el pasado trimestre…

Entidades para “texto alternativo”Entidades para “texto alternativo”

Page 45: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Entidades externas no procesablesEntidades externas no procesables Para incluir archivos no XML en un documento XML, se Para incluir archivos no XML en un documento XML, se

deben utilizar entidades.deben utilizar entidades. En la declaración de la entidad se indicará con qué archivo En la declaración de la entidad se indicará con qué archivo

no XML (imagen, multimedia, etc.) se corresponde (cómo no XML (imagen, multimedia, etc.) se corresponde (cómo resolverse).resolverse).

Estas entidades se llaman externas no procesables porque:Estas entidades se llaman externas no procesables porque:• el contenido al que hacen referencia se encuentra en un el contenido al que hacen referencia se encuentra en un

archivo externo, y archivo externo, y • al no tratarse de documentos XML no pueden ser analizadas al no tratarse de documentos XML no pueden ser analizadas

por un parser XML.por un parser XML. Las referencias a entidades externas no procesables se Las referencias a entidades externas no procesables se

deben deben incluirincluir como valor de como valor de atributosatributos de tipo ENTITY. de tipo ENTITY.

Page 46: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Entidades externas no procesablesEntidades externas no procesables

<!ENTITY logo SYSTEM “logo.gif” NDATA gif><!ENTITY logo SYSTEM “logo.gif” NDATA gif>

<!NOTATION gif SYSTEM “viewer.exe”><!NOTATION gif SYSTEM “viewer.exe”>

Page 47: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Entidades externas procesablesEntidades externas procesables Permiten crear documentos modularesPermiten crear documentos modulares Un documento es modular cuando su contenido Un documento es modular cuando su contenido

se reparte en dos o más archivos, aunque se se reparte en dos o más archivos, aunque se visualizan de forma “compacta”visualizan de forma “compacta”

Las referencias a entidades externas procesables Las referencias a entidades externas procesables se hacen escribiendo el nombre de la entidad se hacen escribiendo el nombre de la entidad correspondiente al archivo que se quiere incluir correspondiente al archivo que se quiere incluir precedido por el carácter & y seguido del carácter precedido por el carácter & y seguido del carácter ;.;.

Las referencias a las entidades se escribirán en la Las referencias a las entidades se escribirán en la posición en la que se quiere incluir el contenido posición en la que se quiere incluir el contenido del archivo XML externo. del archivo XML externo.

Page 48: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

NamespacesNamespaces

Resuelven los problemas que puede surgir cuando en un Resuelven los problemas que puede surgir cuando en un documento XML se combinan elementos procedentes de documento XML se combinan elementos procedentes de esquemas diferentes, y/o los esquemas contienen esquemas diferentes, y/o los esquemas contienen elementos o atributos con idéntico nombre.elementos o atributos con idéntico nombre.

La recomendación fue aprobada por el World Wide Web La recomendación fue aprobada por el World Wide Web

Consortium – W3C - el catorce de enero de 1999.Consortium – W3C - el catorce de enero de 1999. un namespace es el conjunto de identificadores de un namespace es el conjunto de identificadores de

elementos y atributos que se utilizan en un mismo elementos y atributos que se utilizan en un mismo esquema. esquema.

En un documento que combine dos o más esquemas, se En un documento que combine dos o más esquemas, se

utilizarán tantos namespaces como esquemasutilizarán tantos namespaces como esquemas

Page 49: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

NamespacesNamespaces

Para utilizar los namespaces en un documento es necesario Para utilizar los namespaces en un documento es necesario declararlos. declararlos.

Los namespaces se declaran en la marca de inicio del elemento Los namespaces se declaran en la marca de inicio del elemento raíz del documento.raíz del documento.

La declaración consiste en las letras xmlns: seguidas de un La declaración consiste en las letras xmlns: seguidas de un identificador para el namespace. identificador para el namespace.

El identificador del namespace será uno o más caracteres fáciles El identificador del namespace será uno o más caracteres fáciles de recordar. de recordar.

A continuación se indica un URI único para el namespace. A continuación se indica un URI único para el namespace.

<v:vuelo-aereo xmlns:v = “<v:vuelo-aereo xmlns:v = “http://www.myserver.com/schemes/vuelohttp://www.myserver.com/schemes/vuelo””

xmlns:people = “xmlns:people = “http://www.myserver.com/schemes/peoplehttp://www.myserver.com/schemes/people”>”>

   </v:vuelo-aereo></v:vuelo-aereo>

Page 50: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

NamespacesNamespaces

Todos los nombres de elementos y de atributos que se Todos los nombres de elementos y de atributos que se utilizan en un documento XML en el que se hayan utilizan en un documento XML en el que se hayan declarado namespaces, deben ir cualificados por el alias declarado namespaces, deben ir cualificados por el alias declarado para su namespace.declarado para su namespace.

Para cualificar el nombre de un elemento, basta con escribir Para cualificar el nombre de un elemento, basta con escribir delante de su nombre el alias del namespace del que delante de su nombre el alias del namespace del que procede seguido de dos puntos, tal y como se puede ver en procede seguido de dos puntos, tal y como se puede ver en el siguiente ejemplo.el siguiente ejemplo.

Es necesario cualificar el nombre del elemento en su marca Es necesario cualificar el nombre del elemento en su marca de inicio y en la de fin.de inicio y en la de fin.

  

Page 51: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

NamespacesNamespaces

<a:book xmlns:a = “<a:book xmlns:a = “http://www.myserver.com/schemes/bookhttp://www.myserver.com/schemes/book””

xmlns:b = “xmlns:b = “http://www.myserver.com/schemes/authorhttp://www.myserver.com/schemes/author”>”>

  <a:title>Programación en C++</a:title><a:title>Programación en C++</a:title><a:subtitle>Guía avanzada</a:subtitle><a:subtitle>Guía avanzada</a:subtitle><a:autor><a:autor><b:nombre>Juan</b:nombre><b:nombre>Juan</b:nombre><b:apellidos>De Frutos</b:apellidos><b:apellidos>De Frutos</b:apellidos></a:autor></a:autor></a:book></a:book>

Page 52: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Hojas de estilo CSSHojas de estilo CSS

Empleamos el término formateo para referirnos a Empleamos el término formateo para referirnos a las características con las cuales se presenta un las características con las cuales se presenta un documento en pantalladocumento en pantalla o impresora o impresora: tipo de letra, : tipo de letra, margenes, espacio interlineal, etcmargenes, espacio interlineal, etc

En otra instrucción podríamos indicar que los En otra instrucción podríamos indicar que los elementos de tipo <autor> se deben escribir en elementos de tipo <autor> se deben escribir en letra 'Arial con tamaño 24 pt. y en color verde'. letra 'Arial con tamaño 24 pt. y en color verde'. Esta regla de estilo se aplicaría a todas las Esta regla de estilo se aplicaría a todas las ocurrncias del elemento autor que aparezcan en ocurrncias del elemento autor que aparezcan en el documento, es decir, a todas las cadenas de el documento, es decir, a todas las cadenas de texto que estén encerradas entre las marcas texto que estén encerradas entre las marcas <autor> y </autor>. <autor> y </autor>.

Page 53: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Hojas de estilo CSSHojas de estilo CSS

Para poder publicar un documento XML es Para poder publicar un documento XML es necesario vincularlo a una hoja de estilo que necesario vincularlo a una hoja de estilo que contenga información relativa a cómo se deben contenga información relativa a cómo se deben formatear el documento en pantalla. formatear el documento en pantalla.

Para crear hojas de estilo para documentos XML Para crear hojas de estilo para documentos XML disponemos de dos alternativas:disponemos de dos alternativas:• utilizar hojas de estilo CSS (Cascading Style Sheets), utilizar hojas de estilo CSS (Cascading Style Sheets),

heredadas del lenguaje HTML, para el cual se diseñaron.heredadas del lenguaje HTML, para el cual se diseñaron.• utilizar hojas de estilo XSL, específicamente diseñadas utilizar hojas de estilo XSL, específicamente diseñadas

para documentos XML.para documentos XML.

Page 54: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Hojas de estilo CSS: ventajasHojas de estilo CSS: ventajas

Presentación homogenea de los documentos Presentación homogenea de los documentos Múltiples representaciones de un mismo Múltiples representaciones de un mismo

documento documento

Page 55: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Hojas de estilo CSS: estructuraHojas de estilo CSS: estructura

Una hoja de estilo CSS está formada por una o más reglas.Una hoja de estilo CSS está formada por una o más reglas. Cada regla contiene las instrucciones de formateo que se Cada regla contiene las instrucciones de formateo que se

deben aplicar a las instancias de un elemento de los deben aplicar a las instancias de un elemento de los documentos XML. documentos XML.

Cada instrucción se llama 'declaración‘, y asigna un valor a Cada instrucción se llama 'declaración‘, y asigna un valor a una propiedad de formateo. una propiedad de formateo.

Las declaraciones van entre cprchetes, y precedidas por un Las declaraciones van entre cprchetes, y precedidas por un selectorselector que indica a qué elementos del documento XML se que indica a qué elementos del documento XML se tienen que aplicar las declaraciones. tienen que aplicar las declaraciones.

Una declaración tiene dos partes: el nombre de la Una declaración tiene dos partes: el nombre de la propiedad y el valor que se le asigna. El nombre de la propiedad y el valor que se le asigna. El nombre de la propiedad se separa de su valor mediante dos puntos. Si propiedad se separa de su valor mediante dos puntos. Si hay más de una propiedad, éstas se separan mediante hay más de una propiedad, éstas se separan mediante punto y coma. punto y coma.

Page 56: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Hojas de estilo CSS: selectoresHojas de estilo CSS: selectores

Los selectores se utilizan en las reglas de una Los selectores se utilizan en las reglas de una hoja de estilo CSS para indicar a qué elementos hoja de estilo CSS para indicar a qué elementos del documento XML, o más correctamente, a qué del documento XML, o más correctamente, a qué instancias u ocurrencias de sus elementos, se instancias u ocurrencias de sus elementos, se deben aplicar las declaraciones incluídas en una deben aplicar las declaraciones incluídas en una regla.regla.

La especificación CSS establece distintos tipos de La especificación CSS establece distintos tipos de selectores: simples, universales, selectores selectores: simples, universales, selectores basados en el atributo CLASS, etc.basados en el atributo CLASS, etc.

Page 57: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Hojas de estilo CSS: selectoresHojas de estilo CSS: selectores

Con un selector simple podemos aplicar un Con un selector simple podemos aplicar un mismo formateo a todas las instancias de un mismo formateo a todas las instancias de un mismo elemento. mismo elemento.

En ocasiones puede ser necesario presentar de En ocasiones puede ser necesario presentar de forma diferente las distintas ocurrencias de un forma diferente las distintas ocurrencias de un mismo elemento. mismo elemento.

Para lograr esto, en la especificación CSS para Para lograr esto, en la especificación CSS para HTML se introdujo el atributo CLASS. HTML se introdujo el atributo CLASS.

Este atributo permite “marcar” ciertas Este atributo permite “marcar” ciertas ocurrencias de un elemento, para posteriormente ocurrencias de un elemento, para posteriormente asociarlas a una regla de una hoja de estilo y asociarlas a una regla de una hoja de estilo y presentarlas de forma diferente   presentarlas de forma diferente   

Page 58: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Hojas de estilo CSS: selectoresHojas de estilo CSS: selectores

<P CLASS="autor">Este manual explica cómo trabajar con el <P CLASS="autor">Este manual explica cómo trabajar con el navegador Netscape. navegador Netscape.

<P CLASS="manual">Haga doble clic sobre el icono de <P CLASS="manual">Haga doble clic sobre el icono de Netscape Navigator en el escritorio de Netscape Navigator en el escritorio de Windows. Windows.

  P.AUTOR { font-size : 12pt; P.AUTOR { font-size : 12pt; color : black; color : black; font-family : "Times New Roman"; font-family : "Times New Roman"; text-indent : 2,5em} text-indent : 2,5em}   P.MANUAL { font-size : 10pt; P.MANUAL { font-size : 10pt; color : blue; color : blue; font-family : Arial; font-family : Arial; text-indent : 3em}text-indent : 3em}

Page 59: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

Asociar hojas de estilo a docs XMLAsociar hojas de estilo a docs XML

Con la instrucción de procesamiento <?xml-stylesheet...?Con la instrucción de procesamiento <?xml-stylesheet...?> crearemos un vínculo desde el documento XML hacia un > crearemos un vínculo desde el documento XML hacia un archivo externo.CSS. archivo externo.CSS.

La instrucción de procesamiento <?xml-stylesheet...?> se La instrucción de procesamiento <?xml-stylesheet...?> se escribirá a continuación de la declaración XML escribirá a continuación de la declaración XML

   <?xml-stylesheet type="text/css" <?xml-stylesheet type="text/css"

href="pathFichero.css">href="pathFichero.css">

En esta instrucciónEn esta instrucción de procesamiento se utilizan dos de procesamiento se utilizan dos calificadores: type y href. calificadores: type y href. TypeType - Tipo de la hoja de estilo. - Tipo de la hoja de estilo. • Href - URL absoluta o relativa de la hoja de estilo .CSSHref - URL absoluta o relativa de la hoja de estilo .CSS

Page 60: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XSL-FOXSL-FO

La especificación XSL contiene dos partes:La especificación XSL contiene dos partes:• XSLT – lenguaje de transformaciónXSLT – lenguaje de transformación• XSL FO – lenguaje de formateo de documentosXSL FO – lenguaje de formateo de documentos

XSL FOXSL FO• DificultadDificultad• Escaso soporte aplicaciones comercialesEscaso soporte aplicaciones comerciales• Gran potencial en el área de documentaciónGran potencial en el área de documentación

Page 61: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XSL-FO - EstructuraXSL-FO - Estructura

Una hoja de estilo XSL-FO es un documento XMLUna hoja de estilo XSL-FO es un documento XML Se divide en:Se divide en:

• Layout master setLayout master set Descripción de tipos de páginaDescripción de tipos de página Secuencias en la que pueden aparecer los tipos de Secuencias en la que pueden aparecer los tipos de

páginaspáginas• Páginas propiamente dichasPáginas propiamente dichas

Page 62: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XSL-FO - EstructuraXSL-FO - Estructura

El elemento root es el raíz de la hoja de estiloEl elemento root es el raíz de la hoja de estilo El elemento layout-master-set contiene la El elemento layout-master-set contiene la

definición de los tipos de páginadefinición de los tipos de página Cada tipo de página se describe en un elemento Cada tipo de página se describe en un elemento

simple-page-master simple-page-master • Tiene un atributo master-name que la identificaTiene un atributo master-name que la identifica• Propiedades:Propiedades:

page-height, page-height, page-width, page-width, margin-top, margin-top, margin-bottom, margin-bottom, Margin-leftMargin-left Margin-rightMargin-right

Page 63: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XSL-FO - EstructuraXSL-FO - Estructura

A su vez, en cada página se pueden definir “distintas A su vez, en cada página se pueden definir “distintas zonas”, por ej. Pie de página y cabecera de páginazonas”, por ej. Pie de página y cabecera de página

Para ello se utiliza el elemento region-body, region-before y Para ello se utiliza el elemento region-body, region-before y region-after. Son elementos vacíosregion-after. Son elementos vacíos

Page 64: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XSL-FOXSL-FO

La secuencia de las páginas maestras se indica en un La secuencia de las páginas maestras se indica en un elemento page-sequence-masterelemento page-sequence-master

<fo:page-sequence-master master-name=“general”><fo:page-sequence-master master-name=“general”>

<fo:repeatable-page-master-reference master-<fo:repeatable-page-master-reference master-name=“paginaMaesra” />name=“paginaMaesra” />

</fo:page-sequence-master></fo:page-sequence-master>

Page 65: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XSL-FOXSL-FO

Para situar “texto” en una página, se debe;Para situar “texto” en una página, se debe;• Situar en una “secuencia de páginas” – elemento Situar en una “secuencia de páginas” – elemento

page-sequencepage-sequence• Situar en un área dentro de la página – elemento Situar en un área dentro de la página – elemento

flowflow• Crear bloques para cada bloque de texto, imagen, Crear bloques para cada bloque de texto, imagen,

etc. – elemento blocketc. – elemento block• Para incluir imágenes, se utilizará el elemento Para incluir imágenes, se utilizará el elemento

external-graphic con su atributo src, width y height.external-graphic con su atributo src, width y height.

Page 66: Tema 2 El lenguaje XML Ricardo Eíto Brun Sevilla, 23 - 25 de octubre, 2002.

XSL-FOXSL-FO

<fo:page-sequence master-name=“general”><fo:page-sequence master-name=“general”>

<fo:flow flow-name=“texto”><fo:flow flow-name=“texto”>

<fo:block font-family=“Arial”>Hola</fo:block><fo:block font-family=“Arial”>Hola</fo:block>

<fo:block font-family=“Times”>Adios</fo:block><fo:block font-family=“Times”>Adios</fo:block>

</fo:flow></fo:flow>

</fo:page-sequence></fo:page-sequence>