Namespace Forest
September 1, 2026 · View on GitHub
Схемы форматов исходников 1С:Предприятие 8: XSD выгрузки конфигуратора и метамодель 1С:EDT.
Всё лежит в schemas/, дальше — формат, дальше — его версия:
schemas/
├── designer/<версия формата>/ XSD выгрузки конфигуратора
└── edt/<версия EDT>/ метамодель 1С:EDT
Схемы конфигуратора
Структура: schemas/designer/<версия>/ — например, schemas/designer/2.10/ (полный набор *.xsd в каждой). Здесь <версия> — это версия формата выгрузки конфигуратора (атрибут version корневого MetaDataObject, он же максимальное значение FormatVersion в …-xcf-enums.xsd), а не номер релиза платформы: несколько релизов платформы могут давать один и тот же формат. Цифры 8.1 / 8.2 / 8.3 в именах отдельных файлов — это namespace внутри схем, а не уровни каталогов.
Схемы EDT
Структура: schemas/edt/<версия EDT>/ — например, schemas/edt/2026.1/. Здесь <версия> — это версия самой EDT: собственного номера формата в .mdo нет.
Внутри два вида схем:
ecore/— метамодель в машиночитаемом виде, по файлу на пакет EMF; имя файла собрано из nsURI (g5.1c.ru.v8.dt.metadata.mdclass.ecoreдляhttp://g5.1c.ru/v8/dt/metadata/mdclass). Тот же nsURI стоит в корне.mdo, так что схема с файлом связаны напрямую.xcore/<плагин>/— первоисточник: метамодель EDT описана в Xcore, и в нём есть аннотации, которых в.ecoreне остаётся.
Как схемы добываются: файлы .xcore лежат внутри jar плагинов EDT в каталоге model/, а рядом в plugin.xml каждый пакет объявлен тройкой «nsURI, класс пакета, xcore». Отсюда и берётся .ecore: класс загружается, у него читается eINSTANCE и сохраняется как XMI. Xcore-тулинг для этого не нужен.
Извлечение — tools/edt-schemas/extract.sh:
tools/edt-schemas/extract.sh 2026.1 "$LOCALAPPDATA/1C/1cedtstart/installations/1C_EDT 2026.1/1cedt"
Состав плагинов берётся из bundles.info конкретной установки: в общем пуле p2 лежат сразу несколько версий EDT, и смешивать их нельзя. Обработанные версии перечислены в schemas/edt/processed-versions.json.
Использование в экосистеме
md-sparrowиспользует XSD для JAXB-моделей и валидации XML, а схемы EDT — для работы с исходниками в формате EDT;vscode-1c-platform-toolsработает с метаданными черезmd-sparrow, поэтому фактическая поддержка типов и версий схем зависит от связкиmd-sparrow+namespace-forest.
Автоматическое обновление схем
Workflow .github/workflows/update-schemas.yml — еженедельно и по ручному запуску.
Конвейер для каждой версии платформы:
yardполучает список релизов с releases.1c.ru, отбирает версии не нижеmin_versionи отсутствующие вschemas/designer/processed-versions.json;yardскачивает дистрибутив, ставится платформа (компонентыserver+client_full);ibcmdсоздаёт файловую ИБ и загружает конфигурацию изsrc/с HTTP-сервисомВыгрузкаСхем;ibsrvпубликует сервис;GET /hs/xsd/dumpвозвращает XSD.
Номер каталога — максимум FormatVersion из выгруженного …-xcf-enums.xsd.
Состав набора задают корневые пакеты в модуле сервиса ВыгрузкаСхем: http://v8.1c.ru/8.3/MDClasses (объекты метаданных) и http://v8.1c.ru/8.3/xcf/logform (содержимое управляемой формы); остальные пакеты платформа подтягивает по зависимостям. Если этот список меняется, ранее собранные каталоги нужно перевыгрузить: ручной запуск workflow с флагом redump берёт по старшей версии платформы на каждый формат.
Секреты (Settings → Secrets → Actions): ONEC_LOGIN, ONEC_PASSWORD — учётные данные releases.1c.ru.
Каталог src/ — конфигурация для извлечения схем, не часть набора schemas/.
Лицензия
*.xsd — авторские права ООО «1С-Софт», не MIT. См. LICENSE.
Для разработчиков и ИИ
Правила Cursor: .cursor/rules/*.mdc (контекст XSD, связь с md-sparrow).
Автор
Ivan Karlo (i.karlo@outlook.com)
При желании, отблагодарить автора можно по ссылке: