Files
cc-1c-skills/tests/skills/cases/xdto-decompile/annotations.xsd
T
Nick ShirokovandClaude Opus 5 5d5a1bc36a fix(xdto): три дефекта, найденных платформенной верификацией снэпшотов
verify-snapshots загружает результат каждого кейса в 1С. Раньше навыки xdto
через него не проходили вовсе; первый прогон дал 5 из 9. Ни корпусная сверка,
ни валидатор такого не ловили: корпус состоит из заведомо валидных пакетов,
а синтетические кейсы до сих пор в базу не грузились.

1. fixed. В модели XDTO это булев флаг, значение лежит в default; в XSD наоборот —
   fixed="V" несёт значение. Компилятор писал значение прямо в fixed, и платформа
   отвергала пакет («Отсутствует фиксированное значение свойства»). Перевод сделан
   в обе стороны; по принципу прощающего ввода принимается и модельная форма через
   зеркало xdto:fixed. Отображение выведено по корпусу: fixed встречается только
   вместе с default, значений всего два.

2. Импорт на несуществующий пакет платформа отвергает («xdto-package-3.3 …
   не определен»), а у нас проверки не было. Добавлена ошибка валидатора и,
   что важнее, предупреждение прямо на сборке — отказ при db-update дешевле
   поймать на шаг раньше. Правило пришлось калибровать корпусом: сначала оно
   дало 67 ложных срабатываний на платформенных пространствах имён, их список
   выведен и исключён.

3. localName проверяется как NCName — фикстура с пробелом в имени была негодной,
   заменена на реалистичный дефис (name="alpha_3" localName="alpha-3").

Харнесс получил skipPlatformVerify с обязательной причиной: результат
set-namespace невалиден by design, операция намеренно оставляет висящий импорт
у зависящего пакета.

Итог: 9/9 компилятора, 9/10 + 1 осознанный пропуск у edit, round-trip 760/760,
валидатор 0 ложных, 40 тестов на обоих рантаймах.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 14:51:08 +03:00

29 lines
1.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xdto="http://v8.1c.ru/8.1/xdto"
xmlns:tns="urn:test:annotations"
targetNamespace="urn:test:annotations">
<xs:annotation>
<xs:appinfo>
<xdto:package>
<xdto:name>ПакетСАннотациями</xdto:name>
<xdto:synonym lang="ru">Пакет с аннотациями</xdto:synonym>
<xdto:synonym lang="en">Annotated package</xdto:synonym>
<xdto:comment>Проверка xs:appinfo</xdto:comment>
</xdto:package>
</xs:appinfo>
</xs:annotation>
<xs:complexType name="Контакт" xdto:sequenced="true">
<xs:sequence>
<xs:element name="Комментарий" type="xs:string" minOccurs="0" xdto:form="Element"/>
<xs:element name="alpha-3" type="xs:string" xdto:name="alpha_3" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Представление" type="xs:string" xdto:nillable="true" xdto:lowerBound="0"/>
</xs:complexType>
<xs:complexType name="ЯвныйПорядок" xdto:order="Элемент|Атрибут">
<xs:sequence>
<xs:element name="Элемент" type="xs:string"/>
</xs:sequence>
<xs:attribute name="Атрибут" type="xs:string"/>
</xs:complexType>
</xs:schema>