2014-01-22 2 views
0

В чем разница между анализом и валидацией? Как сам анализ может распознать структуру сообщений, почему мы должны идти на проверку?Разбор с проверкой в ​​брокере сообщений

Выполнение анализа делает ошибку, если сообщение не соответствует структуре, определенной для анализатора MRM, а затем, почему свойство validation должно быть установлено с «содержимым и значением»?

ответ

3

Во-первых, только синтаксические анализаторы с моделью сообщений могут проверять, так что это XMLNSC/SOAP (со схемой), MRM, DFDL и DataObject.

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

С проверкой достоверности парсинг на основе XMLNSC подтвердит, что сообщение придерживается модели emssage и проверяет все грани/схемы схемы, определенные в схеме для достоверности.

DFDL и MRM - это синтаксические анализаторы, основанные на модели, не существует возможности использовать эти синтаксические анализаторы без модели сообщений, поэтому они всегда проверяют содержимое сообщения по отношению к модели. Неверлизующий синтаксический разбор с этими синтаксическими анализаторами имеет более сильные ограничения, чем синтаксический анализатор на основе XMLNSC. При проверке достоверности эти парсеры проверяют, что данные могут быть интерпретированы как экземпляр модели.

При проверке парсеров MRM и DFDL дополнительно проверяются ограничения значений, правильные данные имеют правильный тип и проверяют ограничения порядка.

+0

Как вы объяснили, если данные интерпретируются как экземпляр модели при простом анализе, это похоже на то, что она все равно будет проверять содержимое, значение и порядок. В противном случае экземпляр будет терпеть неудачу против модальности, а затем почему требуется еще «проверка содержания и ценности»? – Rad4

+0

Для анализа MRM и DFDL выполняется проверка на соответствие модели, но ограничения проверяются только в том случае, если проверка включена. Так, например, с неаудирующим синтаксическим анализом против модели он будет проверять только, если определенное поле может быть интерпретировано как in, используя Content и Value, которое может проверить int, говорит от 10 до 15. – Dave

Смежные вопросы