Есть ли язык проверки схемы для YAML? Я гуглил, но не нашел ничего полезного.
Что-то вроде формата XSD с использованием самого языка для описания схемы было бы лучшим выбором в моем случае.
Есть ли язык проверки схемы для YAML? Я гуглил, но не нашел ничего полезного.
Что-то вроде формата XSD с использованием самого языка для описания схемы было бы лучшим выбором в моем случае.
Схему JSON можно использовать с большинством документов YAML, в результате чего получается более переносимое и лучше документированное решение, чем Rx или Подтвердить. Схема JSON — единственная из трех, для которых мне удалось найти поддержку редактора< /а>.
На этой странице отслеживается дополнительная информация об использовании схемы YAML и JSON, включая инструменты и поддержку редактора. На момент написания статьи в Visual Studio Code существовала поддержка редактора, а через npm был доступен инструмент проверки на основе командной строки.
Полное раскрытие: я создал веб-сайт, указанный выше, чтобы попытаться сделать приложение JSON Schema к YAML более доступным для обнаружения. Я также написал расширение редактора для VS Code, которое с тех пор было заменено расширением RedHat, указанным выше.
Попробуйте Kwalify (только для Ruby и Java) или Rx (много языков)
Kwalify была хорошей альтернативой, к сожалению, она больше не поддерживается. pykwalify выглядит многообещающе
- person nowox; 28.10.2015
Интересно, имеет ли смысл повторно использовать для этого схему JSON. YAML можно легко преобразовать в JSON без потери какой-либо информации (?), поэтому теоретически YAML может быть проверен той же цепочкой инструментов, что позволит сообществу открытого исходного кода сконцентрироваться на одной хорошей цепочке инструментов схемы. Сама схема также может быть написана на YAML и преобразована в JSON.
Хорошая идея. Погуглил, потому что искал то же самое.
Можно преобразовать YAML в XML определенным образом (аналогично JSON ‹-> XML) и проверить с помощью стандартного средства проверки XML.
В зависимости от вашей платформы существуют инструменты или фрагменты для этого преобразования: JavaScript ( NPM), Ruby, Java (Jackson), Java (TestNG) (вам нужно будет посмотреть в источнике, какие параметры ему нужны).
Если это делается с помощью API, позиции ошибок можно даже сопоставить с исходным файлом YAML.