跳转到内容

XML - 数据交换管理/C.4

来自维基教科书,开放的书籍,为开放的世界

XML 样式表

[编辑 | 编辑源代码]
<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">

<HTML>
<HEAD>
<TITLE>导游</TITLE>
<STYLE TYPE="text/css">
H2 {TEXT-ALIGN:CENTER;}
.greenBackground {BACKGROUND-COLOR:LIGHTGREEN; TEXT-ALIGN:CENTER;}
.yellowBackground {BACKGROUND-COLOR:YELLOW; TEXT-ALIGN:CENTER; FONT-WEIGHT:BOLD; FONT-SIZE:14pt;}
.salmonBackground {BACKGROUND-COLOR:LIGHTSALMON; TEXT-ALIGN:CENTER; FONT-SIZE:12pt;}
</STYLE>
</HEAD>
<BODY>
<H2>顶级旅游目的地</H2>
<xsl:apply-templates select="tourGuide"/>
</BODY>
</HTML>

</xsl:template>
<xsl:template match="tourGuide">

<TABLE BORDER="1" WIDTH="100%">
<xsl:for-each select="city/country">
<xsl:sort select="countryName"/>
<xsl:if test="population &gt; 10000">
<TR>
<TD CLASS="greenBackground"><BR/>
<xsl:text>国家: </xsl:text><xsl:value-of select="countryName"/></TD><BR/>
<TD CLASS="greenBackground"><BR/>
<xsl:text>人口: </xsl:text><xsl:value-of select="population"/>

</TD>
<xsl:for-each select="topDestination">
<TD CLASS="yellowBackground"><BR/>
<xsl:text>顶级目的地: </xsl:text><xsl:value-of select="destinationName"/>

</TD>
</xsl:for-each>
<xsl:for-each select="destination">
<TD CLASS="yellowBackground"><BR/>
<xsl:text>目的地: </xsl:text><xsl:value-of select="destinationName"/>
</TD>
</xsl:for-each>
</TR>
</xsl:if>
</xsl:for-each>
</TABLE>
</xsl:template>

</xsl:stylesheet>


表 4-3: 一对一关系的 XML 样式表 - country_dest.xsl

表 4-3 中的 XML 样式表介绍了 if 语句以及排序元素的能力。
if 语句根据 "test" 属性中给定的条件的评估执行代码,例如:

<xsl:if test="population &gt;= 10000">

大城镇

</xsl:if>
<xsl:if test="population &lt; 10000">

小镇

</xsl:if>

条件可能的表达式为

操作符

含义

===
!=两个值的相等
!=两个值的不想等
&lt;小于
&gt;大于
&lt;=小于或等于
&gt;=大于或等于
and逻辑与连接


or

逻辑或连接
华夏公益教科书