• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 47, 文章 - 10, 評(píng)論 - 8, 引用 - 0
            數(shù)據(jù)加載中……

            跟我學(xué)XSL(五)——XSL中的choose

              上期我們學(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ǔ)言類(lèi)型,其取值與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>


            o_xsl_8.JPG
             說(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>。

            posted on 2006-09-14 11:05 編程之道 閱讀(371) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): web編程

            囯产极品美女高潮无套久久久| 亚洲国产成人精品91久久久| 精品久久久久久久久久久久久久久| 国产精品免费久久久久影院 | 久久婷婷国产麻豆91天堂| 久久综合一区二区无码| 久久电影网2021| 国产精品久久永久免费| 久久99久久成人免费播放| 日本人妻丰满熟妇久久久久久| 久久久久久久久久久精品尤物| 日本高清无卡码一区二区久久| 久久影院综合精品| 2021国内精品久久久久久影院| 久久久久这里只有精品 | 亚洲а∨天堂久久精品9966| 欧美精品一本久久男人的天堂| 久久亚洲AV成人无码国产| 亚洲国产美女精品久久久久∴| 久久国产精品无| 国产亚洲精久久久久久无码77777| 亚洲欧洲日产国码无码久久99| 亚洲精品NV久久久久久久久久| 亚洲国产精品久久久久久| 国内精品九九久久久精品| 中文字幕亚洲综合久久| 精品久久久久一区二区三区| 日韩电影久久久被窝网| 久久久www免费人成精品| 精品久久无码中文字幕| 国产福利电影一区二区三区,免费久久久久久久精 | 麻豆成人久久精品二区三区免费 | 日本国产精品久久| 一本伊大人香蕉久久网手机| 模特私拍国产精品久久| 99热精品久久只有精品| 亚洲女久久久噜噜噜熟女| 久久久久久久综合日本亚洲| 99精品国产99久久久久久97| 久久国产香蕉一区精品| 91精品国产高清久久久久久国产嫩草 |