Hi all,
Hooray!!!
I may have made some progress, I hope!!!
Question:
Given the following xml/xsl files:
How do I stop stylesheet rendering or exclude nodes from rendering once a
particular nodes children are rendered. Ie: If the current node selected is
node with id(10); it, its ancestors and its children are displayed. However,
the children of its children(12,13) are node rendered.
The modification I believe with need to occur here:
<xsl:apply-templates select="//tree_node[parent::tree or
ancestor::tree_node[(_at_)id=$id]]"/>
COMPLETE XML FILE:
<tree>
<tree_node id="7" value="Test">
<tree_node id="8" value="Test Sub One"/>
<tree_node id="9" value="Test Sub One">
<tree_node id="10" value="Test Sub Two"/>
<tree_node id="11" value="Test Sub Two">
<tree_node id="12" value="Test Sub Three"/>
<tree_node id="13" value="Test Sub Three"/>
</tree_node>
</tree_node>
</tree_node>
</tree>
COMPLETE XSL FILE:
<?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}&action=add">add</a>
</td>
</tr>
<xsl:apply-templates select="//tree_node[parent::tree or
ancestor::tree_node[(_at_)id=$id]]"/>
</table>
</xsl:template>
<xsl:template match="tree_node">
<tr>
<td>
<table width="100%">
<tr>
<td align="right" width="{count(ancestor-or-self::*) * 10}">
<xsl:choose>
<xsl:when test="child::tree_node">
<a href="{$url}&node={(_at_)id}">+</a>
</xsl:when>
<xsl:otherwise>
-
</xsl:otherwise>
</xsl:choose>
</td>
<td>
<xsl:value-of select="@value"/>
</td>
<td align="right" width="25%">
<a
href="{$url}&action=edit&node={(_at_)id}">edit</a>
<a
href="{$url}&action=delete&node={(_at_)id}">delete</a>
</td>
</tr>
</table>
</td>
</tr>
<xsl:apply-templates select="child::tree_node[(_at_)id = $id]"/>
</xsl:template>
</xsl:stylesheet>
Cheers,
Adam
NB: "Pray as if everything depended upon God and work as if everything
depended upon man."
--~------------------------------------------------------------------
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>
--~--