Hi Adam,
I'll try to answer your question in parts..
q1) to create an xsl if element that tests the current
node to see if it is a level 0 tree_node element.
Ans -
<xsl:if test="self::tree_node and
not(parent::tree_node)">
</xsl:if>
If you are at a given node, this if condition
evaluates true if the node is at level 0(i.e., if it
is a tree_node element, and it has no tree_node
parent)
In the XML you gave, this condition will be true for
<tree_node id="7" value="Test"> node..
q2) how can I find out if a particular node is a
child, ancestor or peer of any given node.
Ans - Suppose node X is the context node, and there is
another node Y ;
X is child of Y, if this condition is true
<xsl:if test="parent::Y">
</xsl:if>
Y is an ancestor of X, if this condition is true
<xsl:if test="ancestor::Y">
</xsl:if>
Y is peer of X(following or preceding sibling), if
this condition is true
<xsl:if test="(following-sibling::Y) or
(preceding-sibling::Y)">
</xsl:if>
Regards,
Mukul
--- Adam J Knight <adam(_at_)brightidea(_dot_)com(_dot_)au> wrote:
Given the following xml structure, I want to create
an xsl if element that
tests the current node to see if it is a level 0
tree_node element.
<?xml version="1.0"?>
<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>
Here is my attached, pretty sad!!!!!
<xsl:if test="{count(self::*)=1}">
<xsl:apply-templates select="tree_node"/>
</xsl:if
Can someone give me the correct way to achieve this.
Also how can I found out if a particular node is a
child, ancestor or peer
Of any given node.
Thanks to anyone who response, muchly appreciated.
Cheers,
Adam
NB: "Pray as if everything depended upon God and
work as if everything
depended upon man."
__________________________________
Do you Yahoo!?
Yahoo! Mail - Easier than ever with enhanced search. Learn more.
http://info.mail.yahoo.com/mail_250
--~------------------------------------------------------------------
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>
--~--