[xsl] creating a toc with links to content

Subject: [xsl] creating a toc with links to content
From: Patricia Quintin <pquintin@xxxxxxxxxxxxxxxxxx>
Date: Thu, 03 May 2001 09:27:33 -0400
Hi,
I have an xml document with multiple items that looks like this:

<taglib>
      <tag>
            <name>first tag</name>
            <info>info about this tag</info>
            <attribute>
                  <name>attribute 1</name>
                  <info>info about attribute 1</info>
            </attribute>
            <attribute>
                  <name>attribute 2</name>
                  <info>info about attribute 1</info>
            </attribute>
      </tag>
       <tag>
            <name>second tag</name>
            <info>info about this tag</info>
            <attribute>
                 <name>attribute 1</name>
                  <info>info about attribute 1</info>
            </attribute>
            <attribute>
                  <name>attribute 2</name>
                  <info>info about attribute 1</info>
            </attribute>
      </tag>
</taglib>

I want the xsl to generate a document that creates an alphabetical list
of tag names at the top of the document, with each tag name being a a
link to the full description of the the tag further down in the
document.

So far I've got the xsl creating the alphabetical list and then the
descriptions of each tag (also alphabetical), but the link tags aren't
working. Anybody got any ideas?

here's the xsl:

<?xml version="1.0"?>

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

<html>
     <head>
         <title>xr tag library</title>
         <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"/>
     </head>
<body bgcolor="#FFFFFF" text="#000000">

<h2>tag library</h2>
<hr/>

<xsl:for-each select="taglib/tag" order-by="+ name"
xmlns:xsl="http://www.w3.org/TR/WD-xsl";>
     <br/><a href="#{name}"><xsl:value-of select="name"/></a>
</xsl:for-each>

<hr/>
<h2>tag definitions</h2>
<hr/>

<xsl:template match="taglib">
    <xsl:for-each select="tag">
         <xsl:apply-templates select="tag">
             <xsl:sort select="name"/>
         </xsl:apply-templates>
    </xsl:for-each>
</xsl:template>

<xsl:template match="tag">
     <xsl:for-each select="taglib/tag" order-by="+ name"
xmlns:xsl="http://www.w3.org/TR/WD-xsl";>
          <a name="{name}"></a>
          <h3><xsl:value-of select="name"/></h3>
          <br/><b>info:</b> <xsl:value-of select="info"/>
          <br/><br/><i>ATTRIBUTES: </i>
          <xsl:for-each  select="attribute">
                <br/><b><xsl:value-of select="name"/></b>
                <ul>
                    <li>info: <xsl:value-of select="info"/></li>
                </ul>
           </xsl:for-each>
          <hr/>
     </xsl:for-each>
</xsl:template>


</body>
</html>

</xsl:template>
</xsl:stylesheet>


I hope I haven't given you too much/too little information. Any
suggestions will be greatly appreciated!

Thanks,
Pat Quintin




Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Current Thread