Элемент <xsl:stylesheet>
Задает элемент документа в XSLT-файле, который содержит все остальные XSLT-элементы.
Задает элемент документа в XSLT-файле, который содержит все остальные XSLT-элементы.Этот элемент является синонимом элемента <xsl:transform>.
<xsl:stylesheet
id = id
extension-element-prefixes = NCNames
exclude-result-prefixes = NCNames
version = number>
</xsl:stylesheet>
Атрибуты
id
Уникальный идентификатор, облегчающий внедрение XSLT-файлов.extension-element-prefixes
Пространство имен, которое будет использоваться как пространство имен расширения.Значение представляет собой разделенный пробелами список префиксов пространств имен.Пространство имен, привязанное к каждому из префиксов, назначено пространством имен расширений.Пространство имен по умолчанию (определенное в xmlns) может быть назначено пространством имен расширений, если включить элемент #default в список префиксов пространств имен.Назначение пространства имен пространством имен расширений эффективно в поддереве таблицы стилей, корень которой является элементом, хранящим extension-element-prefixes. Поддерево с корнем в элементе <xsl:stylesheet> не включает таблиц стилей, импортированных или включенных дочерними элементами <xsl:stylesheet> этого элемента.exclude-result-prefixes
Пространство имен уникального идентификатора ресурса (URI) в качестве исключенного пространства имен.Значение представляет собой разделенный пробелами список префиксов пространств имен.Пространство имен, привязанное к каждому из префиксов, назначено пространством имен исключенных элементов.Пространство имен по умолчанию (определенное в xmlns) может быть назначено пространством имен исключенных элементов, если включить элемент #default в список префиксов пространств имен.Назначение пространства имен пространством имен исключенных элементов эффективно в поддереве таблицы стилей, корень которой является элементом, хранящим exclude-result-prefixes. Поддерево с корнем в элементе <xsl:stylesheet> не включает таблиц стилей, импортированных или включенных дочерними элементами <xsl:stylesheet> этого элемента.version
Обязательный.Версия XSLT, необходимая для XSLT-файла.Для этой версии XSLT значение должно быть "1.0".
Сведения об элементе
Количество |
Однократно |
Родительские элементы |
(Нет родительских элементов) |
Дочерние элементы |
xsl:attribute-set, xsl:import, xsl:include, xsl:output, xsl:param, xsl:template, xsl:variable, msxsl:script |
Замечания
Каждый XSTL-файл должен объявлять элемент <xsl:stylesheet> в качестве элемента документа.
Таблица стилей может использовать серию объявлений правил шаблона (<xsl:template>) для того, чтобы задавать явные преобразования набора данных.Она может использовать элементы <xsl:include> или <xsl:import> для включения других таблиц стилей. Это позволяет заново использовать существующие проверенные правила шаблонов.Таблица стилей может также поддерживать глобальные переменные (<xsl:param>) и именованные константы (<xsl:variable>), используя их в преобразованиях.Элемент <xsl:param> может быть использовать для передачи параметров в таблицу стилей.Используя элемент расширения (<msxsl:script>), таблица стилей может допускать применение пользовательских функций, хотя использовать подобный метод не рекомендуется.
В следующем примере показан элемент <xsl:stylesheet> с несколькими общими пространствами имен.
Таблица стилей XSLT должна как минимиум объявлять пространство имен для XSL-преобразования.В средстве синтаксического анализа MSXML 4.0 и более поздних версиях это пространство имен должно быть объявлено следующим образом.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Если обрабатываются элементы или типы данных из другого пространства имен, то таблица стилей также должна объявлять соответствующие пространства имен.Например, следующее объявление таблицы стилей XSLT требует использования дополнительных словарей XML, определенных в расширениях Microsoft и объектах форматирования XSL (XSL-FO).
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
Пример
В данном примере показан полный XSLT-файл, содержащий набор шаблонов.Корневой элемент (match="/") определяет структуру общего документа вывода, а другие шаблоны определяют структуру элементов <name>, <address> и <phone>.Данный HTML-файл вывода был создан с помощью средства msxml.exe в командной строке.
XML-файл (customers.xml)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="customers.xsl"?>
<customers>
<customer>
<name>John Smith</name>
<address>123 Elm St.</address>
<phone>(123) 456-7890</phone>
</customer>
<customer>
<name>Mary Jones</name>
<address>456 Oak Ave.</address>
<phone>(156) 789-0123</phone>
</customer>
</customers>
XSLT-файл (customers.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY>
<TABLE>
<xsl:for-each select="customers/customer">
<TR>
<xsl:apply-templates select="name" />
<xsl:apply-templates select="address" />
<xsl:apply-templates select="phone" />
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="name">
<TD STYLE="font-size:14pt font-family:serif">
<xsl:apply-templates />
</TD>
</xsl:template>
<xsl:template match="address">
<TD> <xsl:apply-templates /> </TD>
</xsl:template>
<xsl:template match="phone">
<TD> <xsl:apply-templates /> </TD>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select='.'/>
</xsl:template>
</xsl:stylesheet>
Вывод
Далее приведен форматированный вывод.
Далее приведен вывод обработчика.
<HTML>
<BODY>
<TABLE>
<TR>
<TD STYLE="font-size:14pt font-family:serif">John Smith</TD>
<TD>123 Elm St.</TD>
<TD>(123) 456-7890</TD>
</TR>
<TR>
<TD STYLE="font-size:14pt font-family:serif">Mary Jones</TD>
<TD>456 Oak Ave.</TD>
<TD>(156) 789-0123</TD>
</TR>
</TABLE>
</BODY>
</HTML>