воспользоваться атрибутами doctype-system и doctype-public элемента <xsl:output>. Вот пример элемента <xsl:output>, создающего элемент <!DOCTYPE> для переходного XHTML 1.0:

<xsl:output method='xml'

 doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'

 doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN'

 indent='yes'/>

В листинге 6.5 приведена полная таблица стилей planets.html, использующая этот элемент <xsl:output> для преобразования planets.xml в допустимый документ XHTML.

Листинг 6.5. Преобразование planets.xml в XHTML

<?xml version='1.0'?>

<xsl:stylesheet version='1.0'

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

 <xsl:output method='xml'

  doctype-system='http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'

  doctype-public='-//W3C//DTD XHTML 1.0 Transitional//EN'

  indent='yes'/>

 <xsl:template match='/PLANETS'>

  <html>

   <head>

    <title>

     The Planets Table

    </title>

   </head>

   <body>

    <h1>

     The Planets Table

    </h1>

    <table>

     <tr>

      <td>Name</td>

      <td>Mass</td>

      <td>Radius</td>

      <td>Day</td>

     </tr>

     <xsl:apply-templates/>

    </table>

   </body>

  </html>

 </xsl:template>

 <xsl:template match='PLANET'>

  <tr>

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

   <td><xsl:apply-templates select='MASS'/></td>

   <td><xsl:apply-templates select='RADIUS'/></td>

   <td><xsl:apply-templates select='DAY'/></td>

  </tr>

 </xsl:template>

 <xsl:template match='MASS'>

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

  <xsl:text> </xsl:text>

  <xsl:value-of select='@UNITS'/>

 </xsl:template>

 <xsl:template match='RADIUS'>

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

  <xsl:text> </xsl:text>

  <xsl:value-of select='@UNITS'/>

 </xsl:template>

 <xsl:template match='DAY'>

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

  <xsl:text> </xsl:text>

  <xsl:value-of select='@UNITS'/>

 </xsl:template>

</xsl:stylesheet>

Вот результирующий файл XHTML:

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE html

 PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'

 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>

<html>

 <head>

  <title>

   The Planets Table

  </title>

 </head>

 <body>

  <h1>

   The Planets Table

  </h1>

  <table>

   <tr>

    <td>Name</td>

    <td>Mass</td>

    <td>Radius</td>

    <td>Day</td>

   </tr>

   <tr>

    <td>Mercury</td>

    <td>.0553 (Earth = 1)</td>

    <td>1516 miles</td>

    <td>58.65 days</td>

   </tr>

   <tr>

    <td>Venus</td>

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

0

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

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