docs(xdto-compile,xdto-decompile,xdto-validate): обязательность параметров и умолчания

В таблицах параметров не было видно, что обязательно, а что нет, и какие
значения подставляются по умолчанию. Добавлена колонка «Обязательный»
(по образцу form-edit), умолчания расписаны, отмечена взаимоисключающая
пара -XsdPath/-Xsd, псевдонимы -Path и поведение без -Force.

Сверил документацию с поведением скриптов: хеш-таблица в -Synonym работает
только в PS-порте, в Python её нет — из инструкции убрана, многоязычный
синоним задаётся блоком xs:appinfo, который поддерживают оба порта.

Убран последний след нашего обсуждения формата («отдельного DSL нет» —
читателю не с чем сравнивать), добавлено, где посмотреть уже собранные
пакеты, и точное имя файла справочника аннотаций.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-07-26 10:46:59 +03:00
co-authored by Claude Opus 5
parent 7ca6dfa6b2
commit 0aa9342407
3 changed files with 31 additions and 31 deletions
+16 -16
View File
@@ -1,7 +1,7 @@
---
name: xdto-compile
description: Создание пакета XDTO 1С из XML-схемы (XSD). Используй когда нужно добавить пакет XDTO в конфигурацию — для обмена, интеграции, веб-сервиса, разбора внешнего XML-формата
argument-hint: -XsdPath <файл.xsd> -OutputDir <каталог-исходников> [-Name <имя>] [-Synonym <синоним>] [-Comment <текст>] [-Force]
argument-hint: -XsdPath <файл.xsd>|-Xsd <схема> -OutputDir <каталог-исходников> [-Name <имя>] [-Synonym <синоним>] [-Comment <текст>] [-Force]
allowed-tools:
- Bash
- Read
@@ -13,20 +13,19 @@ allowed-tools:
Собирает пакет XDTO по XML-схеме: `XDTOPackages/<Имя>.xml`,
`XDTOPackages/<Имя>/Ext/Package.bin` и регистрацию в `Configuration.xml`.
Вход — обычная XSD. Отдельного формата описания нет: пиши схему так, как её пишут
везде, остальное навык сделает сам.
Вход — обычная XML-схема, писать её нужно так же, как для любого другого инструмента.
## Параметры
| Параметр | Описание |
|----------|----------|
| `XsdPath` | Путь к файлу XML-схемы |
| `Xsd` | Схема строкой, вместо `-XsdPath` |
| `OutputDir` | Каталог исходников конфигурации или расширения — там, где лежит `Configuration.xml` |
| `Name` | Имя объекта метаданных. По умолчанию — из `xs:appinfo`, иначе имя файла XSD |
| `Synonym` | Синоним: строка или хеш-таблица `@{ru='…'; en='…'}` |
| `Comment` | Комментарий |
| `Force` | Перезаписать существующий пакет |
| Параметр | Обязательный | Описание |
|----------|--------------|----------|
| `XsdPath` | один из двух | Путь к файлу XML-схемы. Псевдоним — `-Path` |
| `Xsd` | один из двух | Схема строкой, вместо `-XsdPath` |
| `OutputDir` | да | Каталог исходников конфигурации или расширения — там, где лежит `Configuration.xml` |
| `Name` | нет | Имя объекта метаданных. По умолчанию — из `xs:appinfo`, иначе имя файла XSD, санированное под идентификатор 1С |
| `Synonym` | нет | Синоним (строка). По умолчанию — из `xs:appinfo`, иначе имя пакета. Для нескольких языков задавай синоним в схеме, блоком `xs:appinfo` |
| `Comment` | нет | Комментарий. По умолчанию — из `xs:appinfo` |
| `Force` | нет | Перезаписать существующий пакет. Без него навык откажется затирать уже собранный пакет |
```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-compile.ps1" -XsdPath "<схема.xsd>" -OutputDir "<каталог-исходников>"
@@ -64,10 +63,11 @@ XSD выразительнее модели XDTO. Всё, что не перен
## Зависимости между пакетами
`<xs:import namespace="…"/>` разрешается по namespace среди пакетов конфигурации
или расширения.
Если пакета с таким пространством имён нет, платформа при загрузке молча подменит тип
на `xs:anyType` — без ошибки. Собирай сначала зависимости, потом зависящий пакет,
и проверяй результат через `/xdto-validate`.
или расширения. Если пакета с таким пространством имён нет, платформа при загрузке
молча подменит тип на `xs:anyType` — без ошибки. Собирай сначала зависимости, потом
зависящий пакет, и проверяй результат через `/xdto-validate`.
Какие пакеты уже собраны, видно в `ChildObjects` файла `Configuration.xml`.
## Что XSD выразить не может
+8 -8
View File
@@ -15,10 +15,10 @@ allowed-tools:
## Параметры
| Параметр | Описание |
|----------|----------|
| `PackagePath` | Каталог пакета, путь к `Ext/Package.bin` или к `<Имя>.xml` объекта метаданных |
| `OutFile` | Записать схему в файл. Без него — вывод в stdout |
| Параметр | Обязательный | Описание |
|----------|--------------|----------|
| `PackagePath` | да | Каталог пакета, путь к `Ext/Package.bin` или к `<Имя>.xml` объекта метаданных. Псевдоним — `-Path` |
| `OutFile` | нет | Записать схему в файл (UTF-8 с BOM). Без него — вывод в stdout |
```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-decompile.ps1" -PackagePath "<путь>"
@@ -40,13 +40,13 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-decompile.ps1"
В схеме могут встретиться атрибуты с префиксом `xdto:` — так записано то, что
XML Schema выразить не может (например `nillable` у атрибута). Схема при этом остаётся
валидной, валидаторы такие атрибуты игнорируют. Трогать их обычно не нужно; смысл
каждого описан в справочнике навыка `/xdto-compile`.
каждого описан в `xsd-reference.md` навыка `/xdto-compile`.
## Передача схемы наружу
Полученную XSD можно отдавать контрагенту как есть. В отличие от команды
«Экспорт XML-схемы» в Конфигураторе, навык не теряет `nillable` у свойств-атрибутов
и не пишет `form` на глобальных объявлениях, где спецификация XSD его не допускает.
Полученную XSD можно отдавать контрагенту как есть — она валидна и не теряет
данных пакета. Штатная команда «Экспорт XML-схемы» в Конфигураторе для этого
хуже: она теряет `nillable` у свойств-атрибутов.
## Верификация
+7 -7
View File
@@ -15,13 +15,13 @@ allowed-tools:
## Параметры
| Параметр | Описание |
|----------|----------|
| `PackagePath` | Каталог пакета, `Ext/Package.bin` или `<Имя>.xml` объекта метаданных |
| `ConfigDir` | Корень исходников. По умолчанию определяется по расположению пакета |
| `Detailed` | Показывать успешные проверки, а не только проблемы |
| `MaxErrors` | Остановиться после N ошибок (по умолчанию 20) |
| `OutFile` | Записать отчёт в файл |
| Параметр | Обязательный | Описание |
|----------|--------------|----------|
| `PackagePath` | да | Каталог пакета, `Ext/Package.bin` или `<Имя>.xml` объекта метаданных. Псевдоним — `-Path` |
| `ConfigDir` | нет | Корень исходников. По умолчанию определяется по расположению пакета |
| `Detailed` | нет | Показывать успешные проверки, а не только проблемы |
| `MaxErrors` | нет | Остановиться после N ошибок. По умолчанию 20 |
| `OutFile` | нет | Записать отчёт в файл |
```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/xdto-validate.ps1" -PackagePath "<путь>"