Re: [xsl] Table of contents - for-each question

Subject: Re: [xsl] Table of contents - for-each question
From: llobash@xxxxxxxx
Date: Tue, 24 Jan 2006 12:44:33 -0500
David:

Got a response back from an EAD listserv that worked like a charm. See
below if interested. Thanks for the help. - Lynn

Since we're already inside a for-each loop, which mean that the current
context must be either head, c01[@level='series'], or c02
[@level='subseries'] ...
I'd suggest you try replacing:

<xsl:value-of select='head | c01
[@level="series"]/did/unittitle | c02 [@level="subseries"]/did/unittitle'/>

with:

<xsl:choose>
  <xsl:when test="name() = 'head'">
    <xsl:value-of select="."/>
  </xsl:when>
  <xsl:otherwise>
    <xsl:value-of select="did/unittitle"/>
  </xsl:otherwise>
</xsl:choose>




                                                                           
             David Carlisle                                                
             <davidc@xxxxxxxxx                                             
             >                                                          To 
                                       xsl-list@xxxxxxxxxxxxxxxxxxxxxx     
             01/24/2006 12:36                                           cc 
             PM                                                            
                                                                   Subject 
                                       Re: [xsl] Table of contents -       
             Please respond to         for-each question                   
             xsl-list@xxxxxxxx                                             
              lberrytech.com                                               
                                                                           
                                                                           
                                                                           
                                                                           





couple of errors in my posting

   you could use something like //*[self::c02 or self::c03]
                                   [head or @level="subseries" or
@level="series"]

That should be .//*  not //* (to search down from the current node, not
the whole document)



   <xsl:apply-templates select="*[self::c02 or self::c03]
                                [head or @level="subseries" or
                                @level="series"]"/>


that needs the attribute mode="toc" adding so you use the table of
contents mode not your normal modes that typeset the body of the
document.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread