Использование json-validate для сложной схемы - PullRequest
0 голосов
/ 03 января 2019

Попытка использовать MarkLogic xdmp:json-validate для проверки экземпляров ресурсов в формате FHIR по опубликованной схеме FHIR JSON , которую я загрузил в свою базу данных схем.Когда есть недопустимый элемент, мой вывод в консоли запросов всегда одинаков:

[1,0-мл] XDMP-JINVNODE: oneOf fn: doc ("/ documents / examples / ml_loaded_member_1.json") / object-node () "fhir.schema.json" {...}

, где {...} представляется полным дампом огромной схемы.

Как получить осмысленное сообщение, указывающее точную ошибку проверки схемы?

ОБНОВЛЕНИЕ: После немного большего исследования общей проверки с использованием схемы json, я предполагаю, что эта проблема связана сиспользование ключевого слова "criminator / propertyName "в схеме FHIR.Это значение ключевого слова («resourceType») сообщает валидаторам, как определить, какое определение («Пациент» в моем примере) проверять.Я подозреваю, что это не очень хорошо поддерживается, поэтому в отчете об ошибках перечислены все определения в схеме, которым данный узел не соответствует.(или что-то в этом роде)

1 Ответ

0 голосов
/ 04 января 2019

Похоже, что отсутствует определение ошибки, поэтому вы не получаете отформатированное сообщение об ошибке.Что бы это ни стоило, oneOf говорит вам, что это ограничение, которое вышло из строя, и второе - это путь к узлу, который не прошел ограничение.Мы все еще работаем над улучшением некоторых отчетов об ошибках: отчеты об ошибках через службу поддержки будут полезны.

...