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

ЖАНРЫ

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

Шрифт:

<xsl:stylesheet version="1.0"

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

 <xsl:key name="COLOR" match="PLANET" use="@COLOR"/>

 <xsl:template match="/PLANETS">

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

<xsl:apply-templates select="key('COLOR', 'BLUE')"/>

</TABLE>

</BODY>

</HTML>

 </xsl:template>

 .

 .

 .

А

вот результат — как видите, единственной планетой, удовлетворявшей используемому образцу, была Земля (Earth).

<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>Earth</TD>

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

<TD>2107 miles</TD>

<TD>1 days</TD>

</TR>

</TABLE>

 </BODY>

</HTML>

Применение операции Or

При помощи операции Or (или), |, можно осуществлять выбор по нескольким возможным образцам, что очень удобно с ростом сложности документов. В следующем примере я хочу отобразить элементы

<NAME>
и
<MASS>
полужирным, что задается тегом HTML
<В>
. Для выбора либо элементов
<NAME>
, либо
<MASS>
в новом правиле я использую операцию Or:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

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

 <xsl:template match="/PLANETS">

<HTML>

<HEAD>

.

.

.

</BODY>

</HTML>

 </xsl:template>

 <xsl:template match="PLANET">

<TR>

<TD><xsl:apply-templates 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="NAME | MASS">

<B>

<xsl:apply-templates/>

</B>

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

Вот

результаты; заметьте, что значения имени и массы заключены в элементы
<В>
:

<HTML>

 <HEAD>

<TITLE>

The Planets Table

</TITLE>

 </HEAD>

 <BODY>

.

.

.

<TR>

<TD><B>Mercury</B></TD>

<TD><B>.0553</B></TD>

<TD>1516 miles</TD>

<TD>58.65 days</TD>

</TR>

<TR>

<TD><B>Venus</B></TD>

<TD><B>.815</B></TD>

<TD>3716 miles</TD>

<TD>116.75 days</TD>

</TR>

<TR>

<TD><B>Earth</B></TD>

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