Extensible Markup Language
XML y sus extensiones han sido regularmente criticadas por su nivel de detalle y complejidad. El mapeo del modelo de árbol básico de XML hacia los sistema de tipos de lenguajes de programación o bases de datos puede ser difícil, especialmente cuando se utiliza XML para el intercambio de datos altamente estructurados entre aplicaciones, lo que no era su objetivo primario de diseño. Otras críticas intentan refutar la afirmación de que XML es un lenguaje (aunque la especificación XML no hace ninguna afirmación de este tipo). Se propone a JSON y YAML frecuentemente como alternativas, centrándose ambas en la representación de datos estructurados, en lugar de documentos narrativos.La tecnología XML busca dar solución al problema de expresar información estructurada de la manera más abstracta y reutilizable posible. Que la información sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene un árbol de trozos de información. Ejemplos son un tema musical, que se compone de compases, que están formados a su vez por notas. Estas partes se llaman "elementos", y se las señala mediante etiquetas.
Office Open XML
El esquema XML de Office Open XML enfatiza el reducir el tiempo de carga y mejorar la velocidad de análisis sintáctico. Para mejorar el rendimiento, Office Open XML utiliza nombres de elementos muy cortos para aquellos elementos comunes y las hojas de cálculo guardan datos como números de índice (comenzando la numeración desde 1899 o desde 1904). Para lograr ser sistemático y genérico, Office Open XML usa típicamente elementos derivados separados para datos y metadatos (nombres de elementos que terminan en "Pr" para "propiedades") en lugar de usar atributos múltiples que permitan propiedades estructuradas. Office Open XML no utiliza contenido mixto, pero utiliza algunos elementos para colocar series de "text runs" (nombre de elemento, "r") en párrafos (nombre de elemento, "p"). En contraste, el resultado es conciso y altamente jerarquizado al compararse, por ejemplo con HTML que es bastante plano, ya que fue diseñado para escribir en editores de texto siendo a la vez más agradable de leer.