📄 xsl_choose.asp
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XSLT <xsl:choose> Element</title>
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Keywords" content="xml,tutorial,html,dhtml,css,xsl,xhtml,javascript,asp,ado,vbscript,dom,sql,colors,soap,php,authoring,programming,training,learning,beginner's guide,primer,lessons,school,howto,reference,examples,samples,source code,tags,demos,tips,links,FAQ,tag list,forms,frames,color table,w3c,cascading style sheets,active server pages,dynamic html,internet,database,development,Web building,Webmaster,html guide" />
<meta name="Description" content="Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building." />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="stylesheet" type="text/css" href="../stdtheme.css" />
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "../../https@ssl./default.htm" : "../../www./default.htm");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3855518-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</head>
<body>
<a name="top"></a>
<table cellpadding="0" cellspacing="0" width="100%" bgcolor="#808080">
<tr>
<td width="234" valign="top">
<a href="../default.htm"><img src="../images/w3default80.jpg" border="0" alt="W3Schools" /></a>
</td>
<th valign="middle" align="left" class="right">
<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*txtimg*/
google_ad_slot = "5330033957";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript" src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<noscript>
<a href="../default.asp" target="_blank"><img src="../banners/w6.gif" border="0" alt="W3Schools" /></a>
</noscript>
<br /></th>
</tr>
</table>
<table style="margin-left:1px" width="800px" border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="137" class="content" valign="top"><br />
<a class="left" href="../default.asp" target="_top">
<img src="../images/homeicon.gif" border="0" alt="home" /></a>
<a class="left" href="../default.asp" target="_top">
<b>HOME</b></a>
<br /><br />
<b>XSLT Basic</b><br />
<a class="left" target="_top" href="default.asp" >XSLT HOME</a><br />
<a class="left" target="_top" href="xsl_languages.asp" >XSL Languages</a><br />
<a class="left" target="_top" href="xsl_intro.asp" >XSLT Introduction</a><br />
<a class="left" target="_top" href="xsl_browsers.asp" >XSLT Browsers</a><br />
<a class="left" target="_top" href="xsl_transformation.asp" >XSLT Transform</a><br />
<a class="left" target="_top" href="xsl_templates.asp" >XSLT <template></a><br />
<a class="left" target="_top" href="xsl_value_of.asp" >XSLT <value-of></a><br />
<a class="left" target="_top" href="xsl_for_each.asp" >XSLT <for-each></a><br />
<a class="left" target="_top" href="xsl_sort.asp" >XSLT <sort></a><br />
<a class="left" target="_top" href="xsl_if.asp" >XSLT <if></a><br />
<a class="left" target="_top" href="xsl_choose.asp" style='font-weight:bold;'>XSLT <choose></a><br />
<a class="left" target="_top" href="xsl_apply_templates.asp" >XSLT Apply</a><br />
<br />
<b>XSLT Advanced</b><br />
<a class="left" target="_top" href="xsl_client.asp" >XSLT on the Client</a><br />
<a class="left" target="_top" href="xsl_server.asp" >XSLT on the Server</a><br />
<a class="left" target="_top" href="xsl_editxml.asp" >XSLT Edit XML</a><br />
<a class="left" target="_top" href="xsl_editors.asp" >XSLT Editors</a><br />
<a class="left" target="_top" href="xsl_summary.asp" >XSLT Summary</a><br />
<br />
<b>References</b><br />
<a class="left" target="_top" href="xsl_w3celementref.asp" >XSLT Elements</a><br />
<a class="left" target="_top" href="xsl_functions.asp" >XSLT Functions</a><br /><br />
<b>Selected Reading</b><br />
<a class="left" target="_top" href="../browsers/browsers_stats.asp">Web Statistics</a><br />
<a class="left" target="_top" href="../site/site_glossary.asp">Web Glossary</a><br />
<a class="left" target="_top" href="../hosting/default.asp">Web Hosting</a><br />
<a class="left" target="_top" href="../quality/default.asp">Web Quality</a><br /><br />
<a class="left" target="_top" href="../forum/default.asp">W3Schools Forum</a><br /><br />
<a class="left" target="_top" href="../about/about_helping.asp">Helping W3Schools</a><br /><br />
<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*LeftLinkUnit*/
google_ad_slot = "4854527104";
google_ad_width = 120;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
<td valign="top">
<table style="border: 1px solid gray" width="100%" bgcolor="#FFFFFF" border="0" cellpadding="5" cellspacing="0">
<tr>
<td>
<h1>XSLT <xsl:choose> Element</h1>
<a href="xsl_if.asp"><img border="0" src="../images/btn_previous.gif" alt="prev" width="100" height="20" /></a>
<a href="xsl_apply_templates.asp"><img border="0" src="../images/btn_next.gif" alt="next" /></a>
<hr />
<p class="intro">The <xsl:choose> element is used in conjunction with <xsl:when>
and <xsl:otherwise> to express multiple
conditional tests.</p>
<hr />
<h2>The <xsl:choose> Element</h2>
<h3>Syntax</h3>
<table width="100%" border="1" class="ex" cellspacing="0" id="table1">
<tr>
<td>
<pre><xsl:choose>
<xsl:when test="<i>expression</i>">
... some output ...
</xsl:when>
<xsl:otherwise>
... some output ....
</xsl:otherwise>
</xsl:choose></pre>
</td>
</tr>
</table>
<br />
<hr />
<h2>Where to put the Choose Condition</h2>
<p>To insert a multiple conditional test against the XML file, add
the <xsl:choose>, <xsl:when>, and <xsl:otherwise> elements to
the XSL file:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></pre>
<pre><xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<span class="insert"><xsl:choose>
<xsl:when test="price &gt; 10"></span>
<td bgcolor="#ff00ff">
<xsl:value-of select="artist"/></td>
<span class="insert"></xsl:when>
<xsl:otherwise></span>
<td><xsl:value-of select="artist"/></td>
<span class="insert"></xsl:otherwise>
</xsl:choose></span>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template></pre>
<pre></xsl:stylesheet></pre>
</td>
</tr>
</table>
<p>The code above will add a pink background-color to the "Artist" column WHEN the
price of the CD is higher than 10.</p>
<p>The result of the transformation will look like this:</p>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<tr>
<td>Empire Burlesque</td>
<td bgcolor="#ff00ff">Bob Dylan</td>
</tr>
<tr>
<td>Hide your heart</td>
<td>Bonnie Tyler</td>
</tr>
<tr>
<td>Greatest Hits</td>
<td>Dolly Parton</td>
</tr>
<tr>
<td>Still got the blues</td>
<td bgcolor="#ff00ff">Gary Moore</td>
</tr>
<tr>
<td>Eros</td>
<td>Eros Ramazzotti</td>
</tr>
<tr>
<td>One night only</td>
<td bgcolor="#ff00ff">Bee Gees</td>
</tr>
<tr>
<td>Sylvias Mother</td>
<td>Dr.Hook</td>
</tr>
<tr>
<td>Maggie May</td>
<td>Rod Stewart</td>
</tr>
<tr>
<td>Romanza</td>
<td bgcolor="#ff00ff">Andrea Bocelli</td>
</tr>
<tr>
<td>When a man loves a woman</td>
<td>Percy Sledge</td>
</tr>
<tr>
<td>Black angel</td>
<td bgcolor="#ff00ff">Savage Rose</td>
</tr>
<tr>
<td>1999 Grammy Nominees</td>
<td bgcolor="#ff00ff">Many</td>
</tr>
<tr>
<td>For the good times</td>
<td>Kenny Rogers</td>
</tr>
<tr>
<td>Big Willie style</td>
<td>Will Smith</td>
</tr>
<tr>
<td>Tupelo Honey</td>
<td>Van Morrison</td>
</tr>
<tr>
<td>Soulsville</td>
<td>Jorn Hoel</td>
</tr>
<tr>
<td>The very best of</td>
<td>Cat Stevens</td>
</tr>
<tr>
<td>Stop</td>
<td>Sam Brown</td>
</tr>
<tr>
<td>Bridge of Spies</td>
<td>T`Pau</td>
</tr>
<tr>
<td>Private Dancer</td>
<td>Tina Turner</td>
</tr>
<tr>
<td>Midt om natten</td>
<td>Kim Larsen</td>
</tr>
<tr>
<td>Pavarotti Gala Concert</td>
<td>Luciano Pavarotti</td>
</tr>
<tr>
<td>The dock of the bay</td>
<td>Otis Redding</td>
</tr>
<tr>
<td>Picture book</td>
<td>Simply Red</td>
</tr>
<tr>
<td>Red</td>
<td>The Communards</td>
</tr>
<tr>
<td>Unchain my heart</td>
<td>Joe Cocker</td>
</tr>
</table>
<p><a target="_blank" href="cdcatalog.xml">View the XML file</a>,
<a target="_blank" href="cdcatalog_choose.xsl">View the XSL file</a>, and
<a target="_blank" href="cdcatalog_choose.xml">View the result</a></p>
<hr />
<h2>Another Example</h2>
<p>Here is another example that contains two <xsl:when> elements:</p>
<table width="100%" border="1" class="ex" cellspacing="0">
<tr>
<td>
<pre><?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></pre>
<pre><xsl:template match="/">
<html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -