XML | |
---|---|
Extensión | .xml |
Tipo de Mimica | application/xml text/xml |
Desarrollado por | W3C |
Tipo | lenguaje de marcas |
Extensión de | SGML |
Extendido a | XHTML , RSS , Atom y otros |
¿ Formato abierto ? | Sí |
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.
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 .
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 .
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 |
---|---|
& | & |
< | < |
> | > |
" | " |
' | ' |
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). '
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:
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:
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 .
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:
Lenguajes de esquema (le permiten crear nuevos lenguajes XML):
Otras tecnologías relacionadas con XML:
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.