RE: [xsl] creating a toc with links to content

Subject: RE: [xsl] creating a toc with links to content
From: Meltem Kogelbauer <meltem.kogelbauer@xxxxxxxxxxxxxxxxxx>
Date: Thu, 3 May 2001 17:01:22 +0100
I haven't thoroughly looked at your code but when I tried the <xsl:attribute
name="name"><xsl:value-of select="name" /></xsl:attribute>
in the first each-loop (the first appears on top) it works quite well.
Comments: When you use apply-templates you do not need to use for-eash loop
for the same element.

and this one

<a name="{name}"></a>

what is it supposed to do in this form?

Meltem


-----Original Message-----
From: Patricia Quintin [mailto:pquintin@xxxxxxxxxxxxxxxxxx]
Sent: 03 May 2001 2:28 PM
To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] creating a toc with links to content


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





 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread