2010-11-23 5 views
0

Wie die Schrittvariable in Xslt hinzufügenxml xslt wie Schritt Variable verwenden

i Tisch haben, mit Studenten Details,

i S.No vor dem Vorname,

hinzufügen möchten wie

1 firstnamJoth LastNameJO LocaitonTexas 2 FirstMithul LastNameFig LocationArron

In xslt, wie dies zu tun, ich weiß, wi th Xslt können wir tun, ich weiß nicht, wo ich anfangen soll,

hier meine XML und XSLT-Code

<?xml version="1.0" encoding="ISO-8859-1"?> 
<?xml-stylesheet type="text/xsl" href="studentlist.xsl"?> 
<details> 

     <student> 
     <a>i want serial no here</a> 
     <firstname>SURESH</firstname> 
     <lastname>VENKAT</lastname> 
     <dob>09-08-1987</dob> 
     <location>AVADI</location> 
    </student> 
    <student> 
     <a>i want serial no here</a> 
     <firstname>BHARANIKUMAR</firstname> 
     <lastname>SRINIVASAN</lastname> 
     <dob>09-08-1984</dob> 
     <location>VILLIVAKKAM</location> 
    </student> 



</details> 


<?xml version="1.0" encoding="ISO-8859-1"?> 

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>Student Details</h2> 
    <table border="1"> 
    <tr bgcolor="green"> 
     <th>FIRSTNAME</th> 
     <th>LASTNAME</th> 
     <th>DOB</th> 
     <th>LOCATION</th> 
    </tr> 


    <xsl:for-each select="details/student"> 
    <xsl:sort select="firstname"/> 
    <tr> 


     <td><xsl:value-of select="firstname"/></td> 
     <td><xsl:value-of select="lastname"/></td> 
     <td><xsl:value-of select="dob"/></td> 
     <td><xsl:value-of select="location"/></td> 
    </tr> 
    </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 

</xsl:stylesheet> 
+0

FYI, Variablen in XSLT variieren nicht, daher gibt es keine Möglichkeit, eine Variable zu erhöhen (es sei denn, Sie zählen Rekursion ...). Aber wie Sie sehen können, gibt es normalerweise Möglichkeiten, äquivalente Funktionalität zu erhalten. – LarsH

Antwort

4

Mit Ihnen aktuelle Implementierung sollten Sie in der Lage sein zu verwenden:

<td><xsl:value-of select="position()"/></td> 

innerhalb die Schleife, um eine Zahl auszugeben, die für jede Iteration erhöht wird.

+1

+1 Richtige Antwort. –

+0

Aber wenn es mit Paging verwendet wird, dann auf der nächsten Seite hat es wieder mit 1 begonnen ... Wie löst man das ...? – Ankur