Title: XML y tecnolog
1XML y tecnologías asociadas
2Antecedentes históricos
- 1960 Utilización de etiquetas descriptivas para
codificación - 1967 Separación entre el contenido de los
documentos y su formato - 1969 GML (Lenguaje de Marcación Generalizado).
- Permitir que los subsistemas de edición y
formateado de textos y los de RI compartieran
documentos - Introduce el concepto de tipo de documento
- 1985 SGML (estándar ISO 88791986). Estándar
internacional para la descripción de la
codificación electrónica de textos - 1990 HTML
- 1998 XML
3Motivaciones aparición XML
- Tratar datos semi-estructurados de la web
- Organizar colecciones de datos de distintas
fuentes y formatos - Intercambiar datos entre diferentes
sitios/organizaciones
4XMLeXtended Markup Language
- Metalenguaje que nos permite definir lenguajes de
marcado adecuados a usos determinados - Subconjunto de SGML, simplificado y adaptado a
Internet - Marcación descriptiva
- Extensible
- Los proveedores de información pueden definir
nuevas etiquetas y atributos
5Ventajas de XML
- No pertenece a ninguna compañía y su utilización
es libre - Fácilmente procesable por personas y por software
- Permite su utilización en diferente hardware
(ordenadores personales, teléfonos celulares,
terminales de Braille, ...) - Diseñado para ser utilizado con cualquier
alfabeto - Sustitución de cadenas de caracteres (entidades)
- Separa radicalmente la información o contenido de
su presentación o formato - Un documento (XML) ? muchas formas de
presentación (PDF, HTML, WML, RTF, VRML, ...)
6Ventajas XML (cont.)
- Permitirá integrar sistemas de información hasta
ahora separados - Documentos
- estructura irregular
- anidados profundamente
- tipos de datos relativamente simples
- se da gran importancia al orden
- Relaciones
- estructura muy regular
- relativamente planas
- tipos de datos relativamente complejos
- se da poca importancia al orden
7Terminología
- Elemento
- Unidad de texto considerada como un componente
estructural - Atributos
- Características y propiedades asociadas con
elementos de un tipo determinado - DOM (Document Object Model)
- Árbol cuyos nodos son los elementos.
- Para acceder y manipular los datos almacenados
en un documento XML se utiliza una colección de
objetos, con varias propiedades y métodos, que
representan el árbol y sus nodos.
8Estructura de un documento XML
- Ejemplo
- Instrucciones de procesamiento
- Declaraciones de tipo de documento (DTD)
- Etiquetas de elementos y atributos
- Entidades
- Comentarios
- Secciones marcadas
9Ejemplo de documento XML
lt?xml version"1.0"?gt lt!DOCTYPE MENSAJE SYSTEM
"mensaje.dtd"gt
prólogo
- ltmensajegt
- ltremitegt
- ltnombregtAdelaida Delgadolt/nombregt
- ltemailgtadelaida_at_ipc4.uib.eslt/emailgt
- lt/remitegt
- ltdestinatariogt
- ltnombregtAntonio F. Cocalt/nombregt
- ltemailgtantonioc_at_ipc4.uib.eslt/emailgt
- lt/destinatariogt
- ltasuntogtSaludoslt/asuntogt
- ltcuerpogt
- ltparrafogtHola qué tal? Hace ltenfasisgtmucholt/enfas
isgt que - no escribes. A ver si
llamas y quedamos para tomar algo. - lt/parrafogt
- lt/cuerpogt
- lt/mensajegt
10Instrucciones de procesamiento
lt? Instrucción ?gt
lt?xml version"1.0"?gt
11Documentos XML bien formados/válidos
- XML está diseñado para ser utilizado con o sin
DTD - Un documento XML es válido si tiene una DTD
concordante. - La DTD puede está contenida en el propio
documento XML o contenida en un fichero externo - Un documento XML está bien formado si cumple las
reglas descritas en la especificación oficial XML
v1.0 (http//www.w3.org/TR/REC-xml)
12Documentos XML bien formados
- Estructura jerárquica de elementos
- Los elementos deben estar correctamente anidados,
no se pueden superponer - Sólo puede haber un elemento raíz, en el que
están contenidos todos los demás - Etiquetas
- Deben estar balanceadas
- Las etiquetas vacías (de los elementos sin
contenido) han de presentar el símbolo / al
final - Atributos
- Los valores de los atributos han de estar entre
comillas - Mayúsculas y minúsculas
- XML es case-sensitive
13Documentos XML bien formados, sin DTD
- Cuando no se utiliza DTD el documento debe
comenzar por una declaración de documento único
standalone - Los documentos XML sin DTD pueden utilizar
atributos pero han de ser del tipo CDATA por
defecto
lt? xml version1.0 standaloneyes ?gt
14Declaración de tipo de documento
- La DTD puede residir en un fichero externo (que
puede ser compartido por otros documentos) o bien
estar contenida en el propio documento XML, como
parte de su declaración de tipo de documento. - Si la DTD es externa, en la declaración de tipo
de documento se indica dónde encontrarla - Mediante un identificador público (PUBLIC)
- Mediante un Identificador Universal de Recursos
(URI) precedido por la palabra SYSTEM. - Ejemplos
- lt!DOCTYPE MENSAJE SYSTEM "mensaje.dtd"gt
- lt!DOCTYPE PRODUCTOS SYSTEM "http//www.empresa
.com/dtds/productos.dtd"gt - lt!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0//ENgt
15Elementos y atributos en XML
- Etiquetas de elementos
- Cada tipo de elemento tendrá un nombre
(etiqueta), indicativa de la función, su
identificador genérico - o bien
-
- si el contenido del elemento es vacío
- Es importante comprender la estructura del
documento para representarla utilizando las
etiquetas apropiadas
ltetiquetagtcontenido_elemento lt/etiquetagt
ltetiqueta/gt
16Elementos y atributos en XML
- Atributos
- Suelen ser opcionales
- Atributo especial de identificación id ? se
utiliza para dar un valor único a la ocurrencia
de un elemento particular. - Se puede utilizar para hacer referencias cruzadas
- Valores de los atributos ? se darán en la
instancia del documento como un par
atributovalor, en la ocurrencia de la
etiqueta de principio del elemento - Ejemplo
ltpoema idP1 estadoborradorgt ... lt/poemagt
17Entidades
- XML utiliza entidades para referenciar a objetos
(ficheros, páginas web, imágenes, cualquier cosa)
que no deben ser analizados sintácticamente según
las reglas de XML. -
- Sintaxis
-
entidad
18Entidades predefinidas
- Al usar una referencia a una entidad, el
analizador sintáctico reemplaza la referencia con
su contenido.
Entidad Carácter -------------------------
lt lt gt gt amp apos quot
19Entidades generales internas
- Son abreviaturas declaradas en la DTD mediante el
uso de "lt!ENTITY". - Ejemplo
-
lt!DOCTYPE texto lt!ENTITY nombre "Pepito de los
Palotes Sabelotodo"gt gt ... lttextogtlttitulogtHisto
ria de nombrelt/titulogtlt/textogt
20Entidades generales externas analizadas
- Obtienen su contenido en cualquier otro sitio del
sistema. - Se referencian mediante la palabra SYSTEM seguida
de un URI. - Ejemplo
lt!ENTITY mientidad SYSTEM "http//www.servidor.co
m/entidades.xml"gt
21Entidades generales externas no analizadas
- Son aquéllas cuyo contenido no es texto sino por
ejemplo una imagen, un archivo de vídeo, un
ejecutable, etc. - Ejemplo
lt!ENTITY foto SYSTEM "http//www.servidor.com/fot
o.gif"gt
22Entidades parámetro
- Se usan para agrupar ciertos elementos que se
repitan mucho. - Para declararlas y referenciarlas se usa el
símbolo "". - Pueden ser internas y externas.
- Ejemplo
lt!DOCTYPE texto lt!ENTITY elem_parrafo
"lt!ELEMENT parrafo (PCDATA)gt"gt
... elem_parrafo gt
23Comentarios
- Son ignorados por los procesadores XML
- Pueden aparecer en cualquier lugar de la
instancia del documento o del prólogo pero no en
las declaraciones, en las etiquetas o dentro de
otros comentarios - Sintaxis
lt!-- comentario --gt
24Secciones CDATA
- Sirven para definir texto que no será tratado por
los analizadores XML. - Sintaxis
lt! CDATA texto_libre gt
25Tecnologías asociadas a XML
- Modularidad y reutilización de documentos XML
- Espacios de Nombres
- Definición de Documentos
- DTDs y XML Schemas
- Definición de estilos
- CSS y XSL
- Referencias a partes de los documentos
- XPath
- Enlazado de documentos
- XLink, XPointer
- Aplicaciones
- RDF, XHTML, ...
26Espacios de nombres XML
- Colección de nombres universales identificada por
un URI (URL o URN) que se utiliza en los
documentos XML como tipos de elementos y nombres
de atributos. - Declaración por defecto declara un espacio de
nombres que se utilizará para todos los elementos
dentro de ese ámbito. - Declaración explícita se define un prefijo que
se utilizará para calificar los elementos que
pertenezcan al espacio de nombres que se le ha
asociado como xmlnsprefijoespacio_de_nombres
27Espacios de nombres XML. Ejemplos
ltBOOK xmlns"urnBookLovers.orgBookInfo"gt
ltTITLEgtA Suitable Boylt/TITLEgt ltPRICE
currency"US Dollar"gt22.5lt/PRICEgt lt/BOOKgt
ltBOOKSgt ltbkBOOK xmlnsbk"urnBookLovers.org
BookInfo" xmlnsmoney"urnFinanc
eMoney"gt ltbkTITLEgtA Suitable
Boylt/bkTITLEgt ltbkPRICE
moneycurrency"US Dollar"gt 22.5lt/bkPRICEgt
lt/bkBOOKgt lt/BOOKSgt
28DTDs
- Conjunto de reglas que definen un documento XML y
que sirven para etiquetarlo adecuadamente - Indica qué elementos, atributos y entidades están
permitidas y algunas limitaciones de cómo
combinarlos - Crear una DTD es como crear nuestro propio
lenguaje de marcado para una aplicación
específica - Sintaxis
lt! DOCTYPE tipo_doc ... gt
29DTDs. Declaración de elementos
- Estructura arborescente
- Sintaxis
lt! ELEMENT id_gen
especificac_contenido gt
- Ejemplo de declaración de elementos
lt!DOCTYPE etiqueta
lt!ELEMENT etiqueta (nombre, calle, ciudad, pais,
codigo)gt lt!ELEMENT nombre
(PCDATA)gt lt!ELEMENT calle
(PCDATA)gt lt!ELEMENT ciudad
(PCDATA)gt lt!ELEMENT pais
(PCDATA)gt lt!ELEMENT codigo
(PCDATA)gt gt
30lt! ELEMENT id_gen especificac_contenido gt
- indica un identificador genérico asignado al
elemento que se quiere definir (su nombre)
31lt! ELEMENT id_gen especificac_contenido gt
- La especificación de contenido de un elemento
puede ser - EMPTY Se utiliza para etiquetas vacías
- Ejemplo lt!ELEMENT br EMPTYgt
- ANY Puede tener cualquier contenido
- Ejemplo lt!ELEMENT container ANYgt
- Mixed Puede tener caracteres de tipo datos
(PCDATA), opcionalmente mezclados con elementos
de tipo hijos (children) - Ejemplo lt!ELEMENT enfasis (PCDATA)gt
- lt!ELEMENT parrafo (PCDATAenfasis)gt
- Children Contiene sub-elementos. Se especifica
un modelo de contenido (una simple gramática que
gobierna los tipos permitidos para los elementos
hijos y el orden en el cual pueden aparecer) - Ejemplo lt!ELEMENT aviso (titulo?, (parrafo,
grafico))gt
32lt! ELEMENT id_gen especificac_contenido gt
- Modelos de contenido
- Si la especificación de contenido contiene más de
un componente hay que especificar el orden
mediante conectores - , (mismo orden que el especificado),
- (sólo puede aparecer uno),
- (cualquier orden)
- Cada partícula de contenido puede llevar un
indicador de frecuencia - (una o más veces),
- ? (como mucho una ocurrencia) y
- (ausente, o una o más veces)
- Ejemplo lt!ELEMENT aviso (titulo?, (parrafo,
grafico))gt - En este caso, ltavisogt puede tener lttitulogt o no
(pero sólo uno), y puede tener cero o más
conjuntos ltparrafogtltgraficogt, ltparrafogtltparrafogtltg
raficogt, etc.
33DTDs. Declaración de atributos
- En la DTD los atributos suelen declararse a
continuación del elemento - Sintaxis
lt! ATTLIST id_gen nombre tipo_valor
estado/valor_defecto gt
- Ejemplo de declaración de atributos
lt!ATTLIST poema id ID IMPLIED estado (bo
rradorrevisadopublicado) borradorgt
34lt!ATTLIST id_gen nombre tipo_valor
estado/valor_defectogt
- Indica el identificador genérico del elemento del
que se declaran los atributos - Si varios elementos comparten los mismos
atributos se daría la lista de los elementos
implicados entre paréntesis - A continuación vienen tantas líneas
- nombre tipo_valor estado/valor_defecto
- como atributos tenga el elemento
35lt!ATTLIST id_gen nombre tipo_valor
estado/valor_defectogt
- indica el nombre del atributo
36lt!ATTLIST id_gen nombre tipo_valor
estado/valor_defectogt
- Atributos de cadena
- CDATA cadenas de caracteres cualesquiera, no
analizadas sintácticamente - Atributos enumerados
- Sólo pueden contener un valor de entre un número
determinado de opciones - Atributos con símbolo
- Normalización del valor del atributo y validación
en base al tipo de atributo que se declare - Símbolos
- ID, IDREF, IDREFS
- ENTITY, ENTITIES
- NMTOKEN, NMTOKENS
- NOTATION
37lt!ATTLIST id_gen nombre tipo_valor
estado/valor_defectogt
- default
- indica el valor predeterminado del atributo
- REQUIRED
- significa que no tiene valor por defecto ya que
es obligatorio especificar este atributo - IMPLIED
- se utiliza cuando interesa que se pueda omitir
un atributo, sin que se adopte automáticamente un
valor por defecto - FIXED
- indica que el atributo tiene un valor fijo
38XML Schemas
- Similar a una DTD en cuanto a que
- define qué elementos puede contener un documento
XML, - cómo están organizados,
- y que atributos y de qué tipo pueden tener sus
elementos
39XML Schemas. Ventajas
- Usan sintaxis de XML
- Mayor riqueza de tipos de datos
- Tipos predefinidos (booleanos, fechas y horas,
URIs, enteros, decimales, reales, intervalos de
tiempo, etc.) - Tipos definidos por los usuarios
- Permite agrupar atributos
- Modelos de contenido
- Abierto todos los elementos requeridos han de
estar presentes, pero no es un error que también
aparezcan elementos adicionales. - Refinable permite que aparezcan elementos
adicionales pero sólo si el esquema define
cuáles son - Soportan los espacios de nombres
40XML Schemas. Frenos
- La existencia de un gran número de herramientas,
tanto SGML como XML, que pueden procesar DTDs - La existencia de un gran número de tipos de
documentos ya definidos usando DTDs HTML, XHTML,
etc. - Una larga experiencia de aplicación práctica de
las DTDs y conocimiento de éstas por parte de la
comunidad de programadores de XML y SGML
41XML Schemas. Validación
- Es posible convertir automáticamente las DTDs
existentes en esquemas XML, con lo cual se
mejoraría la descripción de los documentos - Para validar documentos frente a esquemas XML o
DTDs se puede usar la herramienta XML Validator
de Microsoft, accesible en http//msdn.microsoft.c
om/downloads/samples/internet/xml/xml_validator/
42XML Schemas. Ejemplo
ltdocumento xmlns"x-schemapersonaSchema.xml"gt ltpe
rsona id"43027584Y"gt ltnombregtPepito Pérez
Pérezlt/nombregt lt/personagt lt/documentogt
- ltSchema xmlns"urnschemas-microsoft-comxml-data"
- xmlnsdt"urnschemas-microsoft-comdatatypes"gt
- ltAttributeType name'id' dttype'string'
required'yes'/gt - ltElementType name'nombre' content'textOnly'/gt
- ltElementType name'persona' content'mixed'gt
- ltattribute type'id'/gt
- ltelement type'nombre'/gt
- lt/ElementTypegt
- ltElementType name'documento' content'eltOnly'gt
- ltelement type'persona'/gt
- lt/ElementTypegt
- lt/Schemagt
43CSS (Cascade Style Sheet)
- Lenguaje de hojas de estilos diseñado para HTML
- Las reglas de las hojas de estilos se pueden
colocar - directamente en un documento HTML o XML,
- en documentos de hojas de estilos externas con la
extensión de archivo .css. -
lt?xml-stylesheet type"text/css"
href"mystyle.css"?gt
- CSS1, diciembre 1996 (IE 4.x, Netscape 4.x)
- CSS2, mayo 1998 (IE 5.x, Netscape 6.0)
- CSS3, en proceso
44CSS. Reglas de estilo
- Constan de dos partes el selector y la cadena de
estilos. - Selectores
- Construcciones CSS que identifican partes de un
documento HTML o XML. - Cadena de estilos
- Conjunto de
- propiedad valor
45CSS1. Tipos de selectores
- Tipo de elemento selecciona un elemento de un
determinado tipo y le aplica un estilo o conjunto
de estilos. - Clase de atributo permite aplicar estilos a un
atributo especial. El atributo class se utiliza
para definir clases de estilos de un determinado
tipo de elemento. - ID de atributo establece una regla de estilo
que se puede aplicar a cualquier elemento,
independientemente de su tipo.
46Ejemplo de definición de un conjunto de estilos
para el elemento p de un documento HTML
p display block margin-bottom 10px
font-family Times, serif font-size 12pt
En el documento HTML se marcaría el código de
párrafo de manera habitual
ltpgt Parrafo de texto. lt/pgt
47Ejemplo de definición de una clase especial de
párrafos
p.especial display block
margin-bottom 10px font-family Times,
serif font-size 12pt font-style
italic
En el documento HTML se marcaría el código de
párrafo especial utilizando el atributo class
ltp classespecialgt Parrafo de texto. lt/pgt
48Ejemplo de creación de una regla de estilo por
medio del selecto ID de atributo
azul color blue font-family
Times, serif
En el documento HTML se marcaría utilizando el
atributo id
lth1 idazulgt Esto es un encabezamiento de color
azul. lt/h1gt
49CSS1. Propiedades
- display describe cómo aparece un elemento y si
tiene que aparecer. Los posibles valores son - block (aparece en un recuadro),
- list-item (aparece con una viñeta en un
recuadro), - inline (aparece en un recuadro a continuación
del contenido adyacente), - none (no aparece).
- width y height determinan el ancho y alto del
recuadro o las dimensiones de una imagen. - border, border-left, border-right, border-top,
border-bottom. Además también se puede indicar el
grosor (border-width), el color (border-color) y
el estilo (border-style).
50CSS1. Propiedades (cont.)
- margin, margin-left, margin-right, margin-top,
margin-bottom. - background-color y color
- text-align y text-indent se usan para
establecer, respectivamente, la alineación y el
sangrado de un elemento. - Las propiedades font se utilizan para establecer
los distintos parámetros que están asociados a
las fuentes, como la familia (font-family), el
tamaño (font-size), el estilo (font-style), etc.
51CSS2
- Añade nuevos selectores y se pueden seleccionar
elementos basándose en un patrón. - Se han añadido pseudoClases, y pseudoElementos
que permiten dar formato a objetos seleccionados,
objetos apuntados, etc. - Se han añadido los tipos de medios de manera que
permite crear formatos diferentes dependiendo del
tipo de medio que se vaya a utilizar para
mostrarlo, video, TV, impresoras, etc. - Permite fuentes descargables
- Permite el posicionamiento de elementos y tablas
52CSS3
- Propone modularizar las especificaciones de CSS
- Los selectores permiten seleccionar elementos en
base a si contienen o no cierta palabra, o si son
el único elemento de cierta clase
53XSL (eXtensible Style Language)
- Sintaxis XML
- Un mismo documento XML puede tener varias hojas
de estilo XSL que lo muestren en diferentes
formatos (HTML, PDF, RTF, VRML, PostScript,
sonido, etc.). - El procesador XML lleva a cabo dos procesos
- Transformación (tecnología XSLT)
- Formateo (tecnología XSLFO)
54XSLT
- A partir del árbol XML fuente se construye un
árbol transformado, el cual puede tener una
estructura significativamente diferente del
original. - Una hoja de estilo XSL consta de una serie de
reglas de transformación. - Cada regla se compone de un patrón (pattern) y
una acción o plantilla (template). - XSLT utiliza el patrón para seleccionar partes de
un documento XML para su transformación. - Al cotejar un patrón con una parte del árbol, se
usa una plantilla para determinar cómo se
transforma esa parte de árbol. - XSLT utiliza expresiones XPath para recorrer un
documento XML y llegar a un nodo determinado.
55XSLT. Espacio de nombres
ltxslstylesheet versión1.0
xmlsxslhttp//www.w3.org/1999/XSL/Transformgt
- Elementos
- xsltemplate contiene los patrones y datos de
transformación. - xslvalue-of se usa para insertar el valor de un
elemento o atributo en la salida resultante de la
hoja de estilos. - xslif
- xslfor-each
- xslapply-templates se usa para aplicar
plantillas que se definen en una hoja de estilos.
56XSLT. Ejemplos
- lt?xml version"1.0" encoding"ISO-8859-1"
standalone"yes"?gt - lt?XML-STYLESHEET type"text/xsl"
href"ejemplo1.xsl" ?gt - ltLIBROSgt
- ltLIBROgt
- ltTITULOgtAutoSketchlt/TITULOgt
- ltAUTOR NACIONALIDAD"Española"gtRamón
Monterolt/AUTORgt - ltPRECIO MONEDA"Euros"gt15.02lt/PRECIOgt
- lt/LIBROgt
- ltLIBROgt
- ltTITULOgtWindows 98lt/TITULOgt
- ltAUTOR NACIONALIDAD"Española"gtJaime de
Yraolagoitialt/AUTORgt - ltPRECIO MONEDA"Pesetas"gt3.250lt/PRECIOgt
- lt/LIBROgt
- ltLIBROgt
- ltTITULOgtWeb Graphicslt/TITULOgt
- ltAUTORgtRon Wodaskilt/AUTORgt
- ltPRECIO MONEDA"Dolares"gt49.95lt/PRECIOgt
- lt/LIBROgt
- ltLIBROgt
Documento XML
57XSLT. Ejemplos
- lt?xml version"1.0" encoding"ISO-8859-1"?gt
- ltxslstylesheet xmlnsxsl"http//www.w3.org/1999/
XSL/Transform"gt - ltxsltemplate match"/"gt
- ltHTMLgt
- ltBODYgt
- lttable border"1"gt
- lttrgtltthgtTitulolt/thgtltthgtAutorlt/thgtltthgtPreci
olt/thgtlt/trgt - ltxslfor-each select"/LIBROS/LIBRO"
order-by" AUTOR"gt - lttrgt
- lttdgtltFONT SIZE"2" COLOR"red"
FACE"Verdana"gt - ltxslvalue-of select"TITULO"/gtlt/FO
NTgtlt/tdgt - lttdgtltFONT SIZE"2" COLOR"blue"
FACE"Verdana"gt - ltxslvalue-of select"AUTOR"/gtlt/FON
Tgtlt/tdgt - lttdgtltFONT SIZE"2" COLOR"green"
FACE"Verdana"gt - ltxslvalue-of select"PRECIO"/gt
- ltxslvalue-of select"PRECIO/_at_MONED
A"/gtlt/FONTgtlt/td - lt/trgt
- lt/xslfor-eachgt
- lt/tablegt
ejemplo1.xsl
58XSLT. Ejemplos
Aplicación de la hoja de estilo ejemplo1.xsl
59- lt?xml version"1.0" encoding"ISO-8859-1"?gt
- ltxslstylesheet xmlnsxsl"http//www.w3.org/1999/
XSL/Transform"gt - ltxsltemplate match"/"gt
- ltHTMLgt
- ltBODYgt
- lttable border"1"gt
- lttrgtltthgtTitulolt/thgtltthgtAutorlt/thgtltthgtPreci
olt/thgtlt/trgt - ltxslfor-each select"/LIBROS/LIBRO"
order-by" AUTOR"gt - ltxslif match".PRECIO/_at_MONEDA
'Dolares'"gt - lttrgt
- lttdgtltFONT SIZE"2" COLOR"red"
FACE"Verdana"gt - ltxslvalue-of
select"TITULO"/gtlt/FONTgtlt/tdgt - lttdgtltFONT SIZE"2" COLOR"blue"
FACE"Verdana"gt - ltxslvalue-of
select"AUTOR"/gtlt/FONTgtlt/tdgt - lttdgtltFONT SIZE"2" COLOR"green"
FACE"Verdana"gt - ltxslvalue-of select"PRECIO"/gt
- ltxslvalue-of select"PRECIO/_at_MON
EDA"/gtlt/FONTgtlt/tdgt - lt/trgt
- lt/xslifgt
ejemplo2.xsl
60XSLT. Ejemplos
Aplicación de la hoja de estilo ejemplo2.xsl
61XSLFO
- Superconjunto de CSS
- Cada uno de los nodos del árbol se trata como un
objeto de formateo, donde cada nodo soporta una
amplia gama de estilos de presentación. - Cuando el procesador XSL procesa un objeto de
formateo, se asigna a un área rectangular en la
superficie de la pantalla. - Las propiedades del objeto determinan qué formato
tiene, junto con los parámetros del área en la
que está asignada.
62XPath
- Con Xpath podemos seleccionar y hacer referencia
a texto, elementos, atributos y cualquier otra
información contenida en un fichero XML. - Su nombre le viene de utilizar una notación de
ruta (path) para navegar a través de la
estructura jerárquica de un documento XML. - XPath opera sobre la estructura lógica de un
documento XML, modelándolo como un árbol de
nodos. - Una expresión Xpath devuelve una lista de
punteros a los elementos que encajan con el
patrón que representa dicha expresión.
63- ltlibrogt
- lttitulogtDos calleslt/titulogt
- ltautorgtPepa Pepolt/autorgt
- ltcapitulo num"1"gt
- La primera calle
- ltparrafogt
- Era una sombría noche del mes de
agosto... - lt/parrafogt
- ltparrafo destacar"si"gt
- Ella, inocente cual
- ltenlace href"http//www.mariposa.com"gtm
ariposalt/enlacegt - que surca el cielo...
- lt/parrafogt
- lt/capitulogt
- ltcapitulo num"2" public"si"gt
- La segunda calle
- ltparrafogt
- Era una oscura noche del mes de
septiembre... - lt/parrafogt
64Ejemplos de expresiones XPath
- /libro/capitulo/parrafo
- referencia a todos los elementos parrafo que
sean hijos de cualquier elemento capitulo que a
su vez sean hijos de cualquier elemento libro que
cuelgue del nodo raíz. - /libro/capitulo/_at_num
- selecciona el atributo num que posean los
elementos capitulo - /libro/capitulo_at_num"1"/parrafo
- referencia todos los elementos parrafo de todos
los elementos capitulo que tengan un atributo
llamado num al cual se le haya asignado el valor
"1" - /libro/capitulo_at_public/
- selecciona todos los elementos hijos de los
elementos capitulo que posean el atributo public - //parrafo//_at_href
- selecciona todos los descendientes de parrafo que
tienen un atributo href - //parrafo/text()
- selecciona el texto de todos los nodos parrafo
65Xpointer (XML Pointer Language)
- Describe cómo apuntar a un elemento de XML. Es
similar a utilizar etiquetas para apuntar a una
parte de los documentos HTML. - Sintaxis
- donde expresión es una expresión Xpath con
algunas propiedades extra.
URIxpointer(expresion)
66XLink(XML Linking Language)
- XLink describe cómo enlazar dos o más recursos.
- Atributos
- type. Valores simple, extended, locator, arc,
resource, title, none - href
- show. Valores replace, new, embed, other, none
- actuate. Valores onLoad, onRequest, other, none
- label
- from
- to
- role
- arcrole
- title
xmlsxlink"http//www.w3.org/XML/XLink/1.0"
67XLink. Ejemplo enlace simple
- ltmi_documento xmlnsxlink"http//www.w3.org/1999/
xlink"gt - ...
- ltenlazar xlinktype"simple"
xlinkhref"http//www.uib.es"gt - xlinklabel"UIB"
- xlinkshow"new"gt
- Este enlace apunta a la pagina de inicio de la
UIB y hace que se visualice en una nueva
instancia del navegador. - lt/enlazargt
- ...
- lt/mi_documentogt
68XLink. Ejemplo enlace extendido
- ltmi_documento xmlnsxlink"http//www.w3.org/1999/
xlink"gt - ...
- ltdirecciones xlinktype"extended"gt
- ltlocator xlinktype"locator" xlinkhref"ht
tp//realmadrid.com" xlinkshow"replace"
xlinkactuate"onRequest"/gt - ltlocator xlinktype"locator" xlinkhref"ht
tp//fcbarcelona.com" xlinkshow"new" xli
nkactuate"onRequest"/gt - ltlocator xlinktype"locator" xlinkhref"ht
tp//athmadrid.com" xlinkshow"replace" x
linkactuate"onRequest"/gt - Los clubes de fútbol de hoy en día...
lt/direccionesgt - ...
- lt/mi_documentogt
69RDF (Resource Description Framework)
- Aplicación de XML para escribir metadatos que
describan recursos Web (cualquier recurso
identificable a través de un URI) de tal manera
que puedan ser intercambiados y procesados por
los ordenadores. - XML permite dotar de estructura a los documentos,
RDF expresa el significado de esa estructura - Tripletas sujeto, verbo y objeto
- (Sujetos) (tienen propiedades) (con ciertos
valores) - (Adelaida Delgado)(es la autora de)(XML y
tecnologías asociadas) - (field 5 in database A) (is a field of type)
(zip code) - Sujeto, verbo y objeto se identifican con URIs
70XHTML
- Versión de HTML conforme a XML
- DTD para XML
- Características
- Existen elementos obligatorios (html, head,
title, body, etc.) - Todas las etiquetas deben tener principio y fin
- Se ha de respetar el anidamiento de etiquetas
- El código ha de estar en minúsculas
- Los valores de atributos han de ir entre comillas
dobles - Servicio de validación en http//validator.w3.org/