mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-26 22:51:03 +03:00
docs(xdto-guide,xdto-decompile): вернуть рецепт версионной копии исполнителю
Предыдущая правка гайда изложила копирование пакета пошагово в повелительном наклонении, и стало неясно, кому эти шаги адресованы: гайд построен на том, что задачу ставят словами, а шаги делает агент. Пользователь мог прочитать это как работу, которую надо сделать самому. В гайде теперь сказано, что происходит и чего достаточно назвать в задаче. Сами шаги и острая кромка (менять targetNamespace вместе с объявлением xmlns, не заменять все вхождения строки) — в SKILL.md навыка выгрузки, там же, где описан путь «выгрузить → поправить → собрать». Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
32455a64b1
commit
05856abe25
+6
-13
@@ -113,20 +113,13 @@
|
||||
|
||||
Типовой приём: рядом со старым пакетом появляется новый с другим пространством
|
||||
имён (`EnterpriseData_1_19` → `_1_20`), а старые потребители продолжают смотреть
|
||||
на прежний namespace. Копия делается через выгрузку схемы и сборку под новым именем:
|
||||
на прежний namespace.
|
||||
|
||||
1. `/xdto-decompile` исходного пакета в файл схемы;
|
||||
2. в схеме поменять `targetNamespace` — **и связанное с ним объявление `xmlns`**,
|
||||
которым внутренние ссылки пользуются как префиксом;
|
||||
3. `/xdto-compile` этой схемы с `-Name` нового пакета (имя и синоним задаются
|
||||
флагами, править их внутри схемы не нужно).
|
||||
|
||||
Внутренние ссылки при этом переводятся на новый namespace целиком, импорты чужих
|
||||
пакетов сохраняются, исходный пакет не меняется.
|
||||
|
||||
Менять `targetNamespace` **заменой всех вхождений строки** — плохая идея: если пакет
|
||||
импортирует пространство имён, у которого старый URI является префиксом
|
||||
(`urn:example:exchange` и `urn:example:exchange:legacy`), заменится и оно.
|
||||
Отдельной команды для этого нет: агент выгружает схему исходного пакета, меняет в ней
|
||||
пространство имён и собирает под новым именем. Дополнительных действий это не требует —
|
||||
достаточно назвать в задаче исходный пакет, новое имя и новый namespace. Внутренние
|
||||
ссылки переводятся на него целиком, импорты чужих пакетов сохраняются, исходный пакет
|
||||
остаётся как был.
|
||||
|
||||
Если же надо сменить namespace **у существующего** пакета, а не сделать копию, агент
|
||||
перепишет все внутренние ссылки и перечислит пакеты, которые импортируют старый — но
|
||||
|
||||
Reference in New Issue
Block a user