http://www.ibm.com/developerWorks
Introducción a XML
Publicado originalmente en inglés por IBM developerWorks
http://www.ibm.com/developerWorks
Traducido por Gratiniano Lozano para
http://www.javahispano.org
Tabla de contenidos
Si está viendo este documento online, puede pulsar sobre los tópicos de abajo para ver cada sección.
1. Acerca de este tutorial. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. ¿Qué es XML? . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Reglas de los documentos XML.. . . . . . . . . . . . . . . . . . . . . . . . 7
4. Definir el contenido de un documento. . . . . . . . . . . . . . . . . . 13
5. Interfaces de programación XML . . . . . . . . . . . . . . . . . . . . . . .20
6. Estándares XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7. Casos de estudio . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . 29
8. Anuncios y recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Introducción a XML
Pagina 1de 35
http://www.javahispano.org
Sección 1. Acerca de este tutorial
¿Debería realizar este tutorial?
Este tutorial, recientemente revisado, discute lo que es XML, por qué fue desarrollado y como
está definiendo el futuro del comercio electrónico. Llendo más lejos, echa un vistazo a diversos
estándares XML e interfaces de programación, muestra cómo se puede empezar con esta
tecnología y describe cómo un par de compañías han construido soluciones basadas en XML
para simplificar y agilizar sus negocios.
En este tutorial, usted aprenderá:
• Porqué fue creado XML.
• Las reglas de los documentos XML.
• Cómo definir lo que puede y no puede contener un documento XML.
• Programación de interfaces que trabajen con documentos XML.
• Cuales son los principales estándares de XML y como trabajan juntos.
• Como usan XML las compañías en el mundo real.
Acerca del autor
Doug Tidwell es Programador Senior y
‘evangelista’ de IBM para los Servicios Web. Fue
conferenciante en la primera conferencia sobre
XML en 1997 y ha estado trabajando con
lenguajes de marcado durante más de una
década. Obtuvo una licenciatura en Ingles en la
Universidad de Georgia y un Master en
Informática en la Universidad de Vanderbilt. Se le
puede encontrar en
[email protected].
También podrá ver su página web en
ibm.com/developerWorks/speakers/dtidwell/.
Introducción a XML
Pagina 2de 35
http://www.ibm.com/developerWorks
Sección 2. ¿Qué es XML?
Introducción
XML, o Lenguaje de Marcado Extensible (Extensible Markup Language), es un lenguaje de
marcado que puede usar para crear sus propias etiquetas. Fue creado por el Consorcio para la
World Wide Web (W3C) para superar las limitaciones de HTML, el Lenguaje de Marcado de
HiperTexto que es la base para todas las páginas Web. Aunque SGML ha sido usado durante
décadas en la industria para publicación, su complejidad ha intimidado a mucha gente que, en
otro caso, podría haberlo usado (SGML también vale como Suena Genial, Mejor Luego) (*N. del
T.- interpretación libre de Sounds Great, Maybe Later). XML fue diseñado pensando en la Web.
¿Porqué necesitamos XML?
HTML es el lenguaje de marcado con más éxito del momento. Puede ver las etiquetas HMTL más
simples en casi cualquier dispositivo, desde palmtops hasta los mainframes, e incluso puede
convertir HTML en voz o en otros formatos con las herramientas adecuadas. Dado el éxito de
HTML, ¿porqué la W3C creó XML?. Para responder a esta pregunta eche un vistazo a este
documento.
<p><b>Mrs. Mary McGoon</b>
<br>
1401 Main Street
<br>
Anytown, NC 34829</p>
El problema con HTML es que fue diseñado pensando en los humanos. Incluso sin ver el
documento anterior en un navegador, podemos imaginar que se trata de la dirección postal de
alguien. (Específicamente, es una dirección postal de alguien en los Estados Unidos; incluso
aunque no estuviese familiarizado con los componentes de las direcciones postales de Estados
Unidos podría imaginarse lo que representa.)
Como humanos, tenemos la inteligencia para comprender el significado e intención de muchos
documentos. Una máquina, desafortunadamente no puede hacerlo. Mientras que las etiquetas de
este documento le dicen al navegador cómo debe mostrar la información, no le dicen lo que la
información es. Nosotros sabemos que es una dirección, pero la máquina no.
Representar HTML
Para representar HTML, el navegador únicamente sigue las instrucciones en el documento
HTML. La etiqueta de párrafo le dice al navegador que empiece la presentación en una nueva
línea, típicamente con una línea en blanco antes, mientras que las dos etiquetas de ruptura le
dicen al navegador que avance hasta la siguiente línea sin dejar líneas en blanco en medio.
Aunque el navegador da un bonito formato al documento, la máquina aún no sabe que se trata de
una dirección postal.
Introducción a XML
Pagina 3de 35
http://www.javahispano.org
Procesamiento de HTML
Para continuar la discusión con el ejemplo del documento HTML, consideremos la tarea de
extraer el código postal de la dirección. Aquí presentamos un (intencionadamente frágil) algoritmo
para encontrar la marca HTML para el código postal:
Si se encuentra un párrafo con dos etiquetas <br>, el código postal es la segunda palabra
después de la primera coma en la segunda etiqueta de ruptura.
Aunque este algoritmo funciona con el ejemplo, existen en el mundo una gran cantidad de
direcciones perfectamente válidas para las cuales no puede funcionar. Incluso si se pudiera
escribir un algoritmo que encontrase el código postal para cualquier dirección escrita en HTML,
existe un gran número de párrafos con dos etiquetas de ruptura cuyo contenido no es una
dirección postal. La escritura de un algoritmo que busque en cualquier párrafo HTML y encuentre
cualquier código postal que contenga sería extremadamente difícil, sino imposible.
Un documento XML de ejemplo
Echemos un vistazo ahora a un documento XML de ejemplo. Con XML, se puede asignar algún
significado a las etiquetas en el documento. Más importante aún, también resulta fácil para una
maquina el procesar la información. Se puede extraer el código postal de un documento
simplemente localizando el contenido rodeado por las etiquetas <codigo-postal> y
</codigo-postal>, técnicamente conocido como el elemento <codigo-postal>.
<direccion>
<nombre>
<titulo>Mrs.</titulo>
<nombre>
Mary
</nombre>
<apellidos>
Introducción a XML
Pagina 4de 35
http://www.ibm.com/developerWorks
McGoon
</apellidos>
</nombre>
<calle>
1401 Main Street
</calle>
<ciudad>Anytown</ciudad>
<estado>NC</estado>
<codigo-postal>
34829
</codigo-postal>
</direccion>
Etiquetas, elementos y atributos
Existen tres términos comúnmente usados para describir las partes de un documento XML:
etiquetas, elementos y atributos. Aquí está un documento de ejemplo que ilustra estos términos:
<direccion>
<nombre>
<titulo>Mrs.</titulo>
<nombre>
Mary
</nombre>
<apellidos>
McGoon
</apellidos>
</nombre>
<calle>
1401 Main Street
</calle>
<ciudad estado="NC">Anytown</ciudad>
<codigo-postal>
34829
</codigo-postal>
</direccion>
•
• Una etiqueta es un texto entre el símbolo menor que (<) y el símbolo mayor que (>).
Existen etiquetas de inicio (como <nombre>) y etiquetas de fin (como </nombre>).
Un elemento consta de la etiqueta de inicio, la etiqueta de fin y de todo aquello que este
entre ambas. En el ejemplo anterior, el elemento <nombre> contiene tres elementos hijos:
<titulo>, <nombre>, y <apellidos>.
• Un atributo es un par nombre-valor dentro de la etiqueta de inicio de un elemento. En este
ejemplo, estado es un atributo del elemento <ciudad>, en ejemplos anteriores
<estado> era un elemento ( ver Un documento XML de ejemplo en la página 4).
Cómo está cambiando XML la Web
Introducción a XML
Pagina 5de 35
http://www.javahispano.org
Ahora que ha visto como los desarrolladores pueden usar XML para crear documentos con datos
que se auto-describen, veamos cómo se están usando esos documentos para aumentar el
rendimiento de la Web. Aquí mostramos algunas áreas:
• XML simplifica el intercambio de datos. Debido a que diferentes organizaciones ( en
incluso diferentes partes dentro de una misma organización) raramente utilizan un único
conjunto de herramientas, esto puede suponer una cantidad de trabajo significativa para
comunicar las aplicaciones. Usando XML cada grupo crea una única utilidad que
transforma sus formatos de datos internos en XML y viceversa. Lo mejor de todo, hay una
gran probabilidad de que sus suministradores de software, ya proporcionen herramientas
que transformen sus registros de base de datos( o directorios LDAP, o ordenes de
compra, etc.) desde y hacia XML.
• XML permite un código más ligero. Debido a que los documentos XML pueden ser
estructurados para identificar cada pieza importante de información ( así como las
relaciones entre dichas piezas), es posible escribir código que procese estos documentos
XML sin intervención humana. El hecho de que los proveedores de software hayan
gastado cantidades masivas de tiempo y dinero construyendo herramientas de desarrollo
XML significa que escribir ese código es un proceso relativamente simple.
• XML permite búsquedas más rápidas. Aunque los motores de búsqueda han mejorado
sustancialmente durante los años, es todavía bastante común encontrar resultados
erróneos en una búsqueda. Si se están buscando páginas HTML de alguien llamado
“Chip”, se pueden encontrar páginas sobre chips de chocolate, chips de ordenador, chips
de madera y montones de otros enlaces inútiles. Buscando en documentos XML por
elementos <nombre> que contengan el texto Chip debería darnos un conjunto de
resultados mucho mejor.
Discutiremos casos reales del uso de XML en Casos de Estudio en la página 28.
Introducción a XML
Pagina 6de 35
http://www.ibm.com/develope
Comentarios de: Introducción a XML (0)
No hay comentarios