mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-13 22:35:16 +03:00
fix(meta-decompile): пробельный xs:string FillValue терялся (PreserveWhitespace, v0.34)
Загрузка XML с PreserveWhitespace=false рубила пробельное содержимое → FillValue из одних пробелов (`<xr:FillValue xsi:type="xs:string"> </>`) декомпилировался как пустой → компилятор эмитил typed-empty, роундтрип диффил (known NOT COVERED с v1.27). Включение PreserveWhitespace=true захватывает пробелы, компилятор их эмитит через Esc-XmlText. Чистый выигрыш без регрессий (валидировано): Catalog match 44→52, TOTAL 28→12; Document match 118→130, TOTAL 94→62; 0 крашей, 0 паразитных whitespace-ADDED. Остаток FillValue — нишевые typed-fillValue (LineNumber decimal-0, composite-Number type-loss, DTR). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# meta-decompile v0.33 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
|
||||
# meta-decompile v0.34 — XML объекта метаданных 1С → JSON-черновик формата meta-compile
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
#
|
||||
# Поддержаны: Catalog, ExchangePlan, ChartOfCharacteristicTypes, ChartOfAccounts, ChartOfCalculationTypes, Document. Инверс meta-compile (omit-on-default: ключ эмитим только
|
||||
@@ -72,7 +72,7 @@ function Quote-Json {
|
||||
|
||||
# --- XML загрузка + namespace manager ---
|
||||
$doc = New-Object System.Xml.XmlDocument
|
||||
$doc.PreserveWhitespace = $false
|
||||
$doc.PreserveWhitespace = $true
|
||||
$doc.Load((Resolve-Path -LiteralPath $ObjectPath).Path)
|
||||
$nsm = New-Object System.Xml.XmlNamespaceManager($doc.NameTable)
|
||||
$nsm.AddNamespace('md', 'http://v8.1c.ru/8.3/MDClasses')
|
||||
|
||||
Reference in New Issue
Block a user