=> Главная База Знаний 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>
также включается в выходной документ, потому что так установлено в соответствии с правилом по умолчанию для каждого элемента. Поскольку для элементов я не предоставил какого-либо правила, их текст просто включается в выходной документ.