Описание тега schematron

Schematron - это структурный язык проверки XML-документов на основе правил. Он использует XPath и XSLT для проверки правил, недоступных для большинства других схем.

Schematron - это язык проверки документов XML на основе правил. Schematron позволяет моделировать сложные отношения в содержимом XML и формулировать правила, которые не поддерживаются большинством других языков схем. Schematron не часто используется один, но обычно используется вместе с другим языком схем. В этом случае другой язык используется для проверки грамматики модели XML, а схема используется для проверки бизнес-правил.

Один из самых мощных механизмов - sch:assertion, что позволяет автору схемы утверждать произвольные выражения XPath и сообщать о любом содержании, в котором это утверждение не удалось. На сегодняшний день XML Schema 1.1 является единственным языком схем, который поддерживает утверждения (в то время как DTD, XML Schema 1.0 и RNG не поддерживают).

Хотя существуют реализации, которые работают непосредственно со схемами схемы, каноническая модель должна сначала преобразовать схему в таблицу стилей xslt с использованием таблиц стилей, доступных на домашней странице схемы, которые затем можно использовать для проверки входного документа путем преобразования его в язык отчетов о проверке схематрона. (SVRL), язык, используемый для сообщения результатов проверки схемы. Многие реализации, которые работают напрямую со схематроном, внутренне следуют этой канонической модели.

Дополнительной и очень положительной особенностью schematron является то, что разработчик схемы может писать свои собственные сообщения проверки. Это позволяет schematron генерировать очень четкие пояснительные сообщения об ошибках, функции, отсутствующей в других языках схем.

Он был изобретен Риком Джеллиффом и является стандартом ISO. В дополнение к основному языку тот же стандарт ISO определяет язык SVRL, используемый для отчетов о результатах валидации.