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

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

Шрифт:

<MASS>.815</MASS>

<DAY>116.75</DAY>

<RADIUS>3716</RADIUS>

 </DENSITY>

 <DENSITY>

<VALUE>1</VALUE>

<NAME>Earth</NAME>

<MASS>1</MASS>

<DAY>1</DAY>

<RADIUS>2107</RADIUS>

 </DENSITY>

</DATA>

Вот таблица стилей (листинг 6.3), создающая это преобразование.

Листинг 6.3. Реорганизация planets.xml на основе плотности

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

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

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

 <xsl:template match="PLANETS">

<DATA>

<xsl:apply-templates/>

</DATA>

 </xsl:template>

 <xsl:template match="PLANET">

<DENSITY>

<VALUE>

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

</VALUE>

<xsl:apply-templates/>

</DENSITY>

 </xsl:template>

 <xsl:template match="NAME">

<NAME>

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

</NAME>

 </xsl:template>

 <xsl:template match="MASS">

<MASS>

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

</MASS>

 </xsl:template>

 <xsl:template match="RADIUS">

<RADIUS>

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

</RADIUS>

 </xsl:template>

 <xsl:template match="DAY">

<DAY>

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

</DAY>

 </xsl:template>

 <xsl:template match="DENSITY">

 </xsl:template>

 <xsl:template match="DISTANCE">

 </xsl:template>

</xsl:stylesheet>

Следующий пример впервые был приведен в главе 5. В этом случае я только перечислил планеты из

planets.xml
, но в выходном документе я хотел видеть не просто фразу «The first three planets are: Mercury Venus Earth» (первые три планеты: Меркурий Венера Земля), a «The first three planets are: Mercury, Venus, and Earth.». Для этого я применил элементы
<xsl:if>
:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

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

 <xsl:output method="xml"/>

 <xsl:template match="PLANETS">

<DOCUMENT>

<TITLE>

The Planets

</TITLE>

<PLANETS>

The first three planets are: <xsl:apply-templates select="PLANET"/>

</PLANETS>

</DOCUMENT>

 </xsl:template>

 <xsl:template match="PLANET">

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

<xsl:if test="position!=last">. </xsl:if>

<xsl:if test="position=last-1">and </xsl:if>

<xsl:if test="position=last">.</xsl:if>

  • Читать дальше
  • 1
  • ...
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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