Чтение онлайн

ЖАНРЫ

Холзнер Стивен

Шрифт:

При установке метода вывода в XML для создания элемента

<!DOCTYPE>
можно воспользоваться атрибутами
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>

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

<td>3716 miles</td>

<td>116.75 days</td>

</tr>

<tr>

<td>Earth</td>

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

<td>2107 miles</td>

<td>1 days</td>

</tr>

</table>

 </body>

</html>

Полученный документ,

planets.html
, является и хорошо сформированным, и допустимым документом XHTML 1.0 — в соответствии с программой допустимости W3C для HTML и XHTML, расположенной по адресу:Заметьте, что, поскольку документы XHTML являются в то же время хорошо сформированными XML-документами, мы воспользовались методом вывода XML, — поэтому преобразование не было слишком сложным; единственной сложностью оказалось создание элемента
<!DOCTYPE>
.

Поделиться с друзьями: