XSLT sorting 問題

  1. <xsl:variable name="school_sort" value="@id" />
  2. <xsl:for-each select="schools/school">
  3.         <xsl:sort select="$school_sort" />
  4.         <tr>
  5.                 <th><xsl:value-of select="@id" /></th>
  6.                 <td><xsl:value-of select="@name" /></td>
  7.         </tr>
  8. </xsl:for-each>
複製代碼
我用呢個方法做唔到,不過有乜方法?
我跟過呢兩個方法:
http://xml.sys-con.com/node/40206
http://www.stylusstudio.com/xsllist/200105/post71200.html
都係搞唔掂。
幫幫手,好緊急,唔該晒

sample xml, sample xslt

TOP

回覆 1# 的帖子

Simply <xsl:sort select="@id" /> is enough. No xsl:variable is needed.

Test code below:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="temp.xslt"?>
  3. <schools>
  4.         <school id="4" name="four" />
  5.         <school id="3" name="three" />
  6.         <school id="5" name="five" />
  7.         <school id="2" name="two" />
  8.         <school id="1" name="one" />
  9. </schools>
複製代碼
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  3.         <xsl:output method="html" indent="yes" media-type="text/html" encoding="UTF-8" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" />
  4.         <xsl:template match="/">
  5.                 <html>
  6.                         <head>
  7.                                 <title>Test</title>
  8.                         </head>
  9.                         <body>
  10.                                 <table>
  11.                                         <tbody>
  12.                                                 <xsl:for-each select="schools/school">
  13.                                                         <xsl:sort select="@id" />
  14.                                                         <tr>
  15.                                                                 <th scope="row"><xsl:value-of select="@id" /></th>
  16.                                                                 <td><xsl:value-of select="@name" /></td>
  17.                                                         </tr>
  18.                                                 </xsl:for-each>
  19.                                         </tbody>
  20.                                 </table>
  21.                         </body>
  22.                 </html>
  23.         </xsl:template>
  24. </xsl:stylesheet>
複製代碼

TOP

原帖由 hdvd-rom 於 2008-12-14 01:18 發表
sample xml, sample xslt

點 sample?
原帖由 commander 於 2008-12-14 12:05 發表
Simply  is enough. No xsl:variable is needed.

Test code below:

問題係我想用 JavaScript 控制 sorting 既方法…
仲有一個問題係 for-each 既 select 都用 JavaScript 控制

[ 本帖最後由 bananasims 於 2008-12-14 18:09 編輯 ]

TOP

解決咗,到另外一個問題,點樣可以令 JavaScript 改 XSLT 既 variable?

TOP