xsl-list
[Top] [All Lists]

RE: RE: Display children of node with given Id!!

2005-02-16 04:36:16


Following on from my previous post.
Thanks to those who replied, it is much appreciated.
This stylesheet matches all nodes that are descended from 
node with a given id.

Two Things: 
1) How do I modify this stylesheet to include the rendering 
of all top level tree nodes? Can I do this in the 
<xsl:apply-templates select=""/> element. I have tried 
<xsl:apply-templates select="parent::tree or //tree_node[(_at_)id 
= $id]"/>???

2) How do I modify this stylesheet to only display immediate 
children(not grandchildren ect) descended from the node with 
a given id. In the case node id = 7 , nodes 8, 9 will only be 
displayed. Not 10.


COMPLETE XML STRUCTURE:

<tree>
  <tree_node id="7" value="Test">
    <tree_node id="8" value="Test Sub"/>
    <tree_node id="9" value="Test Sub One">
      <tree_node id="10" value="Test Sub Two"/>
    </tree_node>
  </tree_node>
  <tree_node id="11" value="Test 2"/>
</tree>

For 1) use <xsl:apply-templates select="/tree/tree_node"/> (as I'm
assuming your 'top level tree nodes' are <tree_nodes>?  Maybe you mean
something else?)

For 2) use <xsl:apply-templates select="//tree_node[(_at_)id = $id]/tree"
mode="child_only"/> (note the mode) and then add a moded template that
matches <tree_node> but doesn't contain an <xsl:apply-templates/>

cheers
andrew

--~------------------------------------------------------------------
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>