mxl-decompile について
mxl-decompileは、1Cの表計算ドキュメントにあるTemplate.xmlを、mxl-compileが使う簡潔なJSON DSLに変換します。既存レイアウトの確認や編集に使えますが、一部のXML情報は往復変換で保持されません。
主な機能
- 01Template.xmlをJSON DSLに変換
- 02ファイルまたは標準出力への出力
- 03コンパイラー固有のDSLキーを保持
- 04レイアウトの確認と編集
活用シーン
- 01既存の1C表計算レイアウトの確認
- 02JSONでレイアウト構造やスタイルを編集
- 03デコンパイル後のレイアウト再生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill mxl-decompileインストール後、Claude Code で/mxl-decompileを入力して読み込まれたか確認します。
同梱ファイルscripts/mxl-decompile.ps1scripts/mxl-decompile.py
README(原文)English
プロジェクトの README よりこの README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。
/mxl-decompile — Декомпилятор макета в DSL
Принимает Template.xml табличного документа 1С и генерирует компактное JSON-определение (DSL). Обратная операция к /mxl-compile.
Использование
/mxl-decompile <TemplatePath> [OutputPath]
Параметры
| Параметр | Обязательный | Описание |
|---|---|---|
| TemplatePath | да | Путь к Template.xml |
| OutputPath | нет | Путь для JSON (если не указан — stdout) |
Команда
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-decompile.ps1" -TemplatePath "<путь>/Template.xml" [-OutputPath "<путь>.json"]
Рабочий процесс
Декомпиляция существующего макета для анализа или доработки:
- Вызвать
/mxl-decompileдля получения JSON из Template.xml - Проанализировать или изменить JSON (добавить области, поменять стили)
- Вызвать
/mxl-compileдля генерации нового Template.xml - Вызвать
/mxl-validateдля проверки
Формат JSON на выходе — тот же DSL, что принимает /mxl-compile; его описание живёт в навыке /mxl-compile.
Ключи, которых нет в описании DSL
В разобранном макете попадаются ключи, которых нет в инструкции /mxl-compile: например,
у rowStyle — модификатор apply, у ячейки-поля ввода — controlType: "none". Они несут
состояние исходного файла, которое иначе не выразить. Писать их самому не нужно; удалять
из разобранного JSON — тоже: компилятор принимает их обратно как есть, а без них макет
изменится.
Что нужно знать о пересборке
Правка через DSL — это полная перегенерация макета, а не точечное изменение XML. Поэтому diff после цикла «декомпиляция → компиляция» обычно шире фактической доработки, даже когда содержание сохранено целиком.
Побайтового совпадения с исходником ждать не всегда стоит. В макетах, которые долго правили в Конфигураторе, остаются следы прежних состояний: например, формат ячейки несёт ширину колонки, которая с тех пор изменилась. Из итогового документа такие значения не выводятся, и в пересобранный файл они не возвращаются.
Не переживают цикл вовсе (в JSON не попадают, в XML не возвращаются):
- объединения, не привязанные к ячейке — по всей высоте или ширине документа;
- настройки диаграмм (
Chart,GanttChart) — сам рисунок сохраняется, его содержимое нет; - область печати.
Если задача — сохранить чужой макет как есть и поправить в нём малое, сверяйте результат
/mxl-info или diff-ом: перечисленное выше нужно вернуть руками.