[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

"Pruning" an xml "tree" based on nodes' ids

Bourne, Robert bourner at upmc.edu
Wed Sep 9 09:44:18 PDT 2009


  "Pruning"  an xml "tree" based on nodes' ids
All,

I am trying to prune an xml tree based on known ids for the nodes in that tree.

For example in the following code:

<tree ID="1">
                <branch ID="1">
                                <branch ID="4">
                                                <branch ID="8">
                                                                <leaf ID="15" />
                                                                <leaf ID="16" />
                                                                <leaf ID="25" />
                                                </branch>
                                </branch>
                                <branch ID="6">
                                                <branch ID="7">
                                                                <leaf ID="15" />
                                                </branch>
                                </branch>
                </branch>
                <branch ID="2">
                                <branch ID="13">
                                                <branch ID="14">
                                                                <branch ID="16">
                                                                                <leaf ID="18" />
                                                                </branch>
                                                </branch>
                                                <branch ID="65">
                                                                <branch ID="15">
                                                                                <leaf ID="25"/>
                                                                </branch>
                                                                <branch ID="166">
                                                                                <leaf ID="25" />
                                                                </branch>
                                                </branch>
                                </branch>
                </branch>
</tree>

If I know that I am ultimately after leaf with the ID of 15.  However, I also need the ancestor nodes that led me to that leaf.  I will know those IDs as well.  For example if I know that I'm in tree id 1 and the branches I took in order are 1,4,8, how can show a pruned xml tree where the final result is:

<tree ID="1">
                <branch ID="1">
                                <branch ID="4">
                                                <branch ID="8">
                                                                <leaf ID="15" />
                                                </branch>
                                </branch>
                </branch>
</tree>


I have been able to prune in to this:

<tree ID="1">
                <branch ID="1">
                                <branch ID="4">
                                                <branch ID="8">
                                                                <leaf ID="15" />


                                                </branch>
                                </branch>
                                <branch ID="6">
                                                <branch ID="7">
                                                                <leaf ID="15" />
                                                </branch>
                                </branch>
                </branch>
</tree>

But the problems comes in the fact that I don't know how many levels of branches there will be before I finally reach the leaf that I'm after.  It seems like I need to work backwards starting at the leaf and prune based on the ids that I have, but I can really see a way to do that.

Any suggestions would be greatly appreciated.

Regards,

Bob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://x-query.com/pipermail/talk/attachments/20090909/0688c0bf/attachment-0001.htm


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.