⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sorting xml.htm

📁 这是一本关于XML的学习的书
💻 HTM
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<TITLE>为Xml数据分类排序</TITLE>
<style type="text/css">
<!--
.normal10 {  font-size: 11pt}
.normal9 {  font-size: 9pt}
a{ text-decoration: none }
a:hover{ color:Red;text-decoration:underline }
a {
font-size:11pt;   
COLOR: cornflowerblue;
FONT-FAMILY: "新细明体", "宋体";
FONT-WEIGHT: bold
 }
.normal105 {  font-size: 11pt}
.p {  font-size: 11pt}

-->
</style>
<link rel="stylesheet" href="../../Global.css" tppabs="http://www.xml.org.cn:8188/Global.css"></HEAD>
<BODY>
<p ALIGN="CENTER" class="normal105">[<a href="../../default.asp.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<font face="宋体" lang="ZH-CN"><a href="../application.htm" tppabs="http://www.xml.org.cn:8188/application/application.htm" target="_parent">返回应用</a></font>]</p>
<table width="85%" border="0" align="center">
  <tr> 
    <td width="14%" height="64">&nbsp;</td>
    <td width="71%" height="64"> 
      <h2 align="center">为Xml数据分类排序</h2>
      </td>
    <td width="15%" height="64"><a name="top"></a></td>
  </tr>
  <tr> 
    <td colspan="3" height="409"> 
      <p><span class="normal105">上一篇:<a href="Accessing and Outputting Attributes.htm" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Accessing%20and%20Outputting%20Attributes.htm" class="normal105">访问和输出属性</a><br>
        下一篇:<a href="Conditional Templates.htm" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Conditional%20Templates.htm" class="normal105">有条件的模板</a> 
        <br>
        返 回 :<a href="Getting Started with XSL.htm" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Getting%20Started%20with%20XSL.htm" class="normal105">开始学习样式表Xml</a></span></p>
      <p><span class="normal105">当使用<b>&lt;xsl:for-each&gt;</b>元素来显示一个重复的数据结构的时候,<font color="#000000">在<b>&lt;xsl:for-each&gt;</b>中被选择的项被处理的顺序是它们在源文档中出现的顺序.</font><b>order-by</b>属性允<font color="#000000">许你在遍历模板之前对</font>你所选择的项目排序.</span></p>
      <p><span class="normal105"><b>order-by</b>属性的语法是一个Xsl模式,它是一个指向在元文档中用于排序的键.</span></p>
      <p><span class="normal105">给出下面的Xml数据:</span></p>
      <pre class=clsCode><span class="normal105"><font face="Arial" class="normal105">&lt;?xml version="1.0"?&gt;
&lt;portfolio xmlns:dt="urn:schemas-microsoft-com:datatypes"&gt;
  &lt;stock exchange="nyse"&gt;
    &lt;name&gt;zacx corp&lt;/name&gt;
    &lt;symbol&gt;ZCXM&lt;/symbol&gt;
    &lt;price dt:dt="number"&gt;28.875&lt;/price&gt;
  &lt;/stock&gt;
  &lt;stock exchange="nasdaq"&gt;
    &lt;name&gt;zaffymat inc&lt;/name&gt;
    &lt;symbol&gt;ZFFX&lt;/symbol&gt;
    &lt;price dt:dt="number"&gt;92.250&lt;/price&gt;
  &lt;/stock&gt;
  &lt;stock exchange="nasdaq"&gt;
    &lt;name&gt;zysmergy inc&lt;/name&gt;
    &lt;symbol&gt;ZYSZ&lt;/symbol&gt;
    &lt;price dt:dt="number"&gt;20.313&lt;/price&gt;
  &lt;/stock&gt;
&lt;/portfolio&gt;</font></span></pre>
      <p><span class="normal105"><b><span class="normal105">&lt;xsl:for-each&gt;</span></b><span class="normal105"> 
        中可以加入一个 order-by="price" 属性来对股票的价格排序.</span></span></p>
      <pre class=clsCode><span class="normal105"><font face="Arial" class="normal105">&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"&gt;
  &lt;xsl:template match="/"&gt;
    &lt;HTML&gt;
      &lt;BODY&gt;
        &lt;TABLE BORDER="2"&gt;
          &lt;TR&gt;
            &lt;TD&gt;Symbol&lt;/TD&gt;
            &lt;TD&gt;Name&lt;/TD&gt;
            &lt;TD&gt;Price&lt;/TD&gt;
          &lt;/TR&gt;
          &lt;xsl:for-each select="portfolio/stock" <b>order-by="price"&gt;</b>
            &lt;TR&gt;
              &lt;TD&gt;&lt;xsl:value-of select="symbol"/&gt;&lt;/TD&gt;
              &lt;TD&gt;&lt;xsl:value-of select="name"/&gt;&lt;/TD&gt;
              &lt;TD&gt;&lt;xsl:value-of select="price"/&gt;&lt;/TD&gt;
            &lt;/TR&gt;
          &lt;/xsl:for-each&gt;
        &lt;/TABLE&gt;
      &lt;/BODY&gt;
    &lt;/HTML&gt;
  &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;</font></span></pre>
      <p><span class="normal105">通过<b>order-by</b> 模式指定的节点的值会按照他自己的数据类型来排序.既然由于price的数据类型是通过<b>dt:dt</b>属性申明为数值型的,因此将会按照数值方式来排序.没有类型的值将按照字符串类型比较排序.</span></p>
      <p><span class="normal105">在排序键之前可以添加一个&quot;-&quot;号来指明是按照将需排列.同样的,&quot;+&quot;号可以非强制地用于明确指定是按照升序排列(加号为默认值)</span></p>
      <p> <span class="normal105"><b>order-by</b> 在<b>&lt;xsl:apply-templates&gt;</b>元素上也是可用的.</span></p>
      <p><span class="normal105"><b>尝试!</b> 点击<a 
href="../../../msdn.microsoft.com/xml/samples/portfolio/portfolio-sort1.xml" tppabs="http://msdn.microsoft.com/xml/samples/portfolio/portfolio-sort1.xml">Portfolio 
        Sample (Ascending Sort)</a> or <a 
href="../../../msdn.microsoft.com/xml/samples/portfolio/portfolio-sort2.xml" tppabs="http://msdn.microsoft.com/xml/samples/portfolio/portfolio-sort2.xml">Portfolio 
        Sample (Descending Sort)</a> (order-by="-price") 你可以浏览上面的样例</span></p>
      <p><span class="normal105"><a 
href="../../../msdn.microsoft.com/xml/samples/portfolio/portfolio-sort.zip" tppabs="http://msdn.microsoft.com/xml/samples/portfolio/portfolio-sort.zip"><img 
alt=Download border=0 height=20 src="Sorting XML.files/icodownl.gif" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Sorting%20XML.files/icodownl.gif" width=16> 
        Download these samples</a>. </span></p>
      <p><span class="normal105"><b>注意:</b> 当前的W3c Xsl工作草案描述了一个不同的排序语法,使用了<b>&lt;xsl:sort&gt;</b>元素 
        .Microsoft 计划在将来的发布版本中采用这个语法</span></p>
      <h2><span class="normal105">更多的关于Sort键的知识</span></h2>
      <p><span class="normal105">多项排序键可以通过用分号隔开的排序键的方式来制定排序键.如果第一个键不能明确的对元素排序,那下一个键可以用于解决冲突!这里是一个较为复杂的排序键样例</span></p>
      <pre class=clsCode><span class="normal105"><font face="Arial">order-by="BIDDER; - number(PRICE)"</font></span></pre>
      <p><span class="normal105"> 当元文档没有数据类型信息被定义的时候,<b>number</b> 和 <b>date</b> 
        方法<font color="#000000"> <font face="宋体">能够用于获得按数据类型方式的排序.</font></font><font face="宋体" color="#FF3366"> 
        </font>上面这个样例为了排序的目的而按照数值方式计算<b>PRICE</b>的值.</span></p>
      <p><span class="normal105"><b>尝试!</b> 上面的排序键在 <a 
href="../../../msdn.microsoft.com/xml/samples/multiple/multiple.htm" tppabs="http://msdn.microsoft.com/xml/samples/multiple/multiple.htm">XML/XSL Viewer 
        </a>s的"sort-bidder-price-.xsl"中被用到.</span></p>
      <p><span class="normal105"><a href="../../../msdn.microsoft.com/xml/samples/multiple/multiple.zip" tppabs="http://msdn.microsoft.com/xml/samples/multiple/multiple.zip"><img 
alt=Download border=0 height=20 src="Sorting XML.files/icodownl.gif" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Sorting%20XML.files/icodownl.gif" width=16> 
        Download this sample</a>. </span></p>
</td>
  </tr>
  <tr> 
    <td colspan="3" height="2"><font face="宋体" lang="ZH-CN" size=3> </font> <rev></rev><font face="宋体" lang="ZH-CN" size=3></font> 
      <hr size="1">
      <p align="center"><font face="宋体" lang="ZH-CN">[<a href="#top">返回标题</a>][<a href="../application.htm" tppabs="http://www.xml.org.cn:8188/application/application.htm" target="_parent">返回应用</a>][<a href="../../default.asp.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="mailto:xmlteam@egroups.com">欢迎投稿</a>]</font></p>
      <p align="center">最后更新:1999年9月15日<br>
        <font color="#FF0033" size="-1">本站点所刊文章版权,均归本站点所有。署名作者拥有其著作权。<br>
        未经</font><font color="#FF0033"><a href="mailto:xmlteam@egroups.com"><font color="#6666FF" size="-1">允许</font></a></font><font color="#FF0033" size="-1">,不得随意转载,违者必究!!</font> 
      </p>
    </td>
  </tr>
</table>
<h2 ALIGN="CENTER">&nbsp;</h2>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3> 
<P ALIGN="JUSTIFY">&nbsp;</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3></FONT> 
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -