<xsl:template match='PLANET'>

  <TR>

   <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>

Это все, что нам нужно; вот результат:

<HTML>

 <HEAD>

  <TITLE>

   The Planets Table

  </TITLE>

 </HEAD>

 <BODY>

  <H1>

   The Planets Table

  </H1>

  <TABLE BORDER='2'>

   <TR>

    <TD>Name</TD>

    <TD>Mass</TD>

    <TD>Radius</TD>

    <TD>Day</TD>

   </TR>

   <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>

Это практически то, что требовалось. Если взглянуть на рис. 2.2, видно, что в этом HTML-файле не выведены значения атрибута UNITS, который присутствует у каждого элемента (кроме атрибута <NAME>) в planets.xml:

Рис. 2.2. Planets.html без атрибутов в Internet Explorer

<?xml version='1.0'?>

<?xml-stylesheet type='text/xml' href='planets.xsl'?>

<PLANETS>

 <PLANET>

  <NAME>Mercury</NAME>

  <MASS UNITS='(Earth = 1)'>.0553</MASS>

  <DAY UNITS='days'>58.65</DAY>

  <RADIUS UNITS='miles'>1516</RADIUS>

  <DENSITY UNITS='(Earth = 1)'>.983</DENSITY>

  <DISTANCE UNITS='million miles'>43.4</DISTANCE><!--В перигелии-- >

 </PLANET>

 .

 .

 .

В главе 3, в которой шаблоны рассмотрены более подробно, будет показано, как извлекать значения атрибутов из элементов XML.

Однако перед тем, как начать углубляться в работу с шаблонами, необходимо еще изучить достаточно много материала о таблицах стилей в общем. Например, в рабочий проект XSLT 1.1 включена поддержка рекомендации XML Base, а это значит, что она также появится и в XSLT 2.0.

Поддержка XML Base

Одним из пунктов, добавленных в рабочий проект XSLT 1.1, была поддержка спецификации W3C XML Base. На момент написания книги спецификация XML Base существует в форме предлагаемой рекомендации (Proposed Recommendation), датированной 20 декабря 2000 г.; текущую версию документа можно найти по адресу www.w3.org/TR/xmlbase/.

Эта спецификация позволяет обеспечивать для документов XML и XSL базовый идентификаторы URI аналогично элементу HTML <BASE>. (Фактически, благодаря элементу HTML <BASE> существует XBase: W3C взял на себя обязательство дать XML всю мощь ссылочной модели HTML 4.0 и затем развивать ее.) Как вы помните, одним из свойств элементов XSL является их базовый URI, и теперь его можно устанавливать при помощи XML Base. Однако пока ни один из известных мне процессоров XSLT не поддерживает XML Base.

Здесь будет приведен только обзор работы с XML Base: для установки базового URI XML-документа можно использовать атрибут xml:base. Другие идентификаторы URI документа затем вычисляются, используя это значение в качестве базы. Заметьте, что xml:base использует пространство имен xml, которое предопределено в XML как 'http://www.w3.org/XML/1998/namespace'. В следующем примере используются ссылки XML, XML links (или XLinks):

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

0

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

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