Upload
narcesy
View
92
Download
0
Embed Size (px)
Citation preview
XML
Con todas las tecnologías relacionadas, representa una manera distinta de hacer las cosas,
más avanzada, cuya principal novedad consiste en permitir compartir los datos con los que
se trabaja a todos los niveles, por todas las aplicaciones y soportes. Así pues, el XML juega un
papel importantísimo en este mundo actual, que tiende a la globalización y la compatibilidad
entre los sistemas, ya que es la tecnología que permitirá compartir la información de una
manera segura, fiable, fácil. Además, XML permite al programador y los soportes dedicar sus
esfuerzos a las tareas importantes cuando trabaja con los datos, ya que algunas tareas
tediosas como la validación de estos o el recorrido de las estructuras corre a cargo del
lenguaje y está especificado por el estándar, de modo que el programador no tiene que
preocuparse por ello.
Vemos que XML no está sólo, sino que hay un mundo de tecnologías alrededor de él, de
posibilidades, maneras más fáciles e interesantes de trabajar con los datos y, en definitiva,
un avance a la hora de tratar la información, que es en realidad el objetivo de la informática
en general. XML, o mejor dicho, el mundo XML no es un lenguaje, sino varios lenguajes, no es
una sintaxis, sino varias y no es una manera totalmente nueva de trabajar, sino una manera
más refinada que permitirá que todas las anteriores se puedan comunicar entre si sin
problemas, ya que los datos cobran sentido. Todo esto lo veremos con calma en
la Introducción a XML.
XML es interesante en el mundo de Internet y el e-bussiness, ya que existen muchos
sistemas distintos que tienen que comunicarse entre si, pero como se ha podido imaginar,
interesa por igual a todas las ramas de la informática y el tratamiento de datos, ya que
permite muchos avances a la hora de trabajar con ellos.
Así pues, os recomendamos seguir esta lectura en la introducción a XML. A lo largo de los
siguientes capítulos, vamos a ver algunas características importantes de la tecnología que
nos permitirán comprender mejor el mundo XML y cómo soluciona nuestros problemas a la
hora de trabajar con los datos.
XML son las siglas de Extensible Markup Language, una
especificación/lenguaje de programación desarrollada por el W3C. XML es una
versión de SGML, diseñado especialmente para los documentos de la web.
Permite que los diseñadores creen sus propias etiquetas, permitiendo la
definición, transmisión, validación e interpretación de datos entre aplicaciones y
entre organizaciones.
xml permite realizar funciones que no pueden realizarse con
EJEMPLOS DE XML
Aplicación XML
Aplicación no significa un programaque utilice XML.Aplicación
significa el uso de XMLpara un dominio específico.
Aplicación XML =Lenguaje de marcado = Vocabulario
DocBookChemical Markup LanguageKeyhole Markup
LanguageMathematical Markup LanguageOpen DocumentOpen
XML FormatScalable Vector GraphicsSystems Byology Markup
Language
Chemical Markup Language• Estructura química de moléculas•
Reacciones químicas• Información de espectros y análisis• Datos
de química computacional• Datos cristalografía y materiales
<?xml version="1.0" ?><cml
xmlns="http://www.xml-cml.org/schema/cml2/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance"
xsi:schemaLocation="http://www.xml-
cml.org/schema/cml2/core/cmlCore.xsd"><molecule
title="Water"> <atomArray> <atom id="a1" elementType="H"
hydrogenCount="0" /> <atom id="a2" elementType="O"
hydrogenCount="2" /> <atom id="a3" elementType="H"
hydrogenCount="0" /> </atomArray> <bondArray> <bond
atomRefs2="a1 a2" order="1" /> <bond atomRefs2="a2 a3"
order="1" /> </bondArray></molecule></cml>
<?xml version="1.0" standalone="no"?><!DOCTYPE book
PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"><boo
k lang="es" id="simple_libro"> <title>Un libro muy simple</title>
<chapter id="capitulo_1"> <title>Capitulo 1</title> <para>Hola
mundo!</para> <para>¡Yo espero que tu día sea bueno!</para>
</chapter> <chapter id="capitulo_2"> <title>Capitulo 2</title>
<para>Hola otra vez, mundo!</para> </chapter></book>
<?xml version="1.0" standalone="no"?><!DOCTYPE article
PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"><arti
cle lang="es"> <title>Creando Documentación Técnica con
DocBook</title> <articleinfo> <author>
<firstname>Leonardo</firstname>
<surname>Caballero</surname> </author> </articleinfo>
<section id="art-intro"> <title>Introducción</title>
<para>DocBook es un aplicación del estándar SGML/XML e
incluye una DTD propia y que se utiliza de manera más
destacada el área de la documentación técnica. </para>
</section></article>
<?xml version="1.0" encoding="UTF-8"?><kml
xmlns="http://www.opengis.net/kml/2.2"><Document><Placemar
k> <name>New York City</name> <description>New York
City</description> <Point> <coordinates>-
74.006393,40.714172,0</coordinates>
</Point></Placemark></Document></kml>
Mathematical Markup Language• XHTML + MathML•
Intercambio de información: Maple, Matlab, etc.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE math
PUBLIC "-//W3C//DTD MathML 2.0//EN"
"http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"><math
mode="display" xmlns="http://www.w3.org/1998/Math/MathML">
<mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mo
form="prefix">−<!-- − --></mo> <mi>b</mi>
<mo>±<!-- ± --></mo> <msqrt> <msup>
<mi>b</mi> <mn>2</mn> </msup>
<mo>−<!-- − --></mo> <mn>4</mn>
<mo>⁢<!-- ⁢ --></mo> <mi>a</mi>
<mo>⁢<!-- ⁢ --></mo> <mi>c</mi>
</msqrt> </mrow> <mrow> <mn>2</mn> <mo>⁢<!--
⁢ --></mo> <mi>a</mi> </mrow> </mfrac>
</mrow></math>
Otro ejemplo
Veamos un ejemplo muy sencillo de un pequeño lenguaje de etiquetas para definir documentos FAQ:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE FAQ SYSTEM "FAQ.DTD"><FAQ><INFO>
<TITULO> WINDOWS98? SOLO SI ME OBLIGAN! </TITULO><AUTOR> Fernando Damián Lorenzo García </AUTOR><EMAIL> [email protected] </EMAIL><VERSION> 1.0 </VERSION><FECHA> 20.MAYO.99 </FECHA></INFO><PART NO="1"><Q NO="1"><QTEXT>¿Por qué tengo que instalar W95?</QTEXT><A> A mi también me parece una buena pregunta.</A></Q><Q NO="2"><QTEXT>Y de que me vale?</QTEXT><A>Otra ingeniosa pregunta.</A></Q></PART></FAQ>
Para el lenguaje de marcas mostrado arriba tenemos el siguiente DTD: <!ELEMENT FAQ (INFO, PART+)>
<!ELEMENT INFO (TITULO, AUTOR, EMAIL?, VERSION?, FECHA?)><!ELEMENT TITULO (#PCDATA)><!ELEMENT AUTOR (#PCDATA)><!ELEMENT EMAIL (#PCDATA)><!ELEMENT VERSION (#PCDATA)><!ELEMENT FECHA (#PCDATA)><!ELEMENT PART (Q+)><!ELEMENT Q (QTEXT, A)><!ELEMENT QTEXT (#PCDATA)><!ELEMENT A (#PCDATA)><!ATTLIST PART NO CDATA #IMPLIED TITLE CDATA #IMPLIED><!ATTLIST Q NO CDATA #IMPLIED>
Veamos ahora un ejemplo de código XML para una librería virtual: <?xml version="1.0"?>
<libro><titulo> Cien años de soledad </titulo><disponible tiempo="24" unidad="horas"/><autor> Gabriel García Márquez </autor><formato> Rústica </formato><publicacion>1967 </publicacion><precio cantidad="9.99" moneda="euro"/><descuento cantidad="5"/><enlacelibro href="/exec/ISBN/84-473-0619-4"/></libro>
Su DTD correspondiente: <!ELEMENT autor ( #PCDATA ) >
<!ELEMENT descuento EMPTY ><!ATTLIST descuento cantidad CDATA #REQUIRED ><!ELEMENT disponible EMPTY ><!ATTLIST disponible tiempo CDATA #REQUIRED ><!ATTLIST disponible unidad CDATA #REQUIRED ><!ELEMENT enlacelibro EMPTY ><!ATTLIST enlacelibro href CDATA #REQUIRED ><!ELEMENT formato ( #PCDATA ) ><!ELEMENT libro ( titulo | disponible | autor | formato | publicacion | precio | descuento | enlacelibro )* ><!ELEMENT precio EMPTY ><!ATTLIST precio cantidad CDATA #REQUIRED ><!ATTLIST precio moneda CDATA #REQUIRED ><!ELEMENT publicacion ( #PCDATA ) ><!ELEMENT titulo ( #PCDATA ) >
COMPONENTES DE XML
Un sistema XML típico consta de tres tipos de archivos:
Los datos XML, que son sus datos, más las etiquetas XML que describen
el significado y la estructura de los datos.
Los esquemas XML, que definen las reglas de lo que puede y no puede
haber en sus archivos de datos. Por ejemplo, un esquema podría servir para
asegurarse de que los usuarios no pueden escribir texto en un campo de
fecha.
Las transformaciones XML, que permiten utilizar los datos en diversos
programas o archivos. Por ejemplo, una transformación podría agregar los
datos relativos a las ventas a un libro de trabajo, mientras que otra
transformación podría insertar la misma información en un documento.