Формат ХМЛ - русифицированное/разговорное название формата XML. Т.е. как такового формата ХМЛ не существует (как и файлов с расширением .хмл).
Что касается XML, то это самый известный расширяемый язык разметки (eXtensible Markup Language), который предназначен для хранения данных в структурированном виде и обмена данными между компьютерными программами. Данные хранятся внутри тегов, которые формируют логическую иерархию, понятную как человеку, так и компьютеру.
Чтобы лучше понять суть формата ХМЛ/XML приведем простой пример: создадим простейшую табличку в Экселе, а затем конвертируем ее в формат ПДФ (PDF) и XML
Экспортируем таблицу из Excel в формат XML, а затем откроем получившийся файл с помощью Блокнота, или любого другого текстового редактора. В зависимости от текстового редактора и его настроек увидим примерно такую картину:
Обычный текстовый файл с несколькими наборами тегов разного уровня вложенности. Т.к. в ХМЛ мы сохраняли Экселевский файл, то и набор тегов у нас соответствующий. Главный тег "Workbook" (книга), в нём видим описание стилей таблицы (Styles), Лист1 (Worksheet) в котором размещена наша таблица (Table)
В принципе содержимое файла можно прочитать и даже отредактировать, если понадобится.
Продолжим эксперименты. Теперь сохраним таблицу Excel в формат PDF и откроем файл
Видим таблицу, аналогичную Экселевской. А теперь конвертируем ПДФ в ХМЛ и заглянем в файл
Несмотря на то, что мы выгрузили те же данные (таблица с из трех строк и трех колонок) в тот же формат XML - мы получили совершенно другой файл.
Во-первых, отсутствует блок кода с описанием стилей. Это значит, что при импорте (загрузке) ХМЛ-файла в какую-нибудь программу, заголовки колонок уже не будут выделены жирным.
Во-вторых, мы видим совершенно другую структуру документа и таблицы. Теперь у нас элементы: Document, Part, Table, TR (table row), TD (table cell), P (paragraph).
То есть в обоих случаях мы имеем одинаковые по сути файлы в формате XML, но при этом сами файлы кардинально различаются. Чем сложнее исходный файл, тем больше будет отличий. А происходит это из-за того, что разные программы используют разные XML-схемы.
Что такое XML-схема?
Как мы выяснили опытным путём - файлы имеют разную структуру и состоят из разных тегов (элементов). Существуют специальные правила (схемы) - какие теги использовать для тех, или иных типов данных. Именно благодаря схемам, разные программы могут обмениваться данными в формате ХМЛ.
Раз уж мы занимаемся сметами, то приведем еще один пример, для закрепления материала. Сметчики пользуются разными программами, но многие из них поддерживают выгрузку в формате XML. При этом каждый разработчик каждой сметной программы поддерживает собственную схему документа. Также разработчики могут поддерживать выгрузку и в другие схемы. Для этого используются специальные программы - конвертеры. Например, программа Smeta.RU имеет несколько встроенных конвертёров - для выгрузки (экспорта) смет в XML Грандсметы, и для Экспорта в Главгосэкспертизу. Причем Главгосэкспертиза принимает файлы с определённым расширением - .GGE но по сути это обычный ХМЛ-файл размеченный по схеме Главгосэкспертизы.