Правила стилей
В отличие от CSS, в XSL невозможно использование каскадных стилевых определений(т.е. нельзя использовать несколько правил для определения стиля одного того же элемента), т.к. такие ограничения вводит рекурсивный алгоритм работы программы - анализатора. Однако использование правил определения стиля(Style Rules) элемента позволяет каким-то образом скомпенсировать этот недостаток.
Для определения правила стилевого оформления необходимо воспользоваться элементом <style-rule>;, который используется точно также, как и <rule>, но инструкции, содержащиеся в нем, никак не влияют на структуру выходного документа. Поэтому все команды внутри этого правила должны описываться в рамках элемента <apply>. Вот как будет выглядеть, например, определение стиля для элемента <flower>rose</flower>;:
<style-rule><target-element type ="flower"/><apply color ="red"/></style-rule> <rule><target-element type="flower"/><div font-style="italic";><children/></div></rule>Если бы мы не определили правила <rule>, то в выходной документ не было бы помещено никакой информации, т.к. элемент <style-rule> только определяет параметры стилевого оформления, не предпринимая никаких других действий.
Также надо учитывать, что XSL- анализатор использует CSS для определения задаваемого правилами <style-rule> стиля в выходном HTML-документе, тем самым предоставляя нам возможность использования этого мощного средства при оформлении HTML-страниц После обработки приведенного в примере фрагмента в выходной документ будут помещены следующие элементы:
<div style= "font-style: italic; color : red;">rose</div>Еще один пример:
Стили в формате CSS:
issue {font-weight=bold; color=blue;}.new {font-weight=bold; color=red;}Фрагмент XSL- документа, позволяющего использовать подобные стилевые определения:
<style-rule><target-element type ="issue"/><apply color ="blue"/></style-rule> <style-rule><target-element type ="issue"><attribute name ="class" value ="new" /></target-element><apply color ="red"/></style-rule> <rule><target-element type="issue"/><div><children/></div></rule>Дата добавления: 2015-09-14; просмотров: 625;