xsl-list
[Top] [All Lists]

Basic ques. about ancestor and child elements with same name

2003-01-03 09:24:00
Hy,

Lets say I have something like this:

<tree>
        <branch>
                <name> branch1 </name>
                <desc> long branch </desc> 
        
                <branch>
                  <name> branch2 </name>
                  <desc>  short branch</desc> 
                </branch>

        </branch>
</tree>

How can I output both branch names and their description, without using any id 
or other attributes or other names for the elements,
my problem is how to output which have the same name as the ancestor. I tried 
something like this but know that's wrong:


<xsl:template match="tree">
                         <xsl:apply-templates select="branch"/>
        </xsl:template>
        
        
         <xsl:template match="branch">
                        <xsl:apply-templates select="./name"/>
                        <xsl:apply-templates select="./desc"/>
        
        </xsl:template>
        
        <xsl:template match="branch/name">
                <tr>
                 <td colspan="3"><p><b><xsl:apply-templates/></b></p>
                 </td>
                </tr>
        </xsl:template>
        
        <xsl:template match="branch/desc">
                <tr>
                 <td colspan="3"><p><xsl:apply-templates/></p>
                 </td>
                </tr>           
        </xsl:template>
</xsl:template>

I want to output branch after branch with its name and desc, so <xsl:template 
match="/*/branch"> just gives me the second branch and not the first,
so how do I process child-elements and ancestor-elements with the same name, 
but I dont want to use <xsl:apply-templates="//name"> , because
this will output the two names directly and not in their right position.

thanks again for being regardful to a beginner

Homer30



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



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