<TD><xsl:value-of select='NAME'/></TD>

<TD><xsl:value-of select='MASS'/></TD>

<TD><xsl:value-of select='RADIUS'/></TD>

<TD><xsl:value-of select='DAY'/></TD>

</TR>

</xsl:template>

</xsl:stylesheet>

Результат применения таблицы с использованием процессора Saxon (в котором особенно хорошо реализовано выравнивание) с требуемым выравниванием:

<HTML>

 <HEAD>

  <meta http-equiv='Content-Type' content='text/html' charset='utf-8'>

  <TITLE>

   The Planets Table

  </TITLE>

 </HEAD>

 <BODY>

  <H1>

   The Planets Table

  </H1>

  <TABLE BORDER='2'>

   <TD>Name</TD>

   <TD>Mass</TD>

   <TD>Radius</TD>

   <TD>Day</TD>

   <TR>

    <TD>Mercury</TD>

    <TD>.0553</TD>

    <TD>1516</TD>

    <TD>58.65</TD>

   </TR>

   <TR>

    <TD>Venus</TD>

    <TD>.815</TD>

    <TD>3716</TD>

    <TD>116.75</TD>

   </TR>

   <TR>

    <TD>Earth</TD>

    <TD>1</TD>

    <TD>2107</TD>

    <TD>1</TD>

   </TR>

  </TABLE>

 </BODY>

</HTML>

Как видите, в XSLT обработке символов-разделителей приходится уделять достаточное внимание, но процедура упрощается, если вы знаете, что происходит.

ВЫРАВНИВАНИЕ ДОКУМЕНТОВ В ЭТОЙ КНИГЕ

Способ выравнивания документов зависит от конкретного процессора XSLT. В этой книге документы выровнены для удобочитаемости, даже если в действительности документы не были выровнены процессором XSLT.

Правила по умолчанию в шаблоне

Взгляните на следующую таблицу стилей XSLT — в ней заданы правила для выбора корневого узла, узлов <PLANETS> и узлов <PLANET>:

<?xml version='1.0'?>

<xsl:stylesheet version='1.0'

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

 <xsl:template match='/'>

  <HTML>

   <xsl:apply-templates/>

  </HTML>

 </xsl:template>

 <xsl:template match='PLANETS'>

  <xsl:apply-templates/>

 </xsl:template>

 <xsl:template match='PLANET'>

  <P>

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

  </P>

 </xsl:template>

</xsl:stylesheet>

Обратите внимание на правило для элемента <PLANETS>: в нем просто используется элемент <xsl:apply-templates> для применения шаблонов ко всем дочерним узлам. Однако при обработке шаблона существует правило по умолчанию: если для элемента не задано правило, автоматически вызывается <apply-templates/>. Таким образом, следующая таблица стилей, в которой опущено правило для <PLANETS>, делает в точности то же, что и предыдущая:

<?xml version='1.0'?>

<xsl:stylesheet version='1.0'

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

 <xsl:template match='/'>

  <HTML>

   <xsl:apply-templates/>

  </HTML>

 </xsl:template>

 <xsl:template match='PLANET'>

  <P>

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

  </P>

Вы читаете XSLT
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату