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