mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-07 20:20:20 +03:00
fix(17 навыков): самозакрывающийся тег без пробела и UTF-8 в декларации (#57)
.NET XmlWriter пишет `<a />`, а Конфигуратор — `<a/>`. Поскольку Save переписывает файл целиком, meta-edit при добавлении одного реквизита переводил в пробельную форму все пустые теги документа. Дефект только у PS-порта: lxml (45 из 49 py-портов) уже пишет плотно, то есть порты расходились побайтово. Канон измерен, а не предположен: чистая выгрузка пустой ИБ на Windows и macOS плюс сплошной скан 8 выгрузок в cfsrc — 476 943 XML, 21 294 119 самозакрывающихся тегов, пробельных 0. Форма не зависит от ОС, версии платформы (8.3.20-8.5) и наличия атрибутов. Правило уже было реализовано в skd-edit — оттуда и взято. Замена безопасна доказуемо: .NET экранирует `>` как `>` и в тексте, и в атрибутах, поэтому ` />` после Save — только конец тега. Лазейки (CDATA, комментарии) в 1С-метаданных не встречаются — 0 из 476 943 файлов; гард на них всё равно стоит. Одиннадцать скриптов писали прямо в FileStream без пост-обработки — переведены на MemoryStream, что заодно чинит `encoding="utf-8"` строчными (335 файлов в снэпшотах). В cfe-borrow правится и сборка Form.xml: куски берутся из OuterXml, а он спацовывает так же, как XmlWriter. Дрейф снэпшотов: 12 838 строк тегов + 335 деклараций, содержательных изменений ноль. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ccd860ae89
commit
39cf8e49cf
@@ -40,7 +40,7 @@
|
||||
<v8:content>Тест</v8:content>
|
||||
</v8:item>
|
||||
</Synonym>
|
||||
<Comment />
|
||||
<Comment/>
|
||||
<ConfigurationExtensionPurpose>Customization</ConfigurationExtensionPurpose>
|
||||
<KeepMappingToExtendedConfigurationObjectsByIDs>true</KeepMappingToExtendedConfigurationObjectsByIDs>
|
||||
<NamePrefix>Тест_</NamePrefix>
|
||||
@@ -56,11 +56,11 @@
|
||||
<Vendor></Vendor>
|
||||
<Version></Version>
|
||||
<DefaultLanguage>Language.Русский</DefaultLanguage>
|
||||
<BriefInformation />
|
||||
<DetailedInformation />
|
||||
<Copyright />
|
||||
<VendorInformationAddress />
|
||||
<ConfigurationInformationAddress />
|
||||
<BriefInformation/>
|
||||
<DetailedInformation/>
|
||||
<Copyright/>
|
||||
<VendorInformationAddress/>
|
||||
<ConfigurationInformationAddress/>
|
||||
<InterfaceCompatibilityMode>TaxiEnableVersion8_2</InterfaceCompatibilityMode>
|
||||
</Properties>
|
||||
<ChildObjects>
|
||||
|
||||
Reference in New Issue
Block a user