PDF de programación - Introducción a XML

Imágen de pdf Introducción a XML

Introducción a XMLgráfica de visualizaciones

Publicado el 5 de Junio del 2020
83 visualizaciones desde el 5 de Junio del 2020
622,2 KB
25 paginas
Creado hace 14a (13/12/2005)
Introduccióón a XML
n a XML
Introducci

M. Carmen Fernández Panadero

<mcfp@it.uc3m.es>

copyright
mcfp@it.uc3m.es

Introducción a XML

1

Objetivos

• Familiarizarse con conceptos y herramientas

básicas de XML

• Conocer la estructura de un documento XML
• Ser capaz de diseñar y comprender un DTD
• Ser capaz de construir un documento XML
• Ser capaz de transformar y dar formato a

documentos XML utilizando hojas de estilo
XSLT

copyright
mcfp@it.uc3m.es

Introducción a XML

2

Índice

• ¿Qué es XML?

– Diferencias con HTML y SGML
– Definición

• ¿Cómo es XML?
– Representación
– Tipos de documentos
– DTDs

• Hojas de estilo (XSLT)
• Enlaces XLL (XLink y XPath)
• Procesamiento (DOM y SAX)
• Conclusiones

copyright
mcfp@it.uc3m.es

Introducción a XML

3

Qué es XML:
Un poco de historia

Problemas de HTML
• Extensibilidad
• Estructura lógica

Intercambio de datos
• Reutilización de datos
• Gestión de enlaces rotos.
• Etc
Beneficios de HTML
• Simple
• No requiere de herramientas

especiales
• Extendido
• Papel importante en

crecimiento de internet.

Problemas de SGML
• Complejidad
Beneficios de SGML
• Reutilización de los datos
• Longevidad de la información


Integridad y mayor control
sobre los datos.

• Permite compartir información
• Portable
• Flexible

XML = +80% -20%

Qué es XML
Valor añadido

• Permite almacenar cualquier tipo de información estruct.
• Comprensible por máquinas y por humanos.


Independiente de:
– Lenguajes de programación o
– Plataformas software.

• Permite validar los documentos
• Distribución: documento, sw que lo valida, hoja de estilo

y resultado final pueden estar en distintas máquinas

• Herramientas gratuitas (validación, transformación, etc.)
• Lenguajes específicos para diferentes industrias.
•• Estandar

Estandar abierto y ampliamente difundido.
abierto y ampliamente difundido.
copyright
mcfp@it.uc3m.es

Introducción a XML

5

Qué es XML:
(EXtended Markup Language)

• Lenguaje de definición de lenguajes de marcado

– Metalenguaje
– Define lenguajes de marcado por medio de DTD’s

(Document Type Definition)

– Estandarizado por el w3c (Recommendation 10-Feb- 1998)
– No es una aplicación de SGML sino una versión reducida

(+80% beneficios -20% complejidad)

• Conjunto de especificaciones

– XML (Estructura de los datos)
– XSL = XSLT (utiliza XPath) + XSL-FO’s : Hojas de estilo
– XLL = XLink + XPointer (utiliza Xpath) : Hiperenlaces

copyright
mcfp@it.uc3m.es

Introducción a XML

6

Qué es XML:
¿Qué es un documento?

Marcado no
declarativo

Marcado
declarativo

E
s
t
r
u
c
t
u
r
a
L
ó
g
i
c
a

P
r
e
s
e
n
t
a
c
i
ó
n

H
i
p
e
r
e
n
l
a
c
e
s

C
o
m
p
o
r
t
a
m
i
e
n
t
o

XML XSL XLL

Java

JavaScript

• XML: Intercambio de Información
• XML+XSL: Formato de publicación indep
• XML+XSL+XLL: Navegación
• XML+XSL+XLL+ script: DXML (aplicación)

copyright
mcfp@it.uc3m.es

Introducción a XML

7

Cómo es XML: (XML vs HTML)

<html>
<dl>
<dt>Hot Cop
<dd>by Jacques Morali,

</ul>

</dl>
</html>

Henry Beolo, and Victor Wills

<ul>

<li>producer: Jacques Morali </li>
<li>publisher: PolyGramRecords</li>
<li>length: 6:20</li>
<li>written: 1978 </li>
<li>artist: Village People<li>

<?xml version='1.0'?>
<song>

<title>Hot Cop</title>
<composer> Jacques Morali</composer>
<composer> Henry Beolo </composer>
<composer> Victor Wills </composer>
<producer> Jacques Morali </producer>
<publisher> PolyGram </publisher>
<length> 6:20 </length>
<year> 1978 </year>
<artist> Village People </artist>

</song>

Hot Cop
by Jacques Morali, Henry Beolo, and Victor Wills

•producer: Jacques Morali
•publisher: PolyGramRecords
•length: 6:20
•written: 1978
•artist: Village People

8

Cómo es XML

Representación en forma de árbol

song

nodo raíz

title

composer

producer

publisher

length

year

artist

<?xml version='1.0'?>
<song>

<title>Hot Cop</title>
<composer> Jacques Morali</composer>
<composer> Henry Beolo </composer>
<composer> Victor Wills </composer>
<producer> Jacques Morali </producer>
<publisher> PolyGram </publisher>
<length> 6:20 </length>
<year> 1978 </year>
<artist> Village People </artist>

</song>

copyright
mcfp@it.uc3m.es

Introducción a XML

9

Cómo es XML

Representación en forma de árbol

persona

nodo raíz

nombre

nacimiento

direccion

varon

John Smith

dia="21"

mes="Enero"

anio="1969"

calle

poblacion

provincia

Avda. Universidad, 30

Leganés

Madrid

cpostal

28911

Nodos de elementos

Nodos hoja (contenido)

Nodos de atributos

<!ELEMENT persona (nombre, nacimiento?, direccion+, (varon|hembra))>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT nacimiento EMPTY>
<!ATTLIST nacimiento

CDATA #REQUIRED
dia
mes CDATA #REQUIRED
anio
CDATA #REQUIRED>

<!ELEMENT direccion (calle,poblacion,provincia, cpostal)>
<!ELEMENT calle (#PCDATA)>
<!ELEMENT poblacion (#PCDATA)>
<!ELEMENT provincia (#PCDATA)>
<!ELEMENT cpostal (#PCDATA)>
<!ELEMENT varon EMPTY>
<!ELEMENT hembra EMPTY>

10

Cómo es XML

<?xml version=‘1.0’?>
<persona>

Declaración XML

Tag de comienzo de elemento
<nombre>John Smith</nombre>
<nacimiento dia=’21’ mes=‘enero’ anio=‘1969’/>
<direccion>

Valor de atributo

Atributo

<calle>Avda. Universidad, 30</calle>
<poblacion>Leganes</poblacion>
<provincia>Madrid</provincia>
<cpostal>28905</cpostal>

</direccion>
<varon/>

</persona>

Elemento vacío

Tag de final de elemento

copyright
mcfp@it.uc3m.es

Introducción a XML

11

Cómo es XML:
Tipos de documentos

Documentos bien formados (Well-formed XML)

• Cumplen reglas de sintaxis de XML, (estructuras anidadas

correctas, etc.)

• no tiene porqué cumplir una estructura predefinida

<?xml version=“1.0” standalone=“yes”?>
<bar>...<blort/>...</bar>

<foo>
</foo>

Documentos válidos (Valid xml)
• Tienen que ser bien formados
• Cumple una estructura predefinida (DTD)
• El parser es el encargado de comprobar la validez del documento

<?xml version=“1.0”?>
<!DOCTYPE advert SYSTEM “http://www.foo.org/adv.dtd”>

<bar>...<blort/>...</bar>

Introducción a XML

12

<foo>
</foo>

copyright
mcfp@it.uc3m.es

Cómo es XML:
Compartir información

Compartir información:
• Definir una estructura

– DTD’s (Document Type Definition)
– XML Schemas
• Hacerla pública

– XML Namespaces

copyright
mcfp@it.uc3m.es

Introducción a XML

13

Cómo es XML (Estructura):
DTD (Document Type Definition)

<CONTACT>

<NAME>Roger Kaplan</NAME>
<PHONE>555-5555</PHONE>

</CONTACT>

Secuencia

Alternancia

0 o 1 elementos

0 o más elementos

*

<!ELEMENT CONTACT (NAME, (PHONE | EMAIL), ADDRESS?)>

<!ELEMENT NAME (#PCDATA)>
<!ELEMENT EMAIL (#PCDATA)>
<!ELEMENT PHONE (#PCDATA)>

1o más elementos

<!ELEMENT ADDRESS (STREET+, CITY, STATE, ZIP, COUNTRY?)

<!ELEMENT STREET (#PCDATA)>
<!ELEMENT CITY (#PCDATA)>
<!ELEMENT STATE (#PCDATA)>
<!ELEMENT ZIP (#PCDATA)>
<!ELEMENT COUNTRY (#PCDATA)>

Introducción a XML

14

copyright
mcfp@it.uc3m.es

Cómo es XML (Hojas de Estilo)
XSL: XML Stylesheet Language

XSL = XSLT + XSL-FO’s (+ XPath)

La especificación de XSL consta de dos partes:

– XSLT: transformación inicial a otro modelo

estructural (utiliza XPath)

– XSL-FO: aplicación de formato

XSLT utiliza otro lenguaje:

– XPath: Mecanismo de localización capaz de

direccionar los elementos dentro de las estructura del
documento

copyright
mcfp@it.uc3m.es

Introducción a XML

15

Cómo es XML (Hojas de Estilo)
XSL: XML Stylesheet Language

Lenguaje de

Transformación

(XSLT)

XSL

Vocabulario de

Formato
(XSL-FO)

Pattern

(Localización de patrones con XPATH)

Template

(Aplicación de una plantilla
al patrón seleccionado)

Objetos de

formato

(Son uds tipográficas ej character)

Propiedades Atributo:

(Ej: text-decoration)

Valor:

(Ej:underline)

copyright
mcfp@it.uc3m.es

Introducción a XML

16

Cómo es XML (Hojas de Estilo)
XSL: Transformación + Formato

S o urce Tree

XML

Transfor m .
XSLT

R esult Tree

XML

Transfor m .
XSL

Styled
flo w o bject

T
r
a
n
s
f
o
r
m
a
c
i
ó
n

F
o
r
m
a
t
o

• Template-rules

– Pattern
– Template

• Formatting Obj
• Formatting Prop

copyright
mcfp@it.uc3m.es

Introducción a XML

17

Cómo es XML (Hojas de Estilo)
XSL plantillas (template-rules)

Queremos convertir el fichero document.xml en el fichero html que se

muestra a continuación usando una hoja de estilo.

<?xml version=‘1.0’?>
<document>

Este es mi primer documento

</document>

<HTML>
<p>

</p>
</HTML>

Este es mi primer documento

<xsl:template match = “document”>
<HTML>
<p>
<xsl:apply-templates/>
</p>
</HTML>
</xsl:template>

xt fichero.xml fichero.xsl fichero.html

Cómo es XML (Hojas de Estilo)
Beneficios de XSL

• Imprescindible para presentar información:

XML no tiene información de formato

• Beneficios hojas de estilo:

– Centralizar la forma de presentación
– Separar la estructura del contenido

• Reutilizar datos
• Diferentes formatos de salida
• Uniformizar el estilo de presentación
• Separar la creación de contenido
• Estilo declarativo vs procedural

copyright
mcfp@it.uc3m.es

Introducción a XML

19

Cómo es XML (Hojas de Estilo)
Beneficios de XSL

copyright
mcfp@it.uc3m.es

Introducción a XML

20

Cómo es XML (Enlaces)
XLL: XML Linking Language

XLL = XLink + XPointer (+ XPath)

Consta de dos especificaciones

– XLink: define la forma en la que los documentos

deben enlazarse

– XPointer: Describe como se debe apuntar a un

lugar específico e un determinado documento XML
(utiliza XPath)
XLink determina el documento que se va a
enlazar y XPointer marca el lugar exacto de

copyright
mcfp@it.uc3m.es

dicho documento
Introducción a XML

21

Cómo es XML (Enlaces)
Beneficios de XLL

• “Alias”
• Gestión de enlaces
• Enlaces multidireccionales
• Un origen y varios destinos
• Enlaces agregados

(Varios orígenes un sólo destino)

• Transclusión
• Atributos

copyright
mcfp@it.uc3m.es

Introducción a XML

22

E
s
t
r
u
c
t
u
r
a
L
ó
g
i
c
a

P
r
e
s
e
n
t
a
c
i
ó
n

DO

M

SAX

H
i
p
e
r
e
n
l
a
c
e
s

C
o
m
p
o
r
t
a
m
i
e
n
t
o

Cómo es XML
Proce
  • Links de descarga
http://lwp-l.com/pdf17708

Comentarios de: Introducción a XML (0)


No hay comentarios
 

Comentar...

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

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

Puedes registrarte o validarte desde aquí.

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