Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informáticos en red
XML
Análisis de documentos
Procesadores de XML.
XML Notepad
Ejercicios prácticos
Conceptos básicos
XML: Extensible Mark-up Language (lenguaje de
marcado extensible)
Es un lenguaje orientado a:
La definición de datos de carácter general. Nos
permite definir modelos de datos.
Al compartir modelos de datos se facilita el intercambio
de datos entre sistemas (aplicaciones) heterogéneos.
Crear nuevos lenguajes gracias a sus mecanismos
de extensibilidad. Por ello, se dice que XML es un
metalenguaje (un lenguaje para crear nuevos
lenguajes).
XML
¿Qué es XML?
SGML
XML
HTML
¿Qué es XML?
XML es un sub-conjunto de SGML (Standard
Generalized Mark-up Language)
Más pequeño
Traducciones:
http://www.w3.org/2003/03/Translations/OverviewLang.html#es
XML no es difícil
¿Dónde está la revolución?
Para entender la revolución que plantea XML, hay
que entender las tecnologías circundantes
XSL
XSLT
DTD
Schema
XPATH
Etc.
Es un consorcio de industrias
internacionales, y está participado por MIT
(EEUU), INRA (Francia), y Keio University
(Japón)
XML — ejemplo
<?xml version="1.0"?>
<MEMO>
<TO>Juanma</TO>
<FROM>Camino</FROM>
<CC>Nacho</CC>
<SUBJECT>Capitulo 2</SUBJECT>
<BODY>Empezamos con algo de
codigo XML</BODY>
</MEMO>
Visualización de un archivo XML
Visualización de un archivo XML
Visualización de un archivo XML
XML (ejemplo)
Documento XML:
elemento atributo
<autor nro=2332>
Elliotte Rusty Harold
</autor>
El elemento y sus atributos
Estructura
Lógica = cómo se
estructura el documento
Física = qué contiene el
documento
Prólogo
XML Declaration
Document Type
Declaration
Document Element
Siempre el raíz
Anidamiento de
elementos restantes
Sintaxis
Etiquetas
Apertura/cierre <TAG> Texto </TAG>
Elemento vacío <TAG></TAG> <TAG/>
Atributos <TAG ATRIB=“valor”> Texto
</TAG>
Entidades
Parseadas <!ENTITY PL “poca
luz”> ...
<TERM>Esta planta necesita
&PL;</TERM>
No parseadas <!ENTITY Img SYSTEM
“Img.gif” NDATA GIF>
Predefinidas < <
& &
...
Recomendaciones
Todo contenido estará etiquetado. Toda etiqueta debe estar delimitada por
los símbolos de menor y mayor. Ejemplo: <libro>
Ejemplo:
<?xml version=“1.0” encoding=“UTF-8” standalone=“yes” ?>
XML (Ejemplo...)
<?xml version="1.0" encoding="UTF-8” standalone=“yes”?>
<!-- Ejemplo de Biblioteca -->
<biblioteca>
<libro ISBN="0-596-00292-0">
<titulo>XML in a Nutshell, 2nd Edition</titulo>
<autor>
<nombre>Elliotte Rusty Harold, W. Scott Means</nombre>
<email>elliottscott@oreilly.com</email>
<direccion>1005 Gravenstein Highway North, CA 3472
</direccion>
</autor>
<capitulo nombre="Introduccion">
XML Concepts
<seccion>
<nombre>Introducing XML</nombre>
<contenido>bla bla bla bla...</contenido>
</seccion>
</capitulo>
</libro>
</biblioteca>
¿Qué problemas tiene HTML?
Es un meta-lenguaje de definición de presentación
Se fuerza a tener
Es posible olvidar una estructura
el cierre de alguna consistente
etiqueta
¿Qué ventajas tiene XML?
Separa radicalmente la
información o contenido, de
su presentación o formato
Construyendo
documentos XML
Ejemplo
<libros><autor
pais=“Uruguay”>Leo
Masliah</libros></autor>
<libros><autor
pais=“Uruguay”>Leo
Masliah</autor> </libros>
Reglas y pautas XML
<libros>
<autor pais=“Uruguay”>Leo
Masliah <Ranking=100/></autor>
</libros>
Reglas y pautas XML
Un nombre de elemento, atributo, entidad, etc.,
comienza por una letra, y continúa con letras,
dígitos, guiones, rayas, punto, dos puntos.
<?xml version=“1.0”
encoding=“UTF-8”?>
Sintaxis
<nombres>
<nombre>James</nombre>
<apellido>Britt</apellido>
</nombres>
<persona edad=30><nombre>James
Britt</nombre></persona>
<Sexo=“Masculino”/>
Los Atributos en XML
Atributo
Ejemplo
<?xml version=“1.0”?>
<!-- Aca va el tipo de documento -->
<!DOCTYPE ejemplo [
<!-- Esto es otro comentario -->
<!element Ejemplo (#PCDATA)>
.
.
.
Las entidades en XML
Entidad Carácter
& &
< <
> >
' ‘
" “
Las secciones CDATA
<ejemplo>
<HTML>
<BODY>
Hola, esto es un documento html dentro de
uno XML
</BODY>
</HTML>
</ejemplo>
Ejemplo
Publicación de datos
En diversos formatos (HTML, WML, PDF, etc.) a través de
transformaciones XSLT
Repositorios de datos
Bases de datos nativas XML
Lenguajes de consulta y actualización: XQuery, XQL, XUpdate,
etc.
Etc.
Intercambio de Datos en XML
Los datos son relativamente simples de
leer y editar con un simple editor de texto
HTML
Contenido e interfase gráfica mezclados
Separar contenidos de
presentación
Algunas definiciones
XML - eXtended Mark-up Language
Definición de Documentos
DTD o Schemas
Definición de estilos
XSL=XSLT + XPATH
Enlazado de documentos
XLL=Xlink + Xpointer
Documentos válidos
El documento debe estar “bien formado”
Introducción a XML
Práctica 1
Cree manualmente un archivo XML
llamado “libros.xml” con información
sobre 10 libros relacionados con TI.
Introducción a XML
Problema
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Usando un prefijo
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
Usando un prefijo
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Usando un prefijo
<root
xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3schools.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Namespaces por default
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
<table xmlns="http://www.w3schools.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Un uso práctico
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Ejercicios prácticos
Introducción a XML
Práctica 2