Curso: XML, de los datos a la presentaci - PowerPoint PPT Presentation

Loading...

PPT – Curso: XML, de los datos a la presentaci PowerPoint presentation | free to download - id: 6b9415-ZmQzN



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Curso: XML, de los datos a la presentaci

Description:

Title: PowerPoint Presentation Last modified by: FSC Created Date: 1/1/1601 12:00:00 AM Document presentation format: Presentaci n en pantalla Other titles – PowerPoint PPT presentation

Number of Views:2
Avg rating:3.0/5.0
Slides: 27
Provided by: sareguneNe
Learn more at: http://www.saregune.net
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Curso: XML, de los datos a la presentaci


1
XML
  • Introducción al mundo XML

2
La base de todo HTML
  • Ampliamente utilizado
  • Inventado por Tim Berners-Lee, 1991
  • Objetivos
  • Presentar información enlazada
  • Orientado a personas
  • Es el lenguaje de presentación en la Web
  • Laborioso de procesar por máquinas

3
Carencias semánticas
  • Orientado a la presentación
  • Información en base de datos
  • Tiene sentido en su modelo de datos
  • Una vez formateado se pierde el significado
  • Contexto visual para extraer el significado
  • Acoplamiento de contenido y presentación
  • Screen-scraping para extraer contenido
  • Metatags para añadir significado

4
Llega el XML (I)
  • Limitaciones de HTML
  • HTML está siendo extendido por cada desarrollador
  • Necesidad de un estándar
  • W3C 1996-1998
  • W3C XML Working Group
  • Microsoft, Sun Microsystems, Adobe, IBM,
  • Formato abierto y libre
  • Desarrollado por empresas competidoras!

5
Llega el XML (II)
  • Surgen nuevos lenguajes como WML
  • Adaptar los contenidos

6
Qué es XML?
  • eXtensible Markup Language
  • Estándar W3C para la creación de lenguajes de
    etiquetas
  • Descripción de la información
  • Subconjunto de SGML
  • Etiquetado semántico, no de estilo
  • Gran problema de HTML

7
Componentes de un Documento XML
  • Elementos
  • Delimitados por etiquetas
  • Atributos
  • Contenidos en las etiquetas
  • Entidades
  • Permiten referirnos a elementos externos
  • Componentes avanzados
  • Secciones CDATA y Processing Instructions

8
Normas básicas
  • XML es case sensitive
  • Todos los tags deben cerrarse correctamente.
  • Todos los elementos han de anidarse
    correctamente.
  • La primera línea es la declaración XML
  • lt?xml version1.0?gt
  • Ha de existir siempre un elemento raíz.
  • Los valores de los atributos deben estar
    delimitados por comillas dobles.
  • Hay caracteres que no pueden utilizarse

9
Documento XML
lt?xml version1.0?gt ltcustomer
id"AYX1234"gt ltnamegtChristopherlt/namegt ltaddressgt
nonelt/addressgt ltaccountgt ltidgt1234ADlt/idgt ltsin
cegt1997lt/sincegt ltbalancegt-24,98lt/balancegt lt/acc
ountgt lt/customergt
10
Qué NO es XML?
  • No es un sustituto del HTML
  • Diferentes objetivos no define presentación
  • HTML debería ser un sublenguaje de XML XHTML
  • No es un lenguaje de marcas
  • las marcas las definimos nosotros extensible
  • No describe la estructura
  • Se hace con un DTD

11
Y qué es un DTD?
  • Document Type Definition
  • Descripción lógica de los datos
  • Permite cerrar la estructura del documento
  • Validación de la información
  • Documento bien formado
  • Documento validado
  • Está siendo sustituido por XML Schemas
  • La estructura se define en XML

12
Documento DTD (I)
lt!DOCTYPE CUSTOMER   lt!ELEMENT customer (name,
address, account?, importantcustomer?)gt lt!ATTLIST
customer id CDATA REQUIREDgt lt!ELEMENT name
(PCDATA)gt lt!ELEMENT address (PCDATA)gt lt!ELEMENT
account (id, since, balance)gt lt!ELEMENT id
(PCDATA)gt lt!ELEMENT since (PCDATA)gt lt!ELEMENT
balance (PCDATA)gt lt!ELEMENT importantcustomer
(PCDATA)gt gt
13
Documento DTD (y II)
lt?xml version1.0?gt lt!DOCTYPE customer SYSTEM
customer.dtd"gt ltcustomer id"AYX1234"gt ltnamegtC
hristopherlt/namegt ltaddressgtnonelt/addressgt ltaccou
ntgt ltidgt1234ADlt/idgt ltsincegt1997lt/sincegt ltbal
ancegt-24,98lt/balancegt lt/accountgt lt/customergt
14
XML Schema
  • Diagrama representativo de la estructura
  • Los DTD están limitados
  • Heredados de SGML
  • Soporte pobre para tipos y espacios de nombres
  • No es XML
  • Los Schemata permiten una descripción más rica
    y flexible
  • Incluso rangos de valores de los elementos o
    atributos

15
Documento XML Scherma
lt?xml version"1.0"?gt ltxsdschema
xmlnsxsd"http//www.w3.org/2001/XMLSchema"gt
ltxsdelement name"customer" type"CustomerType"/gt
ltxsdcomplexType name"CustomerType"gt
ltxsdsequencegt ltxsdelement name"name"
type"xsdstring"/gt ltxsdelement
name"address" type"xsdstring"/gt
ltxsdelement name"account" type"AccountType
minOccurs"0"/gt ltxsdelement
name"importantcustomer" type"YesNoType
minOccurs"0" default"no"/gt
lt/xsdsequencegt ltxsdattribute name"id"
type"xsdstring" use"required"/gt
lt/xsdcomplexTypegt ltxsdcomplexType
name"AccountType"gt ltxsdsequencegt
ltxsdelement name"id" type"xsdstring"/gt
ltxsdelement name"since" type"xsdgYear"/gt
ltxsdelement name"balance" type"xsddecimal"/gt
lt/xsdsequencegt lt/xsdcomplexTypegt
ltxsdsimpleType name"YesNoType"gt
ltxsdrestriction base"xsdstring"gt
ltxsdenumeration value"yes"/gt
ltxsdenumeration value"no"/gt
lt/xsdrestrictiongt lt/xsdsimpleTypegt lt/xsdschem
agt
16
Espacios de nombres
  • También conocidos como Namespaces
  • Similar los de C/C y los paquetes de Java
  • Puede que coincidan nombres de elementos en
    diferentes esquemas
  • A través de namespaces podemos identificar
    unívocamente el significado de los elementos
  • Se definen a través de una URI (normalmente una
    URL Web)

17
Ejemplo de Namespaces
ltmycustcustomer id"AYX1234" xmlnsmycust"http
//www.captiva.es/schema/customer"gt
ltmycustnamegtChristopherlt/mycustnamegt
ltmycustaddressgtnonelt/mycustaddressgt
ltmycustaccountgt ltmycustidgt1234ADlt/mycustidgt
ltmycustsincegt1997lt/mycustsincegt
ltmycustbalancegt-24,98lt/mycustbalancegt
lt/mycustaccountgt lt/mycustcustomergt
18
XSL
  • Podemos transformar los documentos XML a otros
    formatos
  • Basados en XML
  • O no basados en XML binarios y texto
  • Se definen dos lenguajes (XML)
  • XSL Transformation (XSLT)
  • XSL Formating Objects (XSLFO)

19
XSLT
  • Se trata de un lenguaje que define un conjunto de
    comandos para transformar los documentos
  • Selección de la información
  • Operaciones condicionales
  • Bucles
  • Combinación de documentos

20
Xpath (1.0)
  • Lenguaje de selección
  • Utilizado en XSL para seleccionar nodos
  • Incluye funciones
  • Se pueden extender en el transformador XSLT
    (exslt)

/catalog/cdpricegt10.80/price
21
Tecnologías suplementarias (I)
  • W3C Document Object Model (DOM)
  • Se trata de una API para acceder y manejar nodos
    (elementos) XML.
  • Se puede modificar documentos XML desde una
    aplicación.
  • Se carga el documento completo y se crea un
    estructura de árbol jerárquica en memoria con
    todos los elementos.
  • Este árbol tiene un nodo raíz único que contiene
    el resto de nodos.

22
Tecnologías suplementarias (II)
  • W3C Simple API for XML (SAX)
  • No se crea un árbol en memoria
  • Funciona en base a eventos
  • Cuando se encuentran etiquetas (principio y
    final)
  • Útil para documentos que no van a modificarse
  • Es una recomendación pero no estándar W3C

23
Tecnologías suplementarias (y III)
  • SAX vs. DOM
  • DOM puede sustentarse en SAX
  • SAX es más rápido que DOM
  • SAX requiere menos memoria
  • DOM nos permite acceder a los nodos del documento
    y modificarlos

24
Soporte en Java (I)
  • Java API for XML Processing (JAXP)
  • Define interfaces para las API
  • DOM
  • org.w3c.dom
  • SAX
  • org.w3c.sax, org.w3c.sax.helpers, org.w3c.sax.ext
  • XSL
  • javax.xml.transform
  • Librerías de soporte independientes
  • Interfaces para parsers
  • javax.xml.parsers, javax.xml.transform

25
Soporte en Java (y II)
  • Xerces (javax.xml.parsers)
  • Origen XML4J de IBM
  • Proyecto Apache (OpenSource)
  • Implementa DOM y SAX
  • Xalan (javax.xml.transform)
  • Origen LotusXSL de XSL
  • Proyecto Apache (!)
  • Utilizado para transformaciones

26
Referencias
  • XML
  • Aquí está todo http//www.w3.org/XML/
  • XML-Schema http//www.w3.org/XML/Schema
  • XSL
  • XSLT http//www.w3.org/TR/xslt
  • Xpath http//www.w3.org/TR/xpath
  • exslt http//www.jenitennison.com/xslt/exslt/func
    tions/
  • XML y Java
  • Sun XML http//java.sun.com/xml/
  • Xerces, Xalan y más cosas http//xml.apache.org/
  • Tutoriales
  • De casi todo http//www.w3schools.com/
About PowerShow.com