xsl-list
[Top] [All Lists]

RE: sorting and grouping

2004-10-19 11:01:42
Hi,

What environment are you using, i.e. target browser, etc.?

I ask because you would need to debug your stylesheet in a utility or IDE
that fits your needs - for example, I use Xselerator to debug stylesheets in
XSLT 1.0, and targeted to be used in IE6+ with MSXML 3.0 / 4.0, or in .NET
Applications.

If you need to target another XSL processor or want to use another IDE
because you have XSLT 2.0 stylesheets, you can try Oxygen or Stylus Studio,
and debug your stylesheet there targeting your specific browser using the
client's XSL processor.

HTH,
<prs/>

-----Original Message-----
From: gopinath_emmidisetty(_at_)schneider(_dot_)co(_dot_)uk
[mailto:gopinath_emmidisetty(_at_)schneider(_dot_)co(_dot_)uk] 
Sent: Tuesday, October 19, 2004 10:16 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] sorting and grouping

Hi,
 
I have an xml document with x number of documents and I want to display them
in columns in different pages say 1-10, 11-20, etc.  Also, I want to sort by
clicking the columns.  I have managed to display the records in different
pages and partly acheived the sorting.  But the sorting is applied to that
selected group of records for e.g., if 11-20 records are selected then
sorting is applied to 11-20 records.  I want to apply the sorting to all
records and then display only that group of records.  I have tried to change
the xsl file but not getting the result, I want.  
Also, I don't know whether it is possible to debug the xsl document.  Can
somebody look at my xml document and the xsl file and tell me what am I
doing wrong or any other possible ways of acheiving the results.
 
Please let me know, if I miss any information to help me.
 
Many thanks.
 
My XML file

<viewentries>
  <viewentry position="1">
    <entrydata columnnumber="0" name="AA_EMPSTAFFNUMBER">
      <text>1001</text></entrydata>
    <entrydata columnnumber="1" name="aa_EmpFirstName">
      <text>Shel</text></entrydata>
    <entrydata columnnumber="2" name="aa_EmpLastName">
      <text>Easey</text></entrydata>
    <entrydata columnnumber="3" name="aa_Status">
      <text>Awaiting first level review</text></entrydata>
  </viewentry>
  <viewentry position="2">
    <entrydata columnnumber="0" name="AA_EMPSTAFFNUMBER">
      <text>1002</text></entrydata>
    <entrydata columnnumber="1" name="aa_EmpFirstName">
      <text>Dave</text></entrydata>
    <entrydata columnnumber="2" name="aa_EmpLastName">
      <text>Johnny</text></entrydata>
    <entrydata columnnumber="3" name="aa_Status">
      <text>Awaiting employee acceptance</text></entrydata>
  </viewentry>
  <viewentry position="3">
    <entrydata columnnumber="0" name="AA_EMPSTAFFNUMBER">
      <text>1003</text></entrydata>
    <entrydata columnnumber="1" name="aa_EmpFirstName">
      <text>Rob</text></entrydata>
    <entrydata columnnumber="3" name="aa_EmpLastName">
      <text>Tom</text></entrydata>
    <entrydata columnnumber="4" name="aa_Status">
      <text>Awaiting third level review</text></entrydata>
  </viewentry>
  <viewentry position="4">
    <entrydata columnnumber="0" name="AA_EMPSTAFFNUMBER">
      <text>1004</text></entrydata>
    <entrydata columnnumber="1" name="aa_EmpFirstName">
      <text>Phil</text></entrydata>
    <entrydata columnnumber="3" name="aa_EmpLastName">
      <text>Byle</text></entrydata>
    <entrydata columnnumber="4" name="aa_Status">
      <text>Awaiting second level review</text></entrydata>
  </viewentry>
</viewentries>
 
My XSL file is

<xsl:stylesheet version="1.0">
 <xsl:output method="xml" omit-xml-declaration="yes"/>  <xsl:param
name="startDoc" select="1"/>  <xsl:param name="endDoc" select="4"/>
<xsl:param name="sortCol" select="3"/>
        
 <xsl:template match="/">
  <div>
   <table class="catalog_row1"><tr>
    <td>Total documents:<xsl:value-of
select="count(./viewentries/viewentry)" />
    </td>
   </tr></table>
   <br/>
<!--   <xsl:apply-templates select="viewentries" /> -->
   <xsl:apply-templates select="viewentries">
<!--       <xsl:sort 
select="viewentry/entrydata[(_at_)columnnumber=number($sortCol)]"/> -->
   </xsl:apply-templates>
  </div>
 </xsl:template>
 <xsl:template match="viewentries">
  <table class="catalog_table">
    <xsl:apply-templates select="viewentry[ (@position >=
number($startDoc)) and (@position &lt;= number($endDoc) ) ]">
      <xsl:sort select="entrydata[(_at_)columnnumber=number($sortCol)]"/>
    </xsl:apply-templates>
  </table>
 </xsl:template>
        
 <xsl:template match="viewentry">
  <xsl:if test="position()=1">
  <tr class="catalog_genre_head">
   <td colspan="4">
    View of documents - Total documents: <xsl:value-of
select="count(../viewentry)" />
   </td>
  </tr>
  <tr class="catalog_head">
   <td>EmpID</td>
   <td>First Name</td>
   <td>Last Name</td>
   <td>Status</td>
  </tr>
  </xsl:if>
<!--  <tr class="catalog_row0">  -->
  <tr class="catalog_row0">
<!--   <xsl:apply-templates select="entrydata" /> -->
   <xsl:apply-templates select="entrydata" />
  </tr>
 </xsl:template>

 <xsl:template match="entrydata[(_at_)columnnumber=0]">
 <td width="50">
  <a>
   <xsl:attribute name="href">
   /MyRef/Downloads/Domino/catview.nsf/0/<xsl:value-of select="text" 
/>?open
   </xsl:attribute><xsl:value-of select="text" /></a>  </td>
</xsl:template>  <xsl:template match="entrydata[(_at_)columnnumber=1]">
 <td width="150">
  <xsl:value-of select="text" />
 </td>
 </xsl:template>
 <xsl:template match="entrydata[(_at_)columnnumber=2]">
 <td width="150">
  <xsl:value-of select="text" />
 </td>
 </xsl:template>
 <xsl:template match="entrydata[(_at_)columnnumber=3]">
 <td width="300">
  <xsl:value-of select="text" />
 </td>
 </xsl:template>
    </xsl:stylesheet>
 
I am linking both xml and xsl through another html document using
Javascript.  The output will be something like this
 
Total documents:4 | Pages  1-2 3-4
View of documents - Total documents: 4
EmpID First Name Last Name Status
1002 Dave John Awaiting employee acceptance
1001 Shel Easey Awaiting first level review
1004 Phil Byle Awaiting second level review
1003 Rob Tom Awaiting third level review

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--


<Prev in Thread] Current Thread [Next in Thread>
  • sorting and grouping, gopinath_emmidisetty
    • RE: sorting and grouping, Pieter Reint Siegers Kort <=