Электронный магазин на Java и XML


Создание таблиц стилей с использованием XSL - часть 3


</xsl:template>

</xsl:stylesheet>

Связать таблицы стилей с документом XML можно с помощью инструкции по обработке. Например:

<?xml-stylesheet href="CDstyle.xsl" type="text/xsl"?>

Также вы можете использовать каскадные таблицы стилей (Cascading Style Sheets, CSS) для применения определенного формата к данным XML. В этом случае вы должны связать документ с таблицей стилей с помощью инструкции по обработке, подобной следующей:

<?xml-stylesheet href="CDstyle.ess" type="text/css"?>

В листинге 1.8 показан базовый пример трансформации данных XML с помощью стандартной таблицы стилей. XSLT находит данные, которые соответствуют некоторому образцу, и вставляет их в нужное место шаблона. Поиск соответствия с образцом — очень важная часть XSL. Посмотрим на образец, который применялся во второй части нашего примера:

<xsl:for-each selееt="library/cd">

Эта строка задает цикл по всем экземплярам элемента cd внутри элемента library. Если вы хотите создать разделенный запятыми список всех песен на каждом диске (каждому диску соответствует свой экземпляр элемента cd), вы можете задать еще один цикл внутри приведенного выше цикла, как показано в следующем примере:

...

<xsl:for-each select="library/cd">

<TR STYLE="font-family:Verdana; font-size:12pt; padding:0px 6px">

<TD><xsllvalue-of select="title"/></TD>

<TD><xsl:value-of select="artist"/></TD>

<TD>

<xsl:for-each select="song">

"<xsl :value-of select="title"/>"

<xsl:if test="context()[not(end())]">, </xsl:if>

</xsl: for-each>

</TD>

</TR>

</xsl:for-each>

...

Если получившийся документ XML открыть в браузере, поддерживающем XSL, то он будет выглядеть примерно так, как показано на рис. 1.1.

1.gif

Рис. 1.1. Результат применения таблицы CDstyle.xsl к файлу MyMusic.xml




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



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