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 <= 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