Проверка схемы YAML? - PullRequest
       33

Проверка схемы YAML?

55 голосов
/ 21 февраля 2011

Есть ли язык проверки схемы для YAML?Я гуглил, но не смог найти ничего полезного.

Что-то вроде формата XSD, использующее сам язык для описания схемы, было бы лучшим выбором в моем случае.

Ответы [ 4 ]

24 голосов
/ 30 июня 2017

Схема JSON может использоваться с большинством документов YAML, что дает более портативное и лучшее документированное решение, чем Rx или Kwalify .JSON Schema - единственная из трех, для которой мне удалось найти поддержку редактора .

Подробнее информация об использовании YAML и JSON Schema, включая инструменты и поддержку редактора, отслеживаетсяэта страница .На момент написания статьи в Visual Studio Code была поддержка редактора и инструмент проверки на основе командной строки, доступный через npm.


Полное раскрытие: я создал веб-сайт, указанный выше, чтобы попытатьсясделать применение JSON-схемы к YAML более доступным для обнаружения.Я также написал расширение для редактора VS Code, которое с тех пор было заменено расширением RedHat, связанным выше.

18 голосов
/ 21 февраля 2011

Попробуйте Kwalify (только для Ruby и Java) или Rx (много языков)

2 голосов
/ 03 октября 2016

Интересно, имеет ли смысл повторно использовать для этого схему JSON. YAML может быть легко преобразован в JSON без потери какой-либо информации (?), Поэтому теоретически YAML можно проверять с помощью одной и той же цепочки инструментов, что позволяет сообществу разработчиков открытого исходного кода концентрироваться на одной хорошей цепочке инструментов схемы. Сама схема также может быть написана на YAML и преобразована в JSON.

0 голосов
/ 11 мая 2018

Хорошая идея.Погуглил, потому что я искал то же самое.

Можно конвертировать YAML в XML определенным образом (аналогично JSON <-> XML) и проверять с помощью стандартного валидатора XML.

В зависимости от вашей платформы, есть инструменты или фрагменты для этого преобразования: JavaScript (NPM) , Ruby , Java (Джексон) , Java (TestNG) (вам нужно будет узнать, какие параметры ему нужны).

Если все сделано с помощью API, позиции ошибок можно даже отобразить обратно в исходный файл YAML.

...