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

XSL

eXtensible Stylesheet Language

вторник, 5 апреля 2011 г.

Общий принцип преобразований

Структура документа XSL

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method ="html" media-type ="text/xml"/>

<xsl:template match=“…"> <!--

Определение шаблона

--> </xsl:template>

</xsl:stylesheet>

Атрибуты output

method (XML, HTML или text) encoding

media-type – задаѐт MIME-тип (text/xml) doctype-system или doctype-public

Например:

<xsl:output doctype-system=“example.dtd”>

формирует в выходном документе

<!DOCTYPE root SYSTEM “example.dtd”>

<xsl:output doctype-public=“-//W3C//DTD XHTML 1.0 Transitional//EN”>

формирует в выходном документе

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml/DTD/XHTML1-transitional.dtd”>

Шаблоны

<xsl:template match=“example”> <!--

Определение шаблона, которое может включать в себя статическое содержимое, ссылки на шаблоны вложенных элементов, вставку значений элемента и его атрибутов

--> </xsl:template>

Применение шаблонов

<xsl:template match=“example”> <html>

<head>

<title>example</title>

</head>

<body> <!--<xsl:apply-templates/>--> <xsl:apply-templates select=“child”/>

</body>

</html>

</xsl:template>

Обработка повторяющихся потомков

<xsl:template match=“example”> <xsl:for-each select=“child”>

<!-- --> </xsl:for-each>

</xsl:template>

Получение значений узлов и атрибутов

<xsl:value-of select=“.”/>

<xsl:value-of select=“child”/>

<xsl:value-of select=“@attr”/>

Вывод текстовых фрагментов

<xsl:text>

Произвольное текстовое содержимое

</xsl:text>

Выражения XPath

example

*

@attr

@*

example[3]

example[last()]

*/example

/exapmle/child[3]/item[2]

//example

.//example

..

Соседние файлы в папке Презентации и примеры