Формат xml-файлов с настройками

Автор McAaron, 11 сентября 2025, 18:16

0 Пользователи и 1 гость просматривают эту тему.

McAaron

Здравствуйте!

Пришлось руками поправить несколько xml-файлов (https://forumooo.ru/index.php?topic=11756.0) и обнаружилось, что некоторые файлы переломаны по границам тегов и даже имеют отступы, а некоторые -- одна строка размером в охулиард символов. Что-то в этом неправильно.

sokol92

Цитата: McAaron от 11 сентября 2025, 18:16Что-то в этом неправильно.
Эти файлы (xml) предназначены для чтения программными средствами, а не для непосредственного редактирования человеком.
Владимир.

economist

XML - образцовый пример инженерного перемудрежа. Во всем мире от него - нет, не ушли, а сбежали на JSON, YAML, TOML. Интересы XML в РФ защищает ГНИИВЦ - институт что пишет для ФНС софт на FoxPro c БД Paradox (это софт-стек 1995 г.), и XML из РФ уйдет только вместе с этими мамонтами.

Если нужно править XML более чем заменой ключа/значения А на B - лучше сразу это делать на Python с его штатными либами. Они не сломают XML, т.к. непрерывно проверяют его валидность.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

С уважением,
Михаил Каганский

McAaron

Выше ответили на ваш вопрос, но и я добавлю пять копеек.
1) Столпы IT поголовно считали, что "программный код пишется именно для людей, чтобы они могли их понять и учиться по ним, а не просто для компиляторов".
Вот реальный пример, почему это нужно делать именно так.
В настройках офиса есть код, который якобы "предназначен для чтения/записи программой". В частности, это "галерея фона" или как ее там. Программа оказалась не в состоянии ни добавить фон в эту галерею, ни удалить ненужные. Поэтому пришлось руками править этот .xml файл (несколько файлов), чтобы внести в него информацию о пользоватеьском фоне страницы.
2) Как-то до сих пор все обходились "плоскими" файлами конфигурации (содержимое /etc и .INI файлы IBM) и сильно преуспели в IT-отрасли. И никакой необходимости использовать языки разметки для описания конфигурации не было и нет. Просто софтверная отрасль где-то в начале века прошла в своем развитии вершину "акульего плавника", а количество IT-персонала, отставая от отрасли, только вышло но его фронт и продолжает расти. Соответственно, потребовалось куда-то их пристроить. Вот и придумали вместо простых плоских файлов, которые при необходимости поправит по шаблону любой пользователь, использовать сложные языки разметки, но в плоской конфигурации, для чтения/записи которых требуются мощные парсеры на входе и компоновщики строк на выходе. В результате конфигурационный код для работы с .xml более, чем в сто раз по объему превышает код аналогичного по функциональности какого-нибудь .conf или .ini.
А даже козе известно, что программа всегда загружается в память целиком, соответственно, объем памяти, выделяемой программе из кучи уменьшается. Как говорится, чем выше уровень абстракции, тем меньше доступной памяти остается приложению.
...
В этот же струю перманентное изменение пользовательского интерфейса в непонятную сторону. Причем "методом бродячей мысли". Объявляем CUA и принципы организации UI, разработанные командами, в которых 80% составляли медики разных специальностей и юристы, устаревшим, и нанимаем инклюзивных дизайнеров. Необязательно бодипозитивных и черных, но чтобы с цветным зрением обязательно была проблема. Ну и в результате имеем бледно серое на чуть более бледном сером. И ночные темы. Вот куда ночные темы для офиса? Все же люди с ним исключительно днем работают или при ярком свете, рекомендованном окулистами, психиатрами и, самое важное, юристами. При этом в организациях нет и никогда не будет тех мониторов, на которых можно устойчиво в течение 6-и рабочих часов различать более 4-х градаций серого. Вот куда пропали нормальные цветные иконки, что были в 4 и 5 версиях? Чем не угодили?

mikekaganski

Цитата: McAaron от 17 сентября 2025, 16:39Выше ответили на ваш вопрос
Нет.
Поэтому ещё раз: Что именно не так? Простым языком, одним предложением, если можно. Эссе - это на другие сайты.
С уважением,
Михаил Каганский