[xsl] Display children of node with given id!!

Subject: [xsl] Display children of node with given id!!
From: "Adam J Knight" <adam@xxxxxxxxxxxxxxxxx>
Date: Tue, 15 Feb 2005 20:04:56 +1000
Hi all,

I have had it. I don't have a clue.
I want to display all the children of node with id (ie: 7) should be: 8,9.

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>


COMPLETE XSL STRUCTURE:

<?xml version="1.0"?>
<xsl:stylesheet version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

  <xsl:param name="css"/>
  <xsl:param name="url"/>
  <xsl:param name="id"/>
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/">
    <table cellspacing="0" cellpadding="2" class="{$css}">
      <tr>
	  <td class="ui_tree_bar">
          <a href="{$url}&amp;action=add">add</a>
        </td>
	</tr>
      <xsl:apply-templates/>
    </table>
  </xsl:template>

  <xsl:template match="tree_node[parent::tree or
child::tree_node[@id=$id]]">

	<tr>
        <td>
          <table width="100%">
	      <tr>
	        <td align="right" width="{count(ancestor-or-self::*) * 10}">
                <a href="{$url}&amp;node={@id}">+</a>
              </td>
	        <td>
	          <xsl:value-of select="@value"/>
	        </td>
		  <td width="25%">
		    <a href="{$url}&amp;action=edit&amp;node={@id}">edit</a>
		    <a
href="{$url}&amp;action=delete&amp;node={@id}">delete</a>
		  </td>
            </tr>
	    </table>
	  </td>
      </tr>
	<xsl:apply-templates/>

  </xsl:template>

</xsl:stylesheet>

This stylesheet doesn't do it, appreciate any corrections.
Cheers,
Adam
 

Current Thread