Русский учебник по XML


СТИЛЕВЫЕ ТАБЛИЦЫ XSL - часть 6


Как видно из примера, если в XML- документе будет найден элемент <title>, являющийся дочерним по отношению к элементу <article> (название статьи), то его форматирование будет несколько отличаться от элемента <title>, расположенного внутри тэгов <journal>

Приоритеты правил

В том случае, если внутри XSL- документа встречается несколько правил для одного и того же элемента, то msxsl будет использовать то из них, которое более точно определяет позицию данного элемента. Т.е. если XSL- документ содержит следующие правила: <rule> <element type="journal"> <target-element type="title"/> </element> <center> <hr width=80%> <children/> <hr width=80%> </center> </rule> <rule> <target-element type="title"/> <b> <children/> </b> </rule>

, то при использовании этой стилевой таблицы в случае, когда элемент <title> является потомком <journal>, к нему будет применено первое правило. Для любых же других элементов будет действовать правило без тэга <element>

В общем случае приоритет правил определяется следующим образом (в порядке убывания приоритета):

  • правила, помеченные специальным тэгом <importance>
  • правила с наибольшим значением атрибута id, если он определен
  • правила с наибольшим значением атрибута class, если он определен
  • правила, имеющие наибольшую вложенность, определяемую тэгом <element>
  • правила, использующие атрибут type совместно с <target-element>
  • правила, в которых отсутствует атрибут type в <target-element> или <element>
  • правила с более высоким приоритетом, задаваемым атрибутом priority тэга <rule>
  • правила с наибольшим значением квалификаторов <only>, <position>, <attribute>

Использование атрибутов элементов

Применительно к <target-element> и <element> в правилах также могут использоваться специальные элементы <attribute>;, при помощи которых можно уточнять характеристики обрабатываемых элементов, задавая различные инструкции форматирования для одинаковых элементов с различными атрибутами. Указываемые в <attribute> параметры name и value определяют атрибут XML, который должен иметь текущий обрабатываемый элемент. Например, в следующем фрагменте все элементы с атрибутом free_lance ="true" будут выделены в выходном HTML- документе серым цветом <rule> <target-element type="author"> <attribute name="free_lance" value="true"> </target-element> <p color="gray"> <children/> </p> </rule>




- Начало -  - Назад -  - Вперед -



Книжный магазин