• No se han encontrado resultados

Introducción a XML. Simon Pickin Ingeniería Telemática. Basado en una presentación de M. Carmen Fernández Panadero

N/A
N/A
Protected

Academic year: 2021

Share "Introducción a XML. Simon Pickin Ingeniería Telemática. Basado en una presentación de M. Carmen Fernández Panadero"

Copied!
12
0
0

Texto completo

(1)

copyright [email protected] Introducción a XML 1

Introducción a XML

Introducción a XML

Simon Pickin

Ingeniería Telemática

Basado en una presentación de M. Carmen Fernández Panadero

<[email protected]>

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.

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

Problemas de SGML

• Complejidad

XML = +80%

-20%

Qué es XML

:

Un poco de historia

(2)

copyright [email protected]

Introducción a XML 3

• 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.

Qué es XML

Valor añadido

copyright [email protected]

Introducción a XML 4

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 (utilizaXPath) + XSL-FO’s : Hojas de estilo

XLL= XLink + XPointer (utilizaXpath) : Hiperenlaces

Qué es XML:

(3)

copyright [email protected] Introducción a XML 5

Qué es XML:

¿Qué es un documento?

C o m porta m ie n to Hi per e nl aces P re sen ta ci ón Es tr u ct u ra L ó g ic a 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

)

Marcado no

declarativo

Marcado

declarativo

6

Cómo es XML: (

XML vs HTML)

<?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>

<html> <dl>

<dt>Hot Cop

<dd>by Jacques Morali,

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> </ul>

</dl>

</html> Hot Cop

by Jacques Morali, Henry Beolo, and Victor Wills •producer: Jacques Morali

•publisher: PolyGramRecords •length: 6:20

•written: 1978 •artist: Village People

(4)

copyright [email protected]

Introducción a XML 7

Representación en forma de árbol

nodo raíz

title composer producer publisher length year artist song

<?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>

Cómo es XML

8

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

<!ELEMENT nacimiento EMPTY> <!ATTLIST nacimiento

dia CDATA #REQUIRED 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>

Representación en forma de árbol

nodo raíz John Smith nombre dia="21" mes="Enero" anio="1969" nacimiento Avda. Universidad, 30 calle Leganés poblacion Madrid provincia 28911 cpostal direccion varon persona Nodos de elementos Nodos de atributos Nodos hoja (contenido)

(5)

copyright [email protected] Introducción a XML 9 <?xml version=‘1.0’?> <persona> <nombre>John Smith</nombre>

<nacimiento dia=’21’ mes=‘enero’ anio=‘1969’/> <direccion>

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

Tag de comienzo de elemento

Tag de final de elemento Elemento vacío Atributo Valor de atributo Declaración XML

Cómo es XML

copyright [email protected] Introducción a XML 10

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

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” standalone=“yes”?> <foo>

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

<?xml version=“1.0”?>

<!DOCTYPEadvert SYSTEM“http://www.foo.org/adv.dtd”> <foo>

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

(6)

copyright [email protected]

Introducción a XML 11

Compartir información:

• Definir una estructura

DTD’s

(Document Type Definition)

– XML

Schemas

• Hacerla pública

– XML

Namespaces

Cómo es XML:

Compartir información

copyright [email protected] Introducción a XML 12

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

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

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

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

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

Secuencia Alternancia 0 o 1 elementos

1o más elementos 0 o más elementos

*

Cómo es XML (Estructura):

(7)

copyright [email protected]

Introducción a XML 13

Cómo es XML (Hojas de Estilo)

XSL:

X

ML

S

tylesheet

L

anguage

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

XSL

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

copyright [email protected] Introducción a XML 14

XSL

Lenguaje de

Transformación

(XSLT)

Vocabulario de

Formato

(XSL-FO)

Pattern

Template

Objetos de

formato

Propiedades

Atributo:

Valor:

(Son uds tipográficas ej character) (Localización de patrones con XPATH)

(Ej: text-decoration)

(Ej:underline) (Aplicación de una plantilla al patrón seleccionado)

Cómo es XML (Hojas de Estilo)

(8)

copyright [email protected] Introducción a XML 15

Transform

aci

ón

XML

Sourc e Tree

XML

Resu lt Tree

XSLT

Tran sform .

XSL

Tran sform . Styled flow objec t

Fo

rm

at

o

• Template-rules

– Pattern – Template • Formatting Obj • Formatting Prop

Cómo es XML (Hojas de Estilo)

XSL:

Transformación + Formato

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>

Este es mi primer documento </p>

</HTML>

xt fichero.xml fichero.xsl fichero.html

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

Cómo es XML (Hojas de Estilo)

(9)

copyright [email protected]

Introducción a XML 17

• 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

Cómo es XML (Hojas de Estilo)

Beneficios de XSL

copyright [email protected]

Introducción a XML 18

Cómo es XML (Hojas de Estilo)

(10)

copyright [email protected]

Introducción a XML 19

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

dicho documento

XLL

= XLink + XPointer (+ XPath)

Cómo es XML (Enlaces)

XLL: XML Linking Language

copyright [email protected] Introducción a XML 20

• “Alias”

• Gestión de enlaces

• Enlaces multidireccionales

• Un origen y varios destinos

• Enlaces agregados

(Varios orígenes un sólo destino)

• Transclusión

• Atributos

Cómo es XML (Enlaces)

(11)

copyright [email protected] Introducción a XML 21 C o m porta m ie n to Hi per e nl aces P re sen ta ci ón Es tr u ct u ra L ó g ic a XML XSL XLL Java JavaScript DOM SAX

Orientado a objetos

(ej:DOM)

• API que proporciona acceso al documento completo

• Se construye un árbol en memoria con la jerarquía de elementos

Orientado a eventos

(ej:SAX)

• El documento se procesa de manera secuencial. • Cada elemento en el flujo de datos dispara un evento.

En las aplicaciones con restricciones sobre la

memoria se suele utilizar el modelo

orientado a eventos (ej. SAX)

Cómo es XML

Procesamiento

copyright [email protected] Introducción a XML 22

Conclusiones

• Estructura de datos y mucho más

• No reemplazará a HTML

• Ya existen bastantes herramientas

• Cada comunidad un estándar.

(12)

copyright [email protected] Introducción a XML 23

Referencias

– http://www.w3c.org/

– http://xml.coverpages.org/

– http://www.xml.org

– http://www.xml.com

– http://www.oasis_open.org/cover

– http://www.gca.org

– http://www.xmlsoftware.com

– http://www.wdvl.com/xml

– http://www.xmlshockwave.com

– http://www.alphaworks.ibm.com

– http://www.microsoft.com/xml

http://www.it.uc3m.es/~xml

Referencias

Documento similar

En efecto, la realidad se presenta a la conciencia espontánea y cotidiana como si el dinero fuera el gran patrón que regula al trabajo humano que es quien crea los valores. La

Pero como &#34;el fin egoísta en su rela- ción y condicionado por la generalidad constituye un sistema de correspondencia total, puesto que la sub- sistencia y el bienestar

El resultado del producto vectorial de dos vectores es otro vector perpendicular a estos vectores, cuya dirección y sentido se obtienen mediante la regla de la mano de derecha. =

n La aplicación disciplinada de principios, métodos y herramientas de ingeniería, ciencia y matemáticas para la producción económica de software de calidad [Humphrey, 1989].

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Se concluye con el dibujo de planos arquitectónicos Docente guía y absuelve consulta a los estudiantes de trabajo sobre el avance de los planos de arquitectura.. -

Se puede suponer de este modo que XML constituye la capa más baja dentro del nivel de aplicación, sobre el que se puede montar cualquier estructura de tratamiento de

Now the numerical solution is possible today if suitable models are used to solve the equations and simulate the turbulence eect and boundary layer.... 8.5.- Parabolic models of