XML

XML
Extensión.xml
Tipo de Mimicaapplication/xml
text/xml
Desarrollado porW3C
Tipolenguaje de marcas
Extensión deSGML
Extendido aXHTML , RSS , Atom y otros
¿ Formato abierto ?

En informática , XML (abreviatura de eXtensible Markup Language , lit. "lenguaje de marcado extensible") es un metalenguaje para la definición de lenguajes de marcado , es decir, un lenguaje basado en un mecanismo sintáctico que permite definir y comprobar el significado de los elementos contenidos en un documento o texto.

El nombre indica que es un lenguaje extensible, ya que le permite crear etiquetas personalizadas y es un intento de producir una versión simplificada del lenguaje de marcado generalizado estándar (SGML), que le permite definir nuevos lenguajes de marcado.

Historia

El World Wide Web Consortium (W3C), tras la guerra de los navegadores (es decir, la situación que se produjo en los años noventa en la que Microsoft y Netscape introdujeron, con cada nueva versión de su navegador , una extensión propietaria del HTML oficial ), se vio obligado a seguir la extensiones individuales al lenguaje HTML.

El W3C tuvo que elegir qué características estandarizar y cuáles dejar fuera de la especificación HTML oficial. Fue en este contexto que comenzó a surgir la necesidad de un lenguaje de marcado que diera más libertad en la definición de etiquetas, manteniéndose en un estándar.

El "proyecto XML", que comenzó a fines de la década de 1990 como parte de la actividad SGML del W3C , despertó un interés tan fuerte que el W3C creó un grupo de trabajo, llamado XML Working Group , compuesto por expertos mundiales en tecnologías SGML y una comisión. , XML Editorial Review Board , responsable de redactar las especificaciones del proyecto.

En febrero de 1998 la especificación se convirtió en una recomendación oficial bajo el nombre Extensible Mark-up Language , versión 1.0. Pronto se comprendió que XML no se limitaba únicamente al contexto web sino que era algo más: una herramienta que permitía ser utilizada en los más diversos contextos, desde la definición de la estructura del documento , hasta el intercambio de información entre diferentes sistemas , desde la representación de imágenes hasta la definición de formatos de datos .

Usos

Comparado con HTML , XML tiene un propósito muy diferente: mientras que el primero define una gramática para la descripción y formateo de páginas web (layout) y, en general, hipertextos , el segundo es un metalenguaje utilizado para crear nuevos lenguajes, adecuado para describir estructuras documentos. Mientras que HTML tiene un conjunto de etiquetas bien definidas y restringidas, con XML es posible definir las suyas según sus necesidades.

Hoy en día, XML también se usa ampliamente como un medio para exportar datos entre diferentes DBMS . Muy extendido es el uso en archivos de configuración de aplicaciones y sistemas operativos .

Sintaxis

Aquí hay un ejemplo típico de un archivo XML, que se puede ver en cualquier navegador simplemente guardando el texto en un archivo con la extensión .xml .

<?xml versión = "1.0" codificación = "UTF-8"?> <usuarios> < años usuario = "20" > <nombre> Ema </nombre> <apellido> Princi </apellido> <dirección> Turín </ dirección> </usuario> <usuario años = "54" > <nombre> Max </nombre> <apellido> Rossi </apellido> <dirección> Roma </dirección> </usuario> </usuario>

La primera línea indica la versión de XML en uso y especifica la codificación UTF-8 para la interpretación correcta de los datos.

Los caracteres especiales que harían que el documento tuviera un formato incorrecto deben ser reemplazados con las respectivas entidades XML:

Personaje Entidad
& &amp;
< &lt;
> &gt;
" &quot;
' &apos;

Cabe señalar que solo los tres primeros Las entidades siempre deben respetarse, mientras que este último en algunos casos no se administra (como en el iPhone iOS 3.1.3 y posterior). &apos;

Las etiquetas o etiquetas

XML, como HTML , usa marcadores, llamados etiquetas , para asignar semántica al texto. Las etiquetas pueden contener información de dos formas: a través de parámetros o encerrando texto u otro tipo de información. De ello se deduce que pueden ser etiquetas de apertura, seguidas necesariamente de etiquetas de cierre (entre las que se puede tener un contenido) o etiquetas que se abren y se cierran, y por lo tanto pueden proporcionar información solo a través de sus parámetros.

Cada etiqueta comienza y termina con corchetes angulares ( <>) (que en otros contextos serían los signos menor y mayor), mientras que la etiqueta de cierre o la etiqueta de cierre se representa mediante la barra inclinada ( /). Estos son algunos ejemplos de etiquetas:

<tagExample parámetro1 = "etiqueta de apertura" características = "solo la etiqueta de apertura tiene parámetros" > contenido </tagEexample> <tagAutoclosing parámetro1 = "etiqueta de cierre automático" características = "no tiene etiqueta de cierre" />

XML permite comentarios encerrados por <!-- -->Por ejemplo:

<! - Esto es un comentario ->

XML es muy estricto en cuanto a la sintaxis que se debe seguir con respecto a HTML y, por lo tanto, es necesario respetar algunas reglas:

  1. las etiquetas no pueden comenzar con números o caracteres especiales y no pueden contener espacios;
  2. las etiquetas deben estar equilibradas, es decir, no se permiten errores de anidamiento, por ejemplo:
<libro> <nombre> Mario </nombre> <apellido> Rossi </rubrica>

La etiqueta cognomeno se ha cerrado, por lo que el XML está mal formado.

< nombre> Mario </nombre> <apellido> Rossi </rúbrica> </apellido>

La etiqueta cognomese cerró después de la etiqueta rubrica, nuevamente el XML no está bien formado.

< nombre> Mario </nombre> <apellido> Rossi </APELLIDO> </rubrica>

XML distingue entre mayúsculas y minúsculas , por lo que la etiqueta cognomey la etiqueta COGNOMEse consideran dos etiquetas diferentes; XML nuevamente no está bien formado.

También es posible definir etiquetas vacías que se abren y se cierran inmediatamente:

<rúbrica> </rúbrica>

O en forma abreviada:

<agenda telefónica />

Para que sea interpretado correctamente, un documento XML debe tener el formato correcto, es decir, debe tener las siguientes características:

  • Un prólogo , que es la primera instrucción que aparece escrita en el documento. En nuestro caso <?xml version="1.0" encoding="UTF-8"?>:.
  • Un único elemento raíz (también conocido como el nodo raíz, denominado elemento raíz ) que contiene todos los demás nodos del documento. En nuestro ejemplo <utenti>:.
  • Dentro del documento, todas las etiquetas deben estar equilibradas.

Si el documento XML no contiene errores, se dice que está bien formado . Si el documento está bien formado y también cumple con los requisitos estructurales definidos en el esquema XML asociado o archivo DTD , se denomina válido .

Ventajas de XML

Las ventajas de XML se suelen resumir con las siglas SPEED, también entendidas con el significado de la palabra en inglés (es decir, "velocidad"). La velocidad es la razón principal por la que muchas empresas se pasan al comercio electrónico: respuesta más rápida a las necesidades de los clientes, entrega más rápida de información a los clientes y socios de la cadena de suministro; procesamiento más rápido de los pedidos recibidos a través de Internet. El archónimo deriva de Almacenamiento, publicación e intercambio de documentos electrónicos ("almacenamiento, publicación e intercambio de documentos electrónicos").

En XML, la información específica de la aplicación está contenida dentro de "etiquetas", marcadas con corchetes < >, que describen el contenido de un documento. Cada etiqueta define un tipo de elemento y, al delimitar cada uno de los datos con etiquetas, podemos comprender su estructura incluso si no conocemos la aplicación que lo generó. Dado que los datos son autodescriptivos, los socios también podrán comprenderlos y procesarlos. Además, también podrán ser gestionados en el futuro cuando las aplicaciones que los generaron hayan quedado obsoletas.

La extensibilidad es otra característica ganadora de XML, ya que es posible que los programadores reutilicen documentos XML existentes simplemente ampliándolos con nuevas etiquetas, dejando que los elementos clave del documento original sigan siendo comprensibles para todos los usuarios.

XML ha respondido al proverbial lema estadounidense: "adopta y adapta", es decir, adopta un estándar ganador y confiable y adáptalo a tus necesidades.

Otra ventaja no indiferente de XML es la posibilidad de validarlos mediante el uso de XML Schema (XSD) [1] .

Esta posibilidad no está presente en otros formatos intercambiables, incluido JSON .

Para resumir las ventajas de XML, por lo tanto, se puede decir que XML requiere:

  • menos esfuerzo de mantenimiento;
  • mejor reutilización;
  • mayor capacidad para apuntar a múltiples dispositivos;
  • posibilidad de reducir los recursos dedicados a la ejecución de los proyectos.

Tecnologías de soporte XML

Lenguajes de esquema (le permiten crear nuevos lenguajes XML):

  • DTD (acrónimo de Document Type Definition ): es un documento mediante el cual se especifican las características estructurales de un documento XML a través de una serie de "reglas gramaticales". En particular, define el conjunto de elementos del documento XML, las relaciones jerárquicas entre los elementos, el orden de aparición en el documento XML y qué elementos y qué atributos son opcionales o no.
  • Esquema XML : Al igual que la DTD, se utiliza para definir la estructura de un documento XML. Hoy el W3C recomienda adoptarlo en lugar del propio DTD, al ser una técnica más reciente y avanzada. Su abreviatura es XSD, que significa definición de esquema XML .

Otras tecnologías relacionadas con XML:

  • XLink : se utiliza para vincular completamente dos documentos XML; a diferencia de los hipervínculos clásicos que conocemos en HTML , XLink permite crear enlaces multidireccionales y semánticamente avanzados.
  • XSL (acrónimo de eXtensible Stylesheet Language ): es el lenguaje utilizado para describir la hoja de estilo de un documento XML. Su versión extendida es XSLT (donde la T significa Transformaciones ).
  • XPath : es un lenguaje con el que es posible identificar porciones de un documento XML y es la base de otras herramientas para XML como XQuery.
    Para respaldar este propósito principal, también proporciona una funcionalidad básica para manejar cadenas, números y datos booleanos. Su funcionamiento se basa en la creación de un árbol a partir del documento y la sintaxis sucinta permite direccionar una parte específica a través de los nodos del árbol con la palabra simple ruta .
  • XPointer : se utiliza para identificar de forma única partes precisas de un documento XML; luego permite su acceso a otros idiomas u objetos de interfaz.
  • XQuery : es un lenguaje de consulta diseñado para ser aplicable a cualquier tipo de documento XML y se basa en el uso de XPath para especificar rutas dentro de los documentos. XQuery tiene funciones que le permiten acceder a múltiples fuentes de datos para buscar, filtrar documentos o recopilar contenido de interés.
  • SAX (Simple API for XML): es una interfaz de programación, implementada en numerosos lenguajes, que permite leer y modificar documentos XML. A través de SAX es posible implementar analizadores XML específicos . SAX se basa en eventos, a diferencia de DOM , y reacciona a los eventos de análisis informando a la aplicación. Es trabajo del programador implementar métodos para reaccionar a los eventos de análisis.
  • DOM : es una interfaz de programación, como SAX, implementada en multitud de lenguajes de programación , para la manipulación de ficheros XML. DOM construye un árbol a partir del archivo XML donde cada nodo del árbol corresponde a un elemento del archivo; por esta razón se llama basado en árbol.
  • VTD-XML : DOM es más fácil e inmediato de usar que SAX y, por lo tanto, los programadores suelen preferirlo para manipular un archivo XML; sin embargo, el árbol generado por DOM debe mantenerse completamente en la memoria RAM y, en consecuencia, no es posible usar esta interfaz para manipular archivos que son más grandes que la memoria disponible en la computadora.
  • RSS : es un estándar utilizado para crear un documento con una estructura XML única, adecuada para el desarrollo de un intercambio de datos simple entre páginas Web y accesible desde cualquier lenguaje de programación . Básicamente es un documento XML cuya estructura de nodos y etiquetas relacionadas tienen el mismo nombre.
  • SVG ( Scalable Vector Graphics ) y VML ( Vector Markup Language ) son estándares para crear imágenes vectoriales que aprovechan los documentos con formato XML. También se utiliza para describir imágenes bidimensionales, estáticas y dinámicas. Leyendo las instrucciones contenidas en el documento fuente XML, el intérprete dibuja las figuras básicas hasta completar la imagen.
  • WDDX (Word Data Description Exchange): WDDX es una estructura para la contención de datos con la misma estructura que una base de datos, creada por Allaire hoy Macromedia y lanzada Open at the WDDX Organization

Lenguajes XML populares

  • XForms : como su nombre indica, es un lenguaje creado para crear formularios tipo HTML dentro de un documento XML.
  • SMIL ( Lenguaje de Integración Multimedia Sincronizada ): Este lenguaje definido en XML, se utiliza para describir el contenido y administrar el tiempo de las presentaciones multimedia que pueden combinar video, audio, imágenes y texto.
  • MathML (Mathematical Markup Language): MathML se utiliza para la descripción de notaciones matemáticas, procediendo a la vez a fijar su estructura y contenido, para que puedan ser reportadas y procesadas en la Web.
  • X3D (3D extensible): X3D es un lenguaje que le permite construir modelos tridimensionales, ya sean simples o sofisticados. A los objetos así creados se les pueden aplicar animaciones y mecanismos de interacción con el usuario. Como lenguaje, se basa en el Lenguaje de modelado de realidad virtual ( VRML ), que a su vez se convirtió en un estándar internacional en 1997. A este último, X3D incluye las capacidades, típicas del Lenguaje de marcado extensible (XML), de integración con otros mundo. Amplias tecnologías web, validación de contenido y la adición flexible de nuevas extensiones de hardware si es necesario. Además, debemos mencionar las ventajas en cuanto a la ligereza del "perfil básico" (Perfil básico) - Hay siete perfiles, cada uno de los cuales agrupa un determinado conjunto de características comúnmente utilizadas para diferentes propósitos. Esto permite a los desarrolladores de navegadores alcanzar niveles intermedios de de X3D, sin tener que implementar necesariamente toda la especificación de una sola vez) y navegadores por componentes para una descarga más rápida.
  • XBRL (eXtensible Business Reporting Language): es un lenguaje utilizado para la comunicación e intercambio de datos financieros y contables en formato electrónico

XML y páginas web: XHTML

XHTML es un lenguaje de marcado diseñado para mostrar páginas web a través de un navegador, como HTML, y, al ser XML, respeta su semántica. Por ejemplo, en XHTML, a diferencia del HTML tradicional, las etiquetas vacías deben cerrarse con una barra inclinada final (/), los atributos vacíos deben establecerse en verdadero o falso , el cierre de las etiquetas debe reflejarse (si es una etiqueta y antes de cerrarla otra ). se abre, es necesario cerrar primero la segunda etiqueta y luego la primera), algunas etiquetas y atributos, en comparación con HTML 4.0, han desaparecido, y hay una DTD dedicada .

El tipo mime reservado para las páginas XHTML es (aplicación/xhtml + xml). Si envía una página XHTML no válida pero como texto/html puede ocurrir que se muestre porque se interpreta como html (con errores, como etiquetas cerradas como <br />) solo que no respeta el estándar y no No disfrutes de sus ventajas, la primera entre las que destaca la portabilidad en diferentes navegadores y clientes. [2] La verdadera ventaja de una página XHTML es que al ser XML saca todas sus ventajas, como la facilidad de validación e interpretación programática. Las páginas XHTML suelen ser más fácilmente accesibles, dada su semántica XML.

Notas

  1. ^ Andrea Chiarelli, Esquema XML y documentos XML , en HTML.it. Consultado el 16 de octubre de 2020 .
  2. ^ Enviar XHTML como texto / html Considerado Dañino

Artículos relacionados

Otros proyectos

Enlaces externos