Fundamentos de la utilización de XML

Flash Player 9 y posterior, Adobe AIR 1.0 y posterior

XML es una forma estándar de representar información estructurada que los ordenadores pueden procesar fácilmente y que es razonablemente fácil de escribir y comprender para los humanos. XML es una abreviatura de eXtensible Markup Language (Lenguaje extensible de marcado). El estándar XML está disponible en www.w3.org/XML/ .

XML ofrece una forma estándar y cómoda de clasificar datos y facilitar su lectura, acceso y manipulación. Utiliza una estructura de árbol y una estructura de etiquetas similares a las de HTML. A continuación se muestra un ejemplo sencillo de datos XML:

<song> 
    <title>What you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

Los datos XML también pueden ser más complejos, con etiquetas anidadas dentro de otras etiquetas así como atributos y otros componentes estructurales. A continuación se muestra un ejemplo más complejo de datos XML:

<album> 
    <title>Questions, unanswered</title> 
    <artist>Steve and the flubberblubs</artist> 
    <year>1989</year> 
    <tracks> 
        <song tracknumber="1" length="4:05"> 
            <title>What do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:31</lastplayed> 
        </song> 
        <song tracknumber="2" length="3:45"> 
            <title>Who do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:35</lastplayed> 
        </song> 
        <song tracknumber="3" length="5:14"> 
            <title>When do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:39</lastplayed> 
        </song> 
        <song tracknumber="4" length="4:19"> 
            <title>Do you know?</title> 
            <artist>Steve and the flubberblubs</artist> 
            <lastplayed>2006-10-17-08:44</lastplayed> 
        </song> 
    </tracks> 
</album>

Este documento XML contiene otras estructuras XML completas (como las etiquetas song con sus elementos secundarios). También muestra otras estructuras XML como atributos ( tracknumber y length en las etiquetas song ) y etiquetas que contienen otras etiquetas en lugar de contener datos (como la etiqueta tracks ).

Introducción a XML

A continuación se ofrece una descripción breve de los aspectos más comunes de los datos XML para usuarios con poca o ninguna experiencia en la utilización de XML. Los datos XML se escriben en formato de texto simple, con una sintaxis específica para organizar la información en un formato estructurado. Generalmente, un conjunto individual de datos XML se denomina documento XML . En formato XML, los datos se organizan en elementos (que pueden ser elementos de datos individuales o contenedores para otros elementos) con una estructura jerárquica. Cada documento XML tiene un elemento individual como elemento de nivel superior o principal; dentro de este elemento raíz puede haber un solo elemento de información, aunque es más probable que haya otros elementos, que a su vez contienen otros elementos, etc. Por ejemplo, este documento XML contiene información sobre un álbum de música:

<song tracknumber="1" length="4:05"> 
    <title>What do you know?</title> 
    <artist>Steve and the flubberblubs</artist> 
    <mood>Happy</mood> 
    <lastplayed>2006-10-17-08:31</lastplayed> 
</song>

Cada elemento se distingue mediante un conjunto de etiquetas , constituidas por el nombre del elemento entre corchetes angulares (signos menor que y mayor que). La etiqueta inicial, que indica el principio del elemento, tiene el nombre de elemento:

<title>

La etiqueta final, que marca el final del elemento, tiene una barra diagonal antes del nombre del elemento:

</title>

Si un elemento no contiene nada, puede escribirse como un elemento vacío (y se representa con una sola etiqueta). En XML, este elemento:

<lastplayed/>

es idéntico a este elemento:

<lastplayed></lastplayed>

Además del contenido del elemento entre las etiquetas inicial y final, un elemento también puede incluir otros valores, denominados atributos , que se definen en la etiqueta inicial del elemento. Por ejemplo, este elemento XML define un solo atributo denominado length , con valor "4:19" :

<song length="4:19"></song>

Cada elemento XML tiene contenido, que puede ser un valor individual, uno o más elementos XML, o nada (en el caso de un elemento vacío).

Más información sobre XML

Para más información sobre la utilización de XML, hay vario libros y recursos adicionales, incluidos estos sitios web:

Clases de ActionScript para trabajar con XML

ActionScript 3.0 incluye varias clases que se utilizan para trabajar con información estructurada en formato XML. Las dos clases principales son:

  • XML: representa un solo elemento XML, que puede ser un documento XML con varios elementos secundarios o un elemento con un solo valor en un documento.

  • XMLList: representa un conjunto de elementos XML. El objeto XMLList se utiliza cuando hay varios elementos XML del mismo nivel (están en el mismo nivel y pertenecen al mismo elemento principal en la jerarquía del documento XML). Por ejemplo, una instancia de XMLList sería la manera más sencilla de trabajar con este conjunto de elementos XML (que se supone contenido en un documento XML):

    <artist type="composer">Fred Wilson</artist> 
    <artist type="conductor">James Schmidt</artist> 
    <artist type="soloist">Susan Harriet Thurndon</artist>

Para usos más avanzados que requieran espacios de nombres XML, ActionScript también incluye las clases Namespace y QName. Para más información, consulte Uso de espacios de nombres XML .

Además de las clases incorporadas para trabajar con XML, ActionScript 3.0 también incluye varios operadores que proporcionan funcionalidad específica para acceder a datos XML y manipularlos. Este enfoque para trabajar con XML mediante estas clases y operadores se denomina ECMAScript for XML (E4X) y está definido en la especificación de ECMA-357 edición 2.

Conceptos y términos importantes

La siguiente lista de referencia contiene términos importantes que aparecerán al programar rutinas de gestión XML:

Elemento
Elemento individual de un documento XML, identificado como una etiqueta inicial y una etiqueta final, y el contenido existente entre las etiquetas (incluidas estas). Los elementos XML pueden contener texto o elementos de otro tipo, o pueden estar vacíos.

Elemento vacío
Elemento XML que no contiene elementos secundarios. Los elementos vacíos se suelen escribir con una sola etiqueta (como <elemento/> ).

Documento
Estructura XML individual. Un documento XML puede contener un número arbitrario de elementos (o puede constar únicamente de un elemento vacío); no obstante, debe tener un solo elemento de nivel superior que contenga a todos los demás elementos del documento.

Nodo
Nombre alternativo para un elemento XML.

Atributo
Valor con nombre asociado con un elemento que se escribe en la etiqueta inicial del elemento con el formato nombreAtributo="valor" , en lugar de escribirse como un elemento secundario independiente anidado dentro del elemento.