WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Советы » Правила (Rules)

Правила (Rules)


Дата публикации: 04-02-2008

Элементы rule определяют совокупность ограничений, накладываемых на частный контекст конкретного документа (например, на элемент или совокупность элементов). Это очень похоже на шаблоны XSLT, которые инициируются по отношению к узлу или группе узлов, возвращенных выражением XPath. В таблице стилей XSLT, которую мы определили выше:

<xsl:template match='shortStory'>

атрибут match заставляет XSLT-процессор оценивать выражение XPath shortStory, а затем подвергать обработке шаблон, относящийся к элементу shortStory. Содержимое элемента проверки (rule) функционирует в пределах контекста элементов, сопоставленных по его атрибуту context.

Элементы проверки могут содержать элементы assert и report. Эти элементы обрабатываются в зависимости от оценки XPath их атрибута test. Единственное различие между ними заключается в том, что элементы assert подвергаются обработке, если выражение XPath выдает ложь (false), а элементы report - если получено значение истина (true) (В общем, элемент assert задуман для определения ошибок; элемент report можно использовать для сообщения о положительных свойствах конкретного документа).

Механизм assert/report подобен элементу XSLT xsl:if из рассмотренной выше таблицы стилей, - он также имеет атрибут test, который определяет, обрабатывается ли в результирующем XML-дереве содержимое элемента xsl:if.

Обратите внимание на то, что узел может быть только контекстом одного правила (первое правило сопоставления, с которым сталкивается процессор) в пределах модели. Однако, узел может много раз сопоставляться в пределах различных моделей. Таким образом, группировки моделей имеют огромное значение. Каждое сопоставление контекстного узла может считаться отдельным ограничением.

С помощью этих элементов авторы схем Schematron могут обеспечивать функциональную (и понятную человеку) обратную связь в отношении недопустимых XML-документов. Благодаря обратной связи, определяемой пользователем, уникальный подход Schematron является более мощным механизмом объявления схем по сравнению с другими языками описания схем.

Наконец, элементы assert и report имеют элемент name, который применяется для подстановки в выходной поток имени элемента. Этот элемент name имеет факультативный атрибут path, который возвращает узел, имя тега которого будет вставлено на место элемента name. Если атрибут path не указан, вместо него используется имя текущего контекстного узла. Этот элемент часто используется элементами assert и report для идентификации имени тега элемента-нарушителя (offending element) в пределах верификационного сообщения.

 

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Октябрь 2018 (14)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта



Случайная цитата

Yoggi Berra:

"В теории, теория и практика неразделимы. На практике это не так."

Опрос

Какими социальными сетями Вы пользуетесь?

Vkontakte.ru
Одноклассники
Мой Мир - mail.ru
Google Plus
Facebook
ЖЖ
Другие
Не пользуюсь