2013-12-05 7 views
1

Я новичок в языке XSLT, поэтому я не сейчас, как это сделать. Я хочу сортировать все строки по категориям из таблицы, за исключением счетных продуктов .. я не хочу влиять на порядок выключения count_products..please help..the кода я сделал до сих порxslt с таблицей html сортировать конкретные td

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <xsl:output method="html"/> 
    <xsl:template match="/"> 
    <html> 
    <head> 
     <title></title> 
     <link rel="stylesheet" href="css/xsl_style.css" type="text/css"/> 
    </head> 
    <body> 
    <div class="tableStyle" > 
    <table> 
     <tr bgcolor="#B5E4EA"> 
     <td>A/A</td> 
     <td>Product Name</td> 
     <td>Price</td> 
     <td>Corpration</td> 
     <td>Category</td> 
     </tr> 
     <xsl:for-each select="auction_products/product"> 
     <xsl:sort select="category"/> 
     <tr> 
      <td><a href="live_auctions.php"><xsl:value-of select="count_products"/></a></td> 
      <td><a href="live_auctions.php"><xsl:value-of select="product_name"/></a></td> 
      <td><a href="live_auctions.php"><xsl:value-of select="price"/></a></td> 
      <td><a href="live_auctions.php"><xsl:value-of select="corporation"/></a></td> 
      <td><a href="live_auctions.php"><xsl:value-of select="category"/></a></td> 
     </tr> 
     </xsl:for-each> 
    </table> 
    </div> 
    </body> 
    </html> 
    </xsl:template> 
</xsl:stylesheet> 
+0

Этот вопрос не имеет смысла - вы сортируете _rows_, а не столбцы. –

+0

извините .. вы правы. Я хочу сортировать строки по категориям, не влияя на count_products. – user3071235

ответ

1

Если вы хотите, чтобы строки сортируются но count_products колонок, чтобы выйти в порядке документа, то вы бы нужен обмануть, как это:

<xsl:variable name="allProducts" select="auction_products/product" /> 
    <xsl:for-each select="$allProducts"> 
    <xsl:sort select="category"/> 
    <xsl:variable name="pos" select="position()" /> 
    <tr> 
     <td><a href="live_auctions.php"><xsl:value-of select="$allProducts[$pos]/count_products"/></a></td> 
     <td><a href="live_auctions.php"><xsl:value-of select="product_name"/></a></td> 
     <td><a href="live_auctions.php"><xsl:value-of select="price"/></a></td> 
     <td><a href="live_auctions.php"><xsl:value-of select="corporation"/></a></td> 
     <td><a href="live_auctions.php"><xsl:value-of select="category"/></a></td> 
    </tr> 
    </xsl:for-each> 

взять count_products ребенка от п-го продукта независимо от сортировка применяется для каждого из них.

Конечно, если count_products действительно просто счетчик (1, 2, 3, ...), то вы можете просто использовать <xsl:value-of select="$pos" /> напрямую.

+0

+1 вы бог. Это много. Я пытаюсь выяснить это через три дня. – user3071235

+0

@ user3071235, если ответ сработал для вас, не стесняйтесь принять его (отметьте отметку слева) –

+0

извините, я новичок на сайте..отчет снова .. серьезный ответ !! – user3071235

Смежные вопросы