首先,您不需要「逃避」像\'Talking Out\'
這樣的錯誤,只需使用'Talking Out'
即可。
其次,xsl:sort
指令只能是xsl:apply-templates
或xsl:for-each
說明孩子在XSLT 1.0
三,XSLT樣式:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Agents">
<table>
<xsl:apply-templates>
<xsl:sort select="time" data-type="number" order="descending"/>
</xsl:apply-templates>
</table>
</xsl:template>
<xsl:template match="AgentSales[State='Talking Out']">
<tr>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="AgentSales/*">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="AgentSales/Reason|AgentSales"/>
</xsl:stylesheet>
有了這個輸入:
<Agents>
<AgentSales>
<AgentName>WRIGHT SIMMONS NATHANIEL</AgentName>
<State>Talking Out</State>
<Reason>whatever</Reason>
<time>3</time>
</AgentSales>
<AgentSales>
<AgentName>SOMEONE</AgentName>
<State>Talking In</State>
<Reason>whatever</Reason>
<time>2</time>
</AgentSales>
<AgentSales>
<AgentName>SOMEONE ELSE</AgentName>
<State>Talking Out</State>
<Reason>whatever</Reason>
<time>5</time>
</AgentSales>
</Agents>
輸出:
<table>
<tr>
<td>SOMEONE ELSE</td>
<td>Talking Out</td>
<td>5</td>
</tr>
<tr>
<td>WRIGHT SIMMONS NATHANIEL</td>
<td>Talking Out</td>
<td>3</td>
</tr>
</table>
「\」在那裏,因爲這是更大的PHP腳本的一部分。我會排除一下,看看我能得到什麼。 – Denoteone 2010-12-09 17:04:16