mcpField
X
xdto-decompile

xdto-decompile

github.com/nikolay-shirokovDevelopment74144 installsUpdated today
Repository

About xdto-decompile

xdto-decompile is a skill for converting an XDTO package into a readable, editable XML Schema (XSD). It is intended for examining or broadly revising package schemas and can preserve package metadata for recompilation.

Key features

  1. 01Convert XDTO packages to XSD
  2. 02Read package paths or metadata XML
  3. 03Write to a file or stdout
  4. 04Preserve metadata for recompilation
  5. 05Export a valid schema without package data loss

Use cases

  1. 01Inspect an unfamiliar package schema
  2. 02Make broad schema edits before recompiling
  3. 03Provide a package schema to a counterparty

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill xdto-decompile

After installing, type/xdto-decompilein Claude Code to confirm it loaded.

Bundled filesscripts/xdto-decompile.ps1scripts/xdto-decompile.py

Details

From the project README

/xdto-decompile — Выгрузка пакета XDTO в XML-схему

Превращает пакет XDTO в обычную XML-схему — читаемую и редактируемую. Заменяет чтение Ext/Package.bin напрямую.

Параметры

ПараметрОбязательныйОписание
PackagePathдаКаталог пакета, путь к Ext/Package.bin или к <Имя>.xml объекта метаданных. Псевдоним — -Path
OutFileнетЗаписать схему в файл (UTF-8 с BOM). Без него — вывод в stdout
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-decompile.ps1" -PackagePath "<путь>"

Примеры:

... -PackagePath src/XDTOPackages/ОбменСБанком
... -PackagePath src/XDTOPackages/ОбменСБанком -OutFile bank.xsd

Переработка схемы целиком

/xdto-decompile → правка XSD → /xdto-compile -Force возвращает пакет без потерь, включая имя, синоним и комментарий объекта метаданных — они выгружаются в xs:annotation/xs:appinfo.

Этот же путь даёт версионную копию пакета: смени в схеме targetNamespace и собери её с -Name нового пакета — имя и синоним задаются флагами /xdto-compile, внутри схемы их править не нужно. Меняя пространство имён, поправь и объявление xmlns с тем же URI: внутренние ссылки пользуются им как префиксом. Заменять все вхождения строки нельзя — пострадает импорт пространства имён, для которого старый URI является префиксом (urn:пример:обмен и urn:пример:обмен:legacy).

Этот путь нужен, когда схему меняют широко или сначала надо разобраться, как она устроена. Чтобы поправить одно свойство, схему целиком читать не нужно — /xdto-edit. Если нужна не схема, а сводка «что присвоить и что обязательно», — /xdto-info.

В схеме могут встретиться атрибуты с префиксом xdto: — так записано то, что XML Schema выразить не может (например nillable у атрибута). Схема при этом остаётся валидной, валидаторы такие атрибуты игнорируют. Трогать их обычно не нужно; смысл каждого описан в xsd-reference.md навыка /xdto-compile.

Передача схемы наружу

Полученную XSD можно отдавать контрагенту как есть — она валидна и не теряет данных пакета. Штатная команда «Экспорт XML-схемы» в Конфигураторе для этого хуже: она теряет nillable у свойств-атрибутов.

Comments

Markdown supported