Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
4
Добавлен:
02.03.2016
Размер:
183.41 Кб
Скачать

4.3.3. Трансформація xml

XSL (Extensible Stylesheet Language - розширювана мова стилів), являє собою засновану на XML мову для створення таблиць стилів. Таблиці стилів (також звані трансформаціями) - це спеціальні документи, які можуть використовуватися (за допомогою процесора XSLT) для перетворення XML-документів в інші документи. Наприклад, таблицю стилів XSLT можна застосовувати для трансформації одного типу XML в іншу структуру XML. Або ж таблицю стилів можна використовувати для перетворення XML, який містить тільки дані, в інший текстовий документ, такий як таблиця HTML, що і буде продемонстровано в наступному прикладі.

Зауважимо, що таблиці стилів XSL не слід плутати з CSS (Cascading Style Sheets - каскадні таблиці стилів) - стандартом, використовуваним для форматування HTML.

Перш ніж можна буде виконувати трансформацію, необхідно створити таблицю стилів XSL, яка визначає, як має відбуватися перетворення. XSL - складний стандарт. Насправді він може розглядати окремо як справжній мову, зі своєю умовною логікою, циклічними структурами і багатьма іншими особливостями. (більше див. http://www.w3schools.com/xsl)

Базова таблиця стилів

Для перетворення списку студентів в HTML-розмітку використовується проста таблиця стилів, наведена нижче.

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">

<xsl:output method="xml" indent="yes"/>

<xsl:template match="/">

<div>

<xsl:apply-templates select="StudentList/student"/>

</div>

</xsl:template>

<xsl:template match="student">

<h4>

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

</h4>

<ul>

<li>

<xsl:value-of select="@ID" />

</li>

<li>

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

</li>

<li>

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

</li>

<xsl:apply-templates select="BDate" />

<xsl:apply-templates select="Rating" />

</ul>

</xsl:template>

<xsl:template match="BDate">

<li style="color:green">

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

</li>

</xsl:template>

<xsl:template match="Rating">

<li>

<i>

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

</i>

</li>

</xsl:template>

</xsl:stylesheet>

Використання елемента управління Xml

В деяких випадках необхідно комбінувати трансформований HTML-вивід з іншим вмістом і веб-елементами управління. При цьому можна використовувати елемент управління Xml, який відображає результат XSL-трансформації як окрему частину сторінки.

Розглянемо попередній приклад XSLT, в якому виконувалася трансформація StudentList.xml із застосуванням StudentList.xslt. При використанні елемента управління Xml все, що знадобиться - це єдиний дескриптор, який встановлює властивості DocumentSource і TransformSource:

<asp:Xml

ID="Xml1"

runat="server"

DocumentSource="~/StudentList.xml"

TransformSource="~/StudentList.xslt">

</asp:Xml>

Найкраще в цьому прикладі те, що необхідно тільки вказати файли з вихідним XML-кодом і XSL-трансформацією. Ініціювати перетворення вручну НЕ буде потрібно.

Соседние файлы в папке веб-програмування - 1