tema 2 el lenguaje xml ricardo eíto brun sevilla, 23 - 25 de octubre, 2002
Post on 20-Jan-2015
8 Views
Preview:
TRANSCRIPT
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
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
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.
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
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).
< y > < y >
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.
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.
¿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
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
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.
GranularidadGranularidad
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.
Elementos anidadosElementos anidados
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
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.
Documentos bien formadosDocumentos bien formados
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.
Estructura básica XMLEstructura básica XML
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.
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.
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.
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.
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.
DTDs internasDTDs internas
<!DOCTYPE nombre [<!DOCTYPE nombre [
declaración1,declaración1,
declaración 2,declaración 2,
…………………………..
DeclaraciónnDeclaraciónn
]>]>
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>
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’.
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
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>
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>
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”>
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.
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>
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.
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
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>
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.
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.
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.
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” />
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
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
•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
•Se utilizan para representar caracteres especiales.
•Hay un conjunto de entidades carácter predefinidas:
•& - para el carácter &
•< - para el carácter <
•> - para el carácter >
•" - para el carácter “
•' - 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
•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”
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.
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”>
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.
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
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>
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.
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>
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>.
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.
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
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.
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.
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
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}
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
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
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
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
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
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>
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.
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>
top related