Вход/Регистрация
XSLT
вернуться

Холзнер Стивен

Шрифт:

 </Mercury>

 <Venus>

<MASS UNITS="(Earth = 1)">.815</MASS>

<DAY UNITS="days">116.75</DAY>

<RADIUS UNITS="miles">3716</RADIUS>

<DENSITY UNITS="(Earth = 1)">.943</DENSITY>

<DISTANCE UNITS="million miles">66.8</DISTANCE><!--B перигелии-->

 </Venus>

 <Earth>

<MASS UNITS="(Earth = 1)">1</MASS>

<DAY UNITS="days">1</DAY>

<RADIUS UNITS="miles">2107</RADIUS>

<DENSITY UNITS="(Earth = 1)">1</DENSITY>

<DISTANCE UNITS="million miles">128.4</DISTANCE><!--B перигелии-->

 </Earth>

</PLANETS>

Таким способом можно создавать новые элементы и задавать им имя во время преобразования XSLT.

Элемент <xsl:attribute>: создание новых атрибутов

Аналогично тому, как вы можете создавать новые элементы при помощи

<xsl:element>
и устанавливать имя и содержимое элемента на этапе выполнения, при помощи элемента
<xsl:attribute>
это можно делать для атрибутов. 

У элемента два атрибута:

• 

name
(обязательный). Имя нового атрибута. Принимает значение шаблона значений атрибута, возвращающего
QName
;

• 

namespace
(необязательный). Пространство имен нового атрибута. Устанавливается в URI.

Этот элемент содержит в себе тело шаблона, которое устанавливает значение атрибута.

В листинге 6.7 я создаю новые элементы

<PLANET>
с атрибутами, которые соответствуют различным названиям планет (значения берутся из атрибута
COLOR
исходных элементов
<PLANET>
).

Листинг 6.7. Применение <xsl:attribute>

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="PLANETS">

<HTML>

<HEAD>

<TITLE>

Planets

</TITLE>

</HEAD>

<BODY>

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

</BODY>

</HTML>

 </xsl:template>

 <xsl:template match="PLANET">

<PLANET>

<xsl:attribute name="{NAME}">

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

</xsl:attribute>

</PLANET>

 </xsl:template>

</xsl:stylesheet>

Как можно видеть в приведенном ниже результате, я создал новые атрибуты «с ходу», используя названия планет:

<НТМL>

 <HEAD>

<TITLE>

Planets

</TITLE>

 </HEAD>

 <BODY>

<PLANET Mercury="RED">

</PLANET>

<PLANET Venus="WHITE">

</PLANET>

<PLANET Earth="BLUE">

</PLANET>

 </BODY>

</HTML>

Элемент <xsl:comment>: создание комментариев

По ходу дела можно также создавать и комментарии при помощи элемента

<xsl:comment>
. Этот элемент не имеет атрибутов и содержит тело шаблона, задающего текст комментария.

  • Читать дальше
  • 1
  • ...
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: