xml - Sort Data when not using a for-each loop -


i want sort xml in specific order based of value of node "reason"

i have xml

  <agentsales>     <agentname>meyer rick</agentname>     <state>talking out</state>     <reason>undefined</reason>     <time>29:09</time>   </agentsales>   <agentsales>     <agentname>balentine james</agentname>     <state>talking out</state>     <reason>undefined</reason>     <time>16:07</time>   </agentsales>   <agentsales>     <agentname>shoemaker eric</agentname>     <state>talking out</state>     <reason>undefined</reason>     <time>08:21</time>   </agentsales>   <agentsales>     <agentname>harvey michael</agentname>     <state>talking out</state>     <reason>undefined</reason>     <time>02:11</time>   </agentsales>   <agentsales>     <agentname>morris branden</agentname>     <state>talking out</state>     <reason>undefined</reason>     <time>02:05</time>   </agentsales>   <agentsales>     <agentname>forer david</agentname>     <state>talking out</state>     <reason>undefined</reason>     <time>01:15</time>   </agentsales> 

and here current style. ignores agentsales has state of "talking out" goes down line , shows rest of data as-is. want sort data time while still not showing agentsales "talking out" , "talking in" pretty sure have update select to:

<xsl:apply-templates select="newdataset/agentsales[state!=\'talking out\'] || newdataset/agentsales[state!=\'talking in\']"/> 

but how sort rest of data leftover?

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform">     <xsl:template match="/">         <html>             <body>                 <table cellpadding="3" cellspacing="0" width="390">                     <tr>                         <th style="text-align:left;"><span style="font:20px arial; font-weight:bold;">agent name</span></th>                         <th style="text-align:center;"><span style="font:20px arial; font-weight:bold;">state</span></th>                         <th style="text-align:center;"><span style="font:20px arial; font-weight:bold;">time</span></th>                     </tr>                     <xsl:apply-templates select="newdataset/agentsales[state!=\'talking out\']"/>                 </table>             </body>         </html>     </xsl:template>      <xsl:template match="agentsales">         <tr>             <xsl:if test="(position() mod 2 = 1)">                 <xsl:attribute name="bgcolor">#cccccc</xsl:attribute>             </xsl:if>             <td style="text-align:left;"><span style="font:14px arial; font-weight:bold;"><xsl:value-of select="agentname"/></span></td>             <td style="text-align:center;"><span style="font:14px arial; font-weight:bold;"><xsl:value-of select="state"/></span></td>             <td style="text-align:center;"><span style="font:14px arial; font-weight:bold;"><xsl:value-of select="time"/></span></td>         </tr>     </xsl:template>  </xsl:stylesheet> 

use:

<xsl:apply-templates select=   "newdataset/agentsales            [not(state='talking out')           ,             not(state='talking in')            ] ">    <xsl:sort select="time"/> <xsl:apply-templates  

Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -