mcpField
X
xdto-decompile

xdto-decompile

github.com/nikolay-shirokov开发74144 次安装今天更新
代码仓库

关于 xdto-decompile

xdto-decompile 可将 XDTO 包转换为可读、可编辑的 XML Schema(XSD),适用于检查或整体修改模式,并支持保留元数据以便重新编译。

主要功能

  1. 01将 XDTO 包转换为 XSD
  2. 02读取包路径或元数据 XML
  3. 03输出到文件或标准输出
  4. 04保留元数据以便重新编译
  5. 05导出有效且不丢失包数据的模式

适用场景

  1. 01检查陌生的包模式
  2. 02整体修改模式后重新编译
  3. 03向合作方提供包模式

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/xdto-decompile确认已加载。

附带文件scripts/xdto-decompile.ps1scripts/xdto-decompile.py

README 原文English

来自项目 README

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 у свойств-атрибутов.

评论

支持 Markdown