XML передаёт приложениям символьные данные. Без content model форматтер не знает, является ли пробельный узел украшением, пробелом текста, разделителем или значением приложения.

Правило element-only разметки

Если элемент содержит дочернюю разметку, но не прямой непробельный текст, не CDATA и не активный xml:space preserve, XMLClear считает пробельные узлы разметкой. Форматирование заменяет их переводами строк и отступами, минификация удаляет. Теги, атрибуты, сущности, комментарии, инструкции и исходник дочерних узлов остаются исходным текстом. Так компактный XML конфигурации или данных становится читаемее, а граница изменения остаётся явной.

Mixed content остаётся вместе

В `<p>Hello <strong>world</strong>!</p>` пробелы и пунктуация связывают текст вокруг дочернего элемента. Перевод строки перед strong изменил бы данные приложения. XMLClear считает элемент с прямым непробельным текстом или CDATA смешанным и сохраняет его внутренний исходник. Активный xml:space preserve также сохраняет пробелы до явного default у потомка. Поэтому внутри выровненной иерархии может остаться компактная строка — это лучше скрытого изменения текста.

Практическая проверка перед использованием

Держите исходный документ рядом с результатом и сравните используемую часть. Проверьте имена элементов и атрибутов, namespace-префиксы и объявления, написание сущностей, комментарии, инструкции, границы CDATA и смешанный текст. Если принимающая система считает пробельный текст данными, используйте только проверку или сохраните исходник: форматтер не может угадать отсутствующую content model. Затем пропустите результат через ту же схему, тесты, проверку подписи и рабочий процесс, которые обычно принимают XML. XMLClear намеренно не доказывает эти отдельные контракты.