XML es un conjunto estándar de reglas para escribir documentos de manera que una computadora pueda leerlos. No dice nada sobre lo que significan los documentos o cómo se utilizarán.
Debido a que existen herramientas para escribir y leer XML en cada lenguaje de programación, se ha convertido en una forma popular de transmitir datos entre programas de computadora, especialmente a través de redes.
Un programador o trabajador de la información puede crear un “lenguaje XML” que describa cualquier tipo de datos que necesite; por ejemplo, un documento de procesamiento de texto (por ejemplo, Microsoft Office OpenXML), una página web (XHTML) o una serie de actualizaciones de un sitio web (RSS o Atom). Si bien estos documentos comparten un conjunto básico de reglas de codificación, su contenido puede ser completamente ajeno y es poco probable que los programas diseñados para leerlos puedan trabajar juntos sin trabajo adicional.
- ¿Tendría sentido nunca instalar ningún software que no sea de stock y también evitar Java y JavaScript tanto como sea posible para mejorar la seguridad informática?
- Cómo decidir cuándo escribir un programa y también adaptarlo a futuros cambios
- Cómo comenzar mi propia empresa de consultoría técnica que se centra en el desarrollo de aplicaciones móviles y la automatización de la nube
- ¿Cómo puede un archivo comprimido de 42 kilobytes producir 4,5 petabytes cuando se descomprime? Acabo de encontrar esto: "Hay un archivo zip malicioso en Internet que solo tiene 42 kilobytes cuando está comprimido, pero 4.5 petabytes cuando está descomprimido". ¿Es esto cierto?
- ¿Es una buena idea tener revisiones de código obligatorias antes de enviarlas?
Los documentos XML son texto Unicode, lo que significa que pueden representar cualquier lenguaje humano de manera estándar. Los documentos XML son jerárquicos, lo que significa que organizan los datos en una serie de elementos y subelementos.
Lenguajes y herramientas derivados
Debido a que XML es un conjunto de reglas de propósito general, ha sido la base de varios lenguajes y herramientas derivados. Estos lenguajes actúan o describen documentos XML de manera general. Una lista muy incompleta de ejemplos destacados incluye:
- XSL, el lenguaje de hoja de estilo extensible, que es un lenguaje de transformación de propósito general. Un documento XSL describe cómo procesar los datos en un documento XML para producir algún resultado: otro documento XML, un documento de texto, una tabla de datos o incluso una imagen.
- DTD, Esquema XML, Relax NG, Schematron y otros lenguajes de esquema. Estos lenguajes describen la estructura y el contenido de un documento XML de una manera que le permite a una computadora determinar si el documento es “válido”, lo que significa que satisface las restricciones del esquema.
- XPath es una sintaxis de programación que permite la descripción de un subconjunto exacto de datos en un documento XML. Es ampliamente utilizado en otras herramientas relacionadas con XML, incluidos XSL y XML Schema.
Lectura adicional
Wikipedia tiene un excelente y amplio artículo sobre el tema en http://en.wikipedia.org/wiki/XML
Internet Engineering Task Force tiene un conjunto de recomendaciones sobre el uso de XML dentro de los protocolos de Internet: http://www.ietf.org/rfc/rfc3470.txt