xsl-list
[Top] [All Lists]

Re: Table of contents - for-each question

2006-01-24 10:44:33
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[(_at_)level='series'], or c02
[(_at_)level='subseries'] ...
I'd suggest you try replacing:

<xsl:value-of select='head | c01
[(_at_)level="series"]/did/unittitle | c02 
[(_at_)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(_at_)nag(_dot_)co(_dot_)uk                                 
            
             >                                                          To 
                                       
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com     
             01/24/2006 12:36                                           cc 
             PM                                                            
                                                                   Subject 
                                       Re: [xsl] Table of contents -       
             Please respond to         for-each question                   
             xsl-list(_at_)lists(_dot_)mu                                       
      
              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
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>