Как отлаживать правила Schematron?

У меня есть схема XSD с различными встроенными правилами Schematron. У меня также есть XML, который должен быть допустимым, но это не так, поэтому мне нужно исправить правила.

Как я могу эффективно отладить, как оценивается каждое утверждение?

(В настоящее время я использую Oxygen, но мне подойдет любой инструмент, который выполняет эту работу.)


person biziclop    schedule 23.10.2012    source источник
comment
Привет, обычно Schematron проверяется с использованием стандартной реализации в виде таблиц стилей XSLT. Это означает, что фактическая проверка заключается в применении окончательной таблицы стилей, которая создается (в несколько шагов) из схемы Schematron. Если у вас есть таблица стилей, которая применяется для проверки экземпляра документа, вы можете запустить ее через любой отладчик XSLT. Единственный известный мне инструмент, позволяющий сохранить таблицу стилей проверки в виде отдельного файла, — это XML ValidatorBuddy. Может быть, это поможет.   -  person Clemens    schedule 01.11.2012
comment
@Clemens Спасибо, это хорошая идея. Если вы скопируете это как ответ, я могу проголосовать за него :)   -  person biziclop    schedule 01.11.2012
comment
Конечно, мне всегда нравятся плюсы ;)   -  person Clemens    schedule 01.11.2012


Ответы (2)


обычно Schematron проверяется с использованием стандартной реализации в виде таблиц стилей XSLT. Это означает, что фактическая проверка заключается в применении окончательной таблицы стилей, которая создается (в несколько шагов) из схемы Schematron. Если у вас есть таблица стилей, которая применяется для проверки экземпляра документа, вы можете запустить ее через любой отладчик XSLT. Единственный известный мне инструмент, позволяющий сохранить таблицу стилей проверки в виде отдельного файла, — это XML. ValidatorBuddy . Может это поможет

(Примечание: скопировано из комментария как ответ по запросу)

person Clemens    schedule 31.10.2012

Вы также можете использовать пошаговую отладку в собственном механизме schematron. Вы не упомянули свой стек разработки, но когда я хочу сделать то, о чем вы говорите, я запускаю свой механизм схемы в отладчике и использую точки останова для проверки состояния вещей для рассматриваемого правила/шаблона/утверждения - что предоставляется для узла контекста? что возвращает утверждение xpath в окне просмотра? и т.д... и т.д...

Вот схематический движок C#.

person gap    schedule 04.08.2014