最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

跟我學(xué)XSL(一)

 更新時(shí)間:2006年10月16日 00:00:00   作者:  

上期我們學(xué)習(xí)了XSL元素<xsl:if>,已能通過(guò)測(cè)試XML數(shù)據(jù)的值來(lái)決定不同的輸出形式,不知你嘗試過(guò)沒(méi)有,實(shí)際上<xsl:for-each>也可部分實(shí)現(xiàn)<xsl:if>的功能,但有時(shí),我們希望對(duì)同一數(shù)據(jù)同時(shí)測(cè)試多個(gè)條件,根據(jù)不同條件輸出相應(yīng)結(jié)果。當(dāng)然,我們可以用if,假如我們只有if可用的話。幸好我們有一個(gè)更好的選擇,那就是用<xsl:choose>。下面介紹相關(guān)元素的語(yǔ)法:

  <xsl:choose>

  語(yǔ)法:<xsl:choose>

  屬性:無(wú),表示一個(gè)多選測(cè)試的開(kāi)始

  <xsl:when>

  語(yǔ)法:

<xsl:when expr="script-expression" language="language-name" test="pattern">

  屬性:

  expr ── 腳本語(yǔ)言表達(dá)式,計(jì)算結(jié)果為"真"或"假";如果結(jié)果為"真",且通過(guò)test,則在輸出中顯示其中內(nèi)容(可省略此項(xiàng)屬性)。

  language ── expr屬性中表達(dá)式的腳本語(yǔ)言類型,其取值與HTML標(biāo)記SCRIPT的LANGUAGE屬性的取值相同,缺省為"JScript"。

  test ── 源數(shù)據(jù)測(cè)試條件。

  <xsl:otherwise>

  語(yǔ)法:<xsl:otherwise>

  屬性:無(wú),在一個(gè)多選測(cè)試中,如果沒(méi)有不滿足<xsl:when>規(guī)定的條件,如果在最后有此標(biāo)記,則輸出此標(biāo)記中的內(nèi)容。

  示例:

  此處以學(xué)生成績(jī)單為例,要求按成績(jī)的高低給出優(yōu)秀( >85)、一般(70~85)、及格(60~69)、不及格(< 60),而不是顯示分?jǐn)?shù)。其中成績(jī)單的XML文檔(文件名:grade.xml)如下:

<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="grade.xsl"?>
<document>
<grade>
<name>大胖</name>
<english>80</english>
<math>90</math>
<chymest>90</chymest>
</grade>
<grade>
<name>小花</name>
<english>98</english>
<math>70</math>
<chymest>85</chymest>
</grade>
</document>

  為實(shí)現(xiàn)按分?jǐn)?shù)分等級(jí)顯示,其XSL文檔(文件名:grade.xsl)內(nèi)容如下:

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<HEAD><TITLE>成績(jī)單</TITLE></HEAD>
<BODY>
<xsl:apply-templates select="document"/>
</BODY>
</HTML>
</xsl:template>

<xsl:template match="document">
<TABLE border="1" cellspacing="0">
<TH>姓名</TH><TH>英語(yǔ)</TH><TH>數(shù)學(xué)</TH><TH>化學(xué)</TH>
<xsl:apply-templates select="grade"/>
</TABLE>
</xsl:template>

<xsl:template match="grade">
<TR>
<TD><xsl:apply-templates select="name"/></TD>
<TD><xsl:apply-templates select="english"/></TD>
<TD><xsl:apply-templates select="math"/></TD>
<TD><xsl:apply-templates select="chymest"/></TD>
</TR>
</xsl:template>

<xsl:template match="name">
<xsl:value-of/>
</xsl:template>

<xsl:template match="english|math|chymest">
<xsl:choose>
<xsl:when test=".[value()$gt$85]">優(yōu)秀</xsl:when>
<xsl:when test=".[value()$gt$70]">一般</xsl:when>
<xsl:when test=".[value()$gt$60]">起格</xsl:when>
<xsl:otherwise>不起格</xsl:otherwise>
</xsl:choose>
</xsl:template>

</xsl:stylesheet>


上例在瀏覽器中的樣子(IE5.0或更新版本)

  說(shuō)明:在<xsl:choose>選擇中,從第一個(gè)<xsl:when>開(kāi)始,逐個(gè)測(cè)試,直到滿足一個(gè)測(cè)試條件就將其中的內(nèi)容輸出,不再測(cè)試后面的條件;如果不滿足任何一個(gè)條件,則輸出<xsl:otherwise>中的內(nèi)容。

  標(biāo)記對(duì)<xsl:when></xsl:when>與<xsl:otherwise></xsl:otherwise>中可嵌套<xsl:if>或<xsl:choose>。

相關(guān)文章

最新評(píng)論

涿鹿县| 友谊县| 景谷| 东海县| 玉山县| 洞头县| 巫山县| 砚山县| 宁陕县| 保德县| 宜兰县| 凤山市| 永仁县| 金昌市| 延长县| 炎陵县| 会昌县| 通渭县| 盐亭县| 青田县| 彭山县| 东丰县| 延川县| 上饶县| 锦州市| 淳化县| 会同县| 抚顺县| 甘泉县| 九江市| 洛浦县| 烟台市| 浮山县| 将乐县| 定结县| 土默特左旗| 塘沽区| 蒙阴县| 百色市| 陕西省| 津南区|