Читаемые отступы не должны незаметно переименовывать namespace, сортировать атрибуты, превращать CDATA, удалять комментарии или переписывать сущности. XMLClear сохраняет конструкции как исходные токены после успешного синтаксического разбора.
Префикс — написание, URI — идентичность
Два документа могут использовать разные префиксы для одного URI, а default namespace меняет namespace непрефиксных элементов в своей области. Форматтеру не нужно придумывать или нормализовать префиксы. XMLClear сохраняет qualified names и xmlns-атрибуты в исходном порядке и сообщает лишь число объявлений в дереве. Счётчик не доказывает, что словарь ожидаемый или приложение свяжет его с нужным кодом.
Сохраняйте неэлементные узлы
Комментарии содержат заметки, инструкции обработки могут указывать таблицу стилей или инструмент, а CDATA упрощает ввод буквальных символов разметки. XMLClear сохраняет их написание и отдельные счётчики. Он не выполняет инструкции, не рендерит SVG, не применяет XSLT, не открывает stylesheet и не вставляет узлы в активную страницу. Сохранение означает только наличие текста в результате, но не безопасность или понятный эффект.
Практическая проверка перед использованием
Держите исходный документ рядом с результатом и сравните используемую часть. Проверьте имена элементов и атрибутов, namespace-префиксы и объявления, написание сущностей, комментарии, инструкции, границы CDATA и смешанный текст. Если принимающая система считает пробельный текст данными, используйте только проверку или сохраните исходник: форматтер не может угадать отсутствующую content model. Затем пропустите результат через ту же схему, тесты, проверку подписи и рабочий процесс, которые обычно принимают XML. XMLClear намеренно не доказывает эти отдельные контракты.