|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] How to create index entry in xsl file?
Hello everyone, I would like to generate the indexes in the PDF output. I typed the following elements in the xsl file, but it is giving me error. Can someone guide me to what are the attributes/parameters i need to put in the xsl file to generate the index. <xsl:key name="letter" match="indexterm" use="substring(primary,1,1)"/> <xsl:key name="letter" match="indexterm" use="translate(substring(primary,1,1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> <xsl:apply-templates select="//indexterm[count(.| key('letter', translate(substring(primary,1,1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'))[1]) = 1]" mode="index-div"> <xsl:sort select="translate(primary, 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> </xsl:apply-templates> <xsl:key name="primary" match="indexterm" use="primary"/> <xsl:template match="indexterm" mode="index-div"> <!-- Get the group key (ie. first letter of index terms in this group --> <xsl:variable name="key" select="translate(substring(primary,1,1), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> <!-- Output label for current index group --> <xsl:value-of select="$key"/> <xsl:apply-templates select="key('letter', $key) [count(.|key('primary',primary)[1])=1]" mode="index-primary"> <xsl:sort select="translate(primary, 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/> </xsl:apply-templates> </xsl:template> <xsl:key name="primary" match="indexterm" use="primary"/> <xsl:template match="indexterm" mode="index-primary"> <!-- Find all occurences of index term --> <xsl:variable name="refs" select="key('primary', primary)"/> <!-- Output text of index term --> <xsl:value-of select="primary"/> <xsl:for-each select="$refs[not(secondary)]"> <!-- Create page number reference (print) or link with back reference (HTML) to each occurrence of the index term --> </xsl:for-each> <xsl:if test="$refs/secondary"> <!-- Process secondary level entries --> </xsl:if> </xsl:template> Thanks in advance, Kalpana
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






