Книга: XSLT

Выбор комментариев

Выбор комментариев

Текст комментариев можно выбрать при помощи образца comment(). Разумеется, не следует хранить данные, которые попадут в выходной документ, в комментариях входного документа. Тем не менее, вам может потребоваться преобразовать комментарии из формы <!--comment--> в какую-то другую форму, используемую другим языком разметки, — например, элемент <COMMENT>.

В следующем примере я извлеку комментарии из planet.xml и включу их в полученные выходные данные.

<PLANET>
 <NAME>Venus</NAME>
 <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 перигелии-->
</PLANET>

Чтобы извлечь комментарии и поместить их в элементы <COMMENT>, я включил правило только для комментариев (листинг 4.3).

Листинг 4.3. Выбор комментариев

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="PLANETS">
  <HTML>
   <xsl:apply-templates/>
  </HTML>
 </xsl:template>
 <xsl:template match="comment()">
  <COMMENT>
   <xsl:value-of select="."/>
  </COMMENT>
 </xsl:template>
</xsl:stylesheet>

Вот результат для Венеры, в котором комментарий преобразован в элемент <COMMENT>:

Venus
.815
116.75
3716
.943
66.8<COMMENT>B перигелии</СОММЕNT>

Обратите внимание: здесь текст для других элементов в элементе <PLANET> также включается в выходной документ, потому что так установлено в соответствии с правилом по умолчанию для каждого элемента. Поскольку для элементов я не предоставил какого-либо правила, их текст просто включается в выходной документ.

Оглавление книги


Генерация: 0.556. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз