Упрощенные преобразования
Упрощенные преобразования
Многие простые преобразования состоят из единственного правила, которое обрабатывает корневой узел входящего документа. Общий вид такого рода преобразований показан в следующем листинге.
Листинг 4.2. Простое преобразование
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<result>
<!-- Шаблон -->
</result>
</xsl:template>
</xsl:stylesheet>
XSLT позволяет упрощать запись таких преобразований, опуская элементы xsl:stylesheet и xsl:template и оставляя только шаблон, создающий выходящий документ.
Корневой элемент упрощенной записи должен содержать атрибут xsl:version, указывающий версию языка XSLT, использованного в шаблоне. Как правило, этот элемент также содержит объявление пространства имен XSLT, хотя оно может быть определено и в другом месте.
Пример
Преобразование, приведенное в листинге 4.2, можно переписать в упрощенном виде следующим образом.
Листинг 4.3. Упрощённая запись преобразования
<result
xsl:version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Шаблон -->
</result >
Приведем еще один простой пример упрощенной записи преобразования, генерирующего простейшую HTML-страницу.
Листинг 4.4. Упрощённая запись преобразования XML-документа в HTML
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<head>
<title>
<xsl:value-of select="page/name"/>
</title>
</head>
<body>
<xsl:value-of select="page/content"/>
</body>
</html>
Следующий листинг приводит полную версию этого же преобразования.
Листинг 4.5. Полная запись преобразования XML-документа в HTML
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="page/name"/>
</title>
</head>
<body>
<xsl:value-of select="page/content"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Больше книг — больше знаний!
Заберите 20% скидку на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУ